Interested in computer science? Want to learn programming, computer hardware, software engineering and much more? Get your degree in computer science at Bridgewater College.
This course is an introduction to computer programming using Java a contemporary objectoriented language. Topics covered include the Java programming language ad fundamental concepts for algorithm and software design. These include problemsolving methods procedural and data abstraction topdown modular design and proper programming style. Students gain experience using these skills to design code debug and document computer programs. The course contains 3 credit hours of lecture and 2 hours of lab per week.
Unit(s): 4
This course will further develop and expand upon the topics introduced in CSCI 105. Topics will include objectoriented concepts such as inheritance polymorphism and exception handling. Other topics include IO multithreading and graphical user interfaces. The objectoriented programming language Java will be used to illustrate these topics. Problem solving algorithm development program design and testing are emphasized. The course contains 3 credit hours of lecture and 2 hours of lab per week. Prerequisite CSCI 105 Corequisite MATH 110
Unit(s): 4
Advanced programming techniques will be covered with extensive use of recursion and dynamic data structures. Abstract data types including lists stacks queues trees and hash tables are studied. Algorithms for searching and sorting are explored. The topics in this course provide an essential foundation for the further study of computer science. The objectoriented programming language Java will be used to illustrate these topics. Prerequisite CSCI 200 and MATH 120
Unit(s): 3
An introduction to the fundamental mathematical concepts and structures used in computer science. Topics include propositional and predicate logic sets functions and relations mathematical induction counting principles and recurrences trees and graphs. Topics will be implemented in C Java Ruby Python or mathematical programming languages such as Mathematica or MATLAB. Prerequisite
A precalculus course for students continuing in mathematics. Includes topics in algebra functions and relations and trigonometry. Prerequisites MATH 110 or satisfactory performance on placement test
Unit(s): 3
Unit(s): 3
Impact of data structure design on algorithm design and performance. Topics covered include graph and tree algorithms performance analysis testing and classification of algorithms and design techniques. Topics will be implemented in C Java Ruby Python or mathematical programming languages such as Mathematica or MATLAB. Prerequisites CSCI205
An introduction to the fundamental mathematical concepts and structures used in computer science. Topics include propositional and predicate logic sets functions and relations mathematical induction counting principles and recurrences trees and graphs. Topics will be implemented in C Java Ruby Python or mathematical programming languages such as Mathematica or MATLAB. Prerequisite
A precalculus course for students continuing in mathematics. Includes topics in algebra functions and relations and trigonometry. Prerequisites MATH 110 or satisfactory performance on placement test
Unit(s): 3
Unit(s): 3
and two math courses from the following list
Differential and integral calculus for the student who needs a working knowledge of the subject but does not plan to pursue more advanced study in mathematics. Includes theory and application of limits derivatives and integrals. Prerequisite MATH 120 or satisfactory performance on placement test Credit may not be received for both MATH 130 and MATH 131
Unit(s): 3
or
Study of differential calculus of a single variable. Applications of the derivative are made to curve sketching maxmin problems and linear approximation and IHopitals Rule. Also included are applications of the Intermediate Value Theorem and Mean Value Theorem. Credit may not be received for both MATH 130 and 131. Prerequisites MATH 120 or satisfactory performance on placement test
Unit(s): 3
Study of integral calculus of a single variable. Included are techniques of integration and numerical methods of integration. Applications of the integral are made to computing area volume arc length and selected topics. Prerequisite MATH 131
Unit(s): 3
Basic descriptive statistics probability hypothesis testing correlation and regression. Statistical computer software is used to analyze data. Prerequisites MATH 118 MATH 110 MATH 115 or satisfactory performance on placement test
Unit(s): 3
Emphasis on finite dimensional vector spaces and the algebra of matrices. Vector topics include ndimensional vectors dot product norm orthogonality lines planes projections and cross products. Matrix topics include systems of equations matrix operations Gauss elimination determinants eigenvalues and eigenvectors. Prerequisites MATH 120
Unit(s): 3
Alternate years offered 20172018
Unit(s): 3
This course covers principles of computer operating systems including the management of processes memory IO devices and file systems. Other topics include issues of scheduling security and concurrency distributed systems and virtualization. Students will gain practical experience working with the LINUX operating system and the C programming language. Prerequisites
Advanced programming techniques will be covered with extensive use of recursion and dynamic data structures. Abstract data types including lists stacks queues trees and hash tables are studied. Algorithms for searching and sorting are explored. The topics in this course provide an essential foundation for the further study of computer science. The objectoriented programming language Java will be used to illustrate these topics. Prerequisite CSCI 200 and MATH 120
Unit(s): 3
An introduction to the fundamental mathematical concepts and structures used in computer science. Topics include propositional and predicate logic sets functions and relations mathematical induction counting principles and recurrences trees and graphs. Topics will be implemented in C Java Ruby Python or mathematical programming languages such as Mathematica or MATLAB. Prerequisite
A precalculus course for students continuing in mathematics. Includes topics in algebra functions and relations and trigonometry. Prerequisites MATH 110 or satisfactory performance on placement test
Unit(s): 3
Unit(s): 3
and two math courses from the following list
Differential and integral calculus for the student who needs a working knowledge of the subject but does not plan to pursue more advanced study in mathematics. Includes theory and application of limits derivatives and integrals. Prerequisite MATH 120 or satisfactory performance on placement test Credit may not be received for both MATH 130 and MATH 131
Unit(s): 3
or
Study of differential calculus of a single variable. Applications of the derivative are made to curve sketching maxmin problems and linear approximation and IHopitals Rule. Also included are applications of the Intermediate Value Theorem and Mean Value Theorem. Credit may not be received for both MATH 130 and 131. Prerequisites MATH 120 or satisfactory performance on placement test
Unit(s): 3
Study of integral calculus of a single variable. Included are techniques of integration and numerical methods of integration. Applications of the integral are made to computing area volume arc length and selected topics. Prerequisite MATH 131
Unit(s): 3
Basic descriptive statistics probability hypothesis testing correlation and regression. Statistical computer software is used to analyze data. Prerequisites MATH 118 MATH 110 MATH 115 or satisfactory performance on placement test
Unit(s): 3
Emphasis on finite dimensional vector spaces and the algebra of matrices. Vector topics include ndimensional vectors dot product norm orthogonality lines planes projections and cross products. Matrix topics include systems of equations matrix operations Gauss elimination determinants eigenvalues and eigenvectors. Prerequisites MATH 120
Unit(s): 3
. Alternate years offered 20162017
Unit(s): 3
Introduction to computer systems and their organization. Topics include logic gate component and system level organization of generic computing systems. Bus architecture memory organization data representation and processor design are discussed. Includes an introduction to assembly language programming with appropriate laboratory assignments. Prerequisites CSCI205 CSCI225 and two math courses from the following list
Differential and integral calculus for the student who needs a working knowledge of the subject but does not plan to pursue more advanced study in mathematics. Includes theory and application of limits derivatives and integrals. Prerequisite MATH 120 or satisfactory performance on placement test Credit may not be received for both MATH 130 and MATH 131
Unit(s): 3
or
Study of differential calculus of a single variable. Applications of the derivative are made to curve sketching maxmin problems and linear approximation and IHopitals Rule. Also included are applications of the Intermediate Value Theorem and Mean Value Theorem. Credit may not be received for both MATH 130 and 131. Prerequisites MATH 120 or satisfactory performance on placement test
Unit(s): 3
Study of integral calculus of a single variable. Included are techniques of integration and numerical methods of integration. Applications of the integral are made to computing area volume arc length and selected topics. Prerequisite MATH 131
Unit(s): 3
Basic descriptive statistics probability hypothesis testing correlation and regression. Statistical computer software is used to analyze data. Prerequisites MATH 118 MATH 110 MATH 115 or satisfactory performance on placement test
Unit(s): 3
Emphasis on finite dimensional vector spaces and the algebra of matrices. Vector topics include ndimensional vectors dot product norm orthogonality lines planes projections and cross products. Matrix topics include systems of equations matrix operations Gauss elimination determinants eigenvalues and eigenvectors. Prerequisites MATH 120
Unit(s): 3
Alternate years offered 20162017
Unit(s): 3
This course is a projectbased course that covers the tools and processes used in modern software development. Students will work as a team to design implement test and document a software system for an outside client. Lecture topics include software development strategies problem elicitation analysis and modeling patterns and team communication. Prerequisites Senior standing in the computer science major or both
Advanced programming techniques will be covered with extensive use of recursion and dynamic data structures. Abstract data types including lists stacks queues trees and hash tables are studied. Algorithms for searching and sorting are explored. The topics in this course provide an essential foundation for the further study of computer science. The objectoriented programming language Java will be used to illustrate these topics. Prerequisite CSCI 200 and MATH 120
Unit(s): 3
and permission by instructor.
Unit(s): 3
Principles of computer operating systems including the user and programmer interfaces and the management of processes memory IO devices files and networks. Covers issues of scheduling security concurrency and distributed algorithms. Provides practical experience working with the UNIX system. Practical UNIX network design and network security will be discussed. Assignments will be programmed in C and various scripting languages. Prerequisites CSCI 205 225 and 340 Alternate years offered 20172018
Unit(s): 3
Offers a general approach to the use of Information Systems in management education and government. Topics include computer terminology data communications system design computer ethics humantocomputer interfaces and computer based decision support systems. Credit may not be received for both BUS 330 and CIS 250. Prerequisites CIS 103 or permission of instructor
Unit(s): 3
This course presents concepts and applications of database management systems. Topics include physical and logical data organization various database models query languages design concerns integrity and security and management issues. MS Access will be used for assignments. Prerequisites CIS 250 or BUS 330 or permission of the instructor
Unit(s): 3
And two math courses from the following:
Differential and integral calculus for the student who needs a working knowledge of the subject but does not plan to pursue more advanced study in mathematics. Includes theory and application of limits derivatives and integrals. Prerequisite MATH 120 or satisfactory performance on placement test Credit may not be received for both MATH 130 and MATH 131
Unit(s): 3
orStudy of differential calculus of a single variable. Applications of the derivative are made to curve sketching maxmin problems and linear approximation and IHopitals Rule. Also included are applications of the Intermediate Value Theorem and Mean Value Theorem. Credit may not be received for both MATH 130 and 131. Prerequisites MATH 120 or satisfactory performance on placement test
Unit(s): 3
Study of integral calculus of a single variable. Included are techniques of integration and numerical methods of integration. Applications of the integral are made to computing area volume arc length and selected topics. Prerequisite MATH 131
Unit(s): 3
Basic descriptive statistics probability hypothesis testing correlation and regression. Statistical computer software is used to analyze data. Prerequisites MATH 118 MATH 110 MATH 115 or satisfactory performance on placement test
Unit(s): 3
Emphasis on finite dimensional vector spaces and the algebra of matrices. Vector topics include ndimensional vectors dot product norm orthogonality lines planes projections and cross products. Matrix topics include systems of equations matrix operations Gauss elimination determinants eigenvalues and eigenvectors. Prerequisites MATH 120
Unit(s): 3
And 6 additional credits from the following:
Scripting languages are regularly used in server environments to automate tasks. This course introduces the student to the Linux operating system which is often used in enterprise servers. Students will learn how to write scripts to automate tasks using the Unix shell and other scripting languages such as Perl Python and Ruby. Regular expressions and their use with common Unix commands such as grep sed and awkgawk are discussed. Process control file systems redirection pipes and scheduling tasks with cron are also discussed. Prerequisites
This course is an introduction to computer programming using Java a contemporary objectoriented language. Topics covered include the Java programming language ad fundamental concepts for algorithm and software design. These include problemsolving methods procedural and data abstraction topdown modular design and proper programming style. Students gain experience using these skills to design code debug and document computer programs. The course contains 3 credit hours of lecture and 2 hours of lab per week.
Unit(s): 4
Alternate years offered 20162017
Unit(s): 3
This course focuses on the Javascript programming language. Students learn how to use JavaScript a browsers DOM and BOM to dynamically manipulate web pages. JQuery and web application programming interfaces (APIs) for web services such as Facebook and Google Maps are also discussed. Prerequisites
This course is an introduction to computer programming using Java a contemporary objectoriented language. Topics covered include the Java programming language ad fundamental concepts for algorithm and software design. These include problemsolving methods procedural and data abstraction topdown modular design and proper programming style. Students gain experience using these skills to design code debug and document computer programs. The course contains 3 credit hours of lecture and 2 hours of lab per week.
Unit(s): 4
Alternate years offered 20162017
Unit(s): 3
This course is an introduction to Android application development. Students will learn the core skills and practices used to develop and test Android applications. Topics include the Android activity life cycle user interface components and layouts data storage messaging and content providers. Students are required to purchase a test Android phone for this course. Prerequisites
Advanced programming techniques will be covered with extensive use of recursion and dynamic data structures. Abstract data types including lists stacks queues trees and hash tables are studied. Algorithms for searching and sorting are explored. The topics in this course provide an essential foundation for the further study of computer science. The objectoriented programming language Java will be used to illustrate these topics. Prerequisite CSCI 200 and MATH 120
Unit(s): 3
Alternate years offered 20162017
Unit(s): 3
Introduction to 3D graphics and animation using JavaScript and the Babylon.js API. Scenes cameras lighting shadows materials collision avoidance and physics engines are discussed. Prerequisites CSCI240 Alternate years offered 20172018
Unit(s): 3
Signal and image processing are studied using modern signal and image processing function libraries to explore and program waveform analysis convolution and correlation including FIR filters spectrum analysis and composing linear systems. Image processing expands FIR filtering from one dimension to two dimensions and studies applications such as image contouring edge detection smoothing and noise removal. Programming will be required using signal and image processing APIs. Prerequisites CSCI205 CSCI225 and two math courses from the following list
Differential and integral calculus for the student who needs a working knowledge of the subject but does not plan to pursue more advanced study in mathematics. Includes theory and application of limits derivatives and integrals. Prerequisite MATH 120 or satisfactory performance on placement test Credit may not be received for both MATH 130 and MATH 131
Unit(s): 3
or
Study of differential calculus of a single variable. Applications of the derivative are made to curve sketching maxmin problems and linear approximation and IHopitals Rule. Also included are applications of the Intermediate Value Theorem and Mean Value Theorem. Credit may not be received for both MATH 130 and 131. Prerequisites MATH 120 or satisfactory performance on placement test
Unit(s): 3
Study of integral calculus of a single variable. Included are techniques of integration and numerical methods of integration. Applications of the integral are made to computing area volume arc length and selected topics. Prerequisite MATH 131
Unit(s): 3
Basic descriptive statistics probability hypothesis testing correlation and regression. Statistical computer software is used to analyze data. Prerequisites MATH 118 MATH 110 MATH 115 or satisfactory performance on placement test
Unit(s): 3
Emphasis on finite dimensional vector spaces and the algebra of matrices. Vector topics include ndimensional vectors dot product norm orthogonality lines planes projections and cross products. Matrix topics include systems of equations matrix operations Gauss elimination determinants eigenvalues and eigenvectors. Prerequisites MATH 120
Unit(s): 3
Alternate years offered 20172018
Unit(s): 3
This course is an introduction to the field of Artificial Intelligence (AI). Discusses what AI is surveys some of the major results in the field and looks at a few promising directions. Covers AI problemsolving knowledge representation reasoning planning and machine learning in detail with exercises that expose students to various AI systems and languages. Advanced topics such as natural language processing vision robotics and uncertainty are also covered at a survey level. Topics implemented in C Java Ruby Python or mathematical programming languages such as Mathematica or MATLAB. Prerequisites CSCI 205 225 and 320 Alternate years offered 20162017
Unit(s): 3
This course is an introduction to cryptography. The course will present terminology principles algorithms and tools related to cryptography and cryptanalysis including public and symmetric key cryptosystems key exchange authentication protocols and digital signatures. Prerequisites CSCI205 CSCI225 and two math courses from the following list
Differential and integral calculus for the student who needs a working knowledge of the subject but does not plan to pursue more advanced study in mathematics. Includes theory and application of limits derivatives and integrals. Prerequisite MATH 120 or satisfactory performance on placement test Credit may not be received for both MATH 130 and MATH 131
Unit(s): 3
or
Study of differential calculus of a single variable. Applications of the derivative are made to curve sketching maxmin problems and linear approximation and IHopitals Rule. Also included are applications of the Intermediate Value Theorem and Mean Value Theorem. Credit may not be received for both MATH 130 and 131. Prerequisites MATH 120 or satisfactory performance on placement test
Unit(s): 3
Study of integral calculus of a single variable. Included are techniques of integration and numerical methods of integration. Applications of the integral are made to computing area volume arc length and selected topics. Prerequisite MATH 131
Unit(s): 3
Basic descriptive statistics probability hypothesis testing correlation and regression. Statistical computer software is used to analyze data. Prerequisites MATH 118 MATH 110 MATH 115 or satisfactory performance on placement test
Unit(s): 3
Emphasis on finite dimensional vector spaces and the algebra of matrices. Vector topics include ndimensional vectors dot product norm orthogonality lines planes projections and cross products. Matrix topics include systems of equations matrix operations Gauss elimination determinants eigenvalues and eigenvectors. Prerequisites MATH 120
Unit(s): 3
Alternate years offered 20172018
Unit(s): 3
This course covers methods attackers use to target networks the tools attackers use and how these methods can be used by ethical hackers to discover weaknesses in a network with the ultimate goal of securing a network. Topics include footprinting attack vectors and intrusion detection systems. Prerequisites
Advanced programming techniques will be covered with extensive use of recursion and dynamic data structures. Abstract data types including lists stacks queues trees and hash tables are studied. Algorithms for searching and sorting are explored. The topics in this course provide an essential foundation for the further study of computer science. The objectoriented programming language Java will be used to illustrate these topics. Prerequisite CSCI 200 and MATH 120
Unit(s): 3
An introduction to the fundamental mathematical concepts and structures used in computer science. Topics include propositional and predicate logic sets functions and relations mathematical induction counting principles and recurrences trees and graphs. Topics will be implemented in C Java Ruby Python or mathematical programming languages such as Mathematica or MATLAB. Prerequisite
A precalculus course for students continuing in mathematics. Includes topics in algebra functions and relations and trigonometry. Prerequisites MATH 110 or satisfactory performance on placement test
Unit(s): 3
Unit(s): 3
and two math courses from the following list
Differential and integral calculus for the student who needs a working knowledge of the subject but does not plan to pursue more advanced study in mathematics. Includes theory and application of limits derivatives and integrals. Prerequisite MATH 120 or satisfactory performance on placement test Credit may not be received for both MATH 130 and MATH 131
Unit(s): 3
or
Study of differential calculus of a single variable. Applications of the derivative are made to curve sketching maxmin problems and linear approximation and IHopitals Rule. Also included are applications of the Intermediate Value Theorem and Mean Value Theorem. Credit may not be received for both MATH 130 and 131. Prerequisites MATH 120 or satisfactory performance on placement test
Unit(s): 3
Study of integral calculus of a single variable. Included are techniques of integration and numerical methods of integration. Applications of the integral are made to computing area volume arc length and selected topics. Prerequisite MATH 131
Unit(s): 3
Basic descriptive statistics probability hypothesis testing correlation and regression. Statistical computer software is used to analyze data. Prerequisites MATH 118 MATH 110 MATH 115 or satisfactory performance on placement test
Unit(s): 3
Emphasis on finite dimensional vector spaces and the algebra of matrices. Vector topics include ndimensional vectors dot product norm orthogonality lines planes projections and cross products. Matrix topics include systems of equations matrix operations Gauss elimination determinants eigenvalues and eigenvectors. Prerequisites MATH 120
Unit(s): 3
Alternate years offered 20172018
Unit(s): 3
This intensive studio course will use drawing methods and materials to explore abstraction. Students begin by making drawings from observation then collectively and collaboratively engage processes that move the drawings from representation to abstraction. Students are encouraged to be courageously curious and experimental in their work. 2017 Interterm Estimated Extra Cost 85
Unit(s): 3
Analog electronics including diode and transistor operation mathematical circuit analysis operational amplifier applications. Two hours in class and six hours in lab per week. Prerequisites PHYS 222 and MATH 132 Alternate years offered 20172018
Unit(s): 4
Analysis and applications of digital circuits such as flipflops registers counters and analogtodigital converters leading to interfacing realtime data collection to computers. Prerequisites PHYS 219 or PHYS 222 Alternate years offered 20162017
Unit(s): 3
May be taken as a dual major with mathematics.
Network with your fellow students and faculty as a member of the Bridgewater Chapter of the Association of Computing Machinery (ACM).
What can you do with a degree in computer science?
Like the department’s recent graduates, you might enter graduate schools such as:

California Institute of Technology

Carnegie Mellon University

George Mason University

James Madison University

University of North Carolina

Pennsylvania State University

University of Virginia

Virginia Tech

Washington and Lee School of Law
Or pursue a career as:

Database Analyst

Help Desk Technician

LAN Systems Manager

Network Administrator

Programmer/Analyst

Security Analyst

Software Engineer
Learn more about career paths, employment and advancement in the field of computer science from the Association for Computing Machinery.