Mathematics & Computer Science
The Department of Mathematics and Computer Science offers majors in computer science and data science & analytics. Students gain fundamental knowledge, as well as real-world practical experience, using the latest techniques and software in each field. The computer science major is based on the guidelines recommended by the Association for Computing Machinery. Data Science & Analytics (DSA) is an interdisciplinary major in which students learn comprehensive knowledge and develop skills required for data scientists, data analysts, and analytics-enabled professionals. Students develop problem solving and strategic thinking skills, and to apply scientific principles across multiple disciplines and modern technologies, such that they can manage and analyze large-scale data to solve strategic and operational challenges.
Computer science graduates are prepared for careers such as programmers, analysts, researchers, network administrators, and cybersecurity specialists, as well as top graduate schools in technology and computer science. The DSA program prepares students for a broad set of professional careers, including data scientist, data engineer, data administrator, data analyst, data software developer, strategic analyst, market researcher, and informatics analyst.
The department also offers minors in computer science, data administration, data analytics, and mathematics. These minors compliment a variety of majors, adding depth and skills in computation, mathematics, and analytics.
Programs
-
Computer Science, Bachelor of Science - Major -
Data Science & Analytics, Bachelor of Science - Major -
Computer Science, Minor -
Data Administration, Minor -
Data Analytics, Minor -
Machine Learning, Minor -
Mathematics, Minor -
Algebra I Add-On Endorsement, Teacher Licensure
Courses
CSCI-100: Introduction to Programming
This course introduces the fundamentals of programming in a general-purpose object-oriented programming language such as C++ or Java. It emphasizes thought processes necessary to code effectively. Topics include data types, arithmetic and logical expressions, control structures, methods, arrays, and file I/O.
CSCI-101: Programming I
This course introduces the fundamentals of programming in a general-purpose object-oriented programming language such as C++ or Java. Topics include data types, data representation, arithmetic and logical expressions, control structures, methods, single and two-dimensional arrays, and file I/O.
CSCI-102: Programming II
This course is an intermediate course in programming and focuses on Object Oriented Programming and Event-Driven Programming in a high-level programming language. Topics include inheritance, polymorphism, class design, generics, lambda expressions, map-reduce transformations, building GUIs, and an introduction to common data structures.
CSCI-110: Discrete Mathematics
This course focuses on the fundamentals of discrete mathematics applicable to computer science. The main goals are to learn the mathematical representation of collections of items and their relationships, selection and ordering of items, mathematical reasoning for proofs, model modeling, concepts about probability and computation theory. Topics include: Sets, Relations and Functions, Inductive and Deductive reasoning, Permutations and Combinations, Graphs, Probability, FSMs, PDAs, LBAs (or Regular, Context-Free, Context-Sensitive Grammars) and Turing machines.
CSCI-130: Programming with Python
Data science skills are developed using the Python programming language. Introduces programming language constructs such as control flow, file input/output, basic data structures (dictionaries, lists) and functions. Includes the use of Python modules appropriate for engineering and data science.
CSCI-131: Web Scripting
This course introduces the JavaScript programming language. Students learn how to use JavaScript to dynamically create and manipulate elements within web pages. Advanced JavaScript utilities such as rest operator, generators, destructuring, object literals, arrow functions, modern classes, and promises are also discussed. Offered each spring of odd years.
CSCI-220: Data Structures and Algorithms
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. A general-purpose object-oriented programming language such as C++ or Java will be used to illustrate these topics.
CSCI-231: Server-Side Web Development
This course covers servers-side web application development. Students will learn to set up a development server and develop web application servers that incorporate database connectivity and user authentication, and that provide RESTful APIs. Topics also include web protocols and security issues. Offered each fall of odd years.
CSCI-232: Client-Side Web Development
This course covers the design and development of rich reactive web UI's using front-end JavaScript frameworks such as Bootstrap, Angular.js, React.js and Vue.js. Offered each spring of even years.
CSCI-250: Computer Networks
This course covers networking concepts such as topology and architecture, routing technologies, networking devices, network monitoring and optimization techniques, security concepts, and troubleshooting. The course will introduce students to the Azure cloud services. The course will prepare students for the CompTIA Network+ certification exam.
CSCI-261: Network Engineering
Students learn how to design and implement secure network infrastructure in Azure, how to establish hybrid connectivity and routing, implement access controls to services, and monitor services. The course will prepare students for the Microsoft AZ-700 certification exam.
CSCI-320: Algorithm Analysis and Design
This course covers the principles of algorithm design and analysis. Different approaches to design such as divide and conquer, greedy, and dynamic programming are covered. Advanced data structures beyond the basic lists, stacks and trees are also introduced such as red-black and AVL trees. Proving the correctness of algorithms and analysis using advanced techniques such as the master theorem are covered. Tractability of algorithms is discussed including NP-Completeness.
CSCI-341: Computer Architecture
Introduction to computer systems and their organization. Topics include CPU design and construction using logic gates, data representation, and assembly language representation of common programming language constructs including conditionals, loops and functions. The gcc compiler and the C programming language will be used to illustrate these topics.
CSCI-342: Operating Systems
Covers principles of computer operating systems including the management of processes, memory, I/O 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, the C programming language, and various system libraries.
CSCI-361: Network Security
Course covers general security concepts; threads, vulnerabilities, and mitigations; security architecture; security operations; and security program management and oversight. The course will prepare students for the CompTIA Security+ certification exam.
CSCI-400: Software Engineering
This course is a project-based course that covers the tools and processes used in modern software development. Students will work in teams to design, implement, test, and document a software system. Various topics are discussed including Agile development, software repository management, and licensing.
CSCI-410: Numerical Algorithms
This course studies algorithms for generating and using mathematical objects such as permutations and subsets. It also studies algorithms for efficient computing of mathematical quantities such as exponents and numbers modulo n. It will also study topics in computational geometry such as determining whether two line segments intersect. Offered alternate years.
CSCI-412: Theoretical Cryptography
This course studies the mathematical theory behind cryptographic systems including the RSA encryption algorithm. It will also examine ways of breaking current encryption systems. Offered alternate years.
CSCI-414: Coding Theory
This course studies the detection and correction of errors which occur when transmitting data. It will include maximum likelihood and nearest neighbor decoding, linear codes, and Hamming codes. Offered alternate years.
CSCI-450: Special Topics
Devoted to a subject chosen from among the various fields of computer science in which regular courses are not offered. Possible topics include graphics, natural language processing, scientific computing, web programming, GIS, parallel processing, robotics, simulation, as well as others. A student may take the course more than once, provided different topics are covered. Offered on demand.
CSCI-461: Penetration Testing
The course covers planning and scoping, information gathering and vulnerability scanning, attacks and exploits, reporting and communication, and tolls and codeanalysis. This course will prepare students for the CompTIA PenTest+ certification exam.
CSCI-485: Internship I
Provides an opportunity for a student to gain field experience in an area related to the student's program of study or career goals. The learning objectives for internships include connecting academic knowledge and problem-solving processes to experiences and problems in professional settings. A Faculty Sponsor in the relevant academic department must approve a description and an internship learning plan at least eight weeks in advance of the start of the term in which the internship is to be completed. This internship learning plan must be filed with the Director of Internships in the Center for Career Development at least three weeks prior to the start of the internship. Approval of each application for an internship is made by the Director of Internships based upon approved policies and guidelines. Supervision of the internship experience is provided by an appropriate Bridgewater College Cooperating Professor (who may or may not be the Faculty Sponsor) and by a Site Supervisor at the agency or business in which the student is an intern. Students must complete 40 hours (minimum two weeks) of internship-related work as well as weekly journal entries and a final reflective paper completed in accordance with approved requirements. Internships are graded by the Cooperating Professor on an S or U basis. A maximum of 12 credits in internships may be applied toward graduation. Students who successfully complete at least three credits of internship at one or more placements may petition the Associate Provost to accept those credits in fulfillment of the FILA general education experiential learning requirement.
CSCI-486: Internship II
Provides an opportunity for a student to gain field experience in an area related to the student's program of study or career goals. The learning objectives for internships include connecting academic knowledge and problem-solving processes to experiences and problems in professional settings. A Faculty Sponsor in the relevant academic department must approve a description and an internship learning plan at least eight weeks in advance of the start of the term in which the internship is to be completed. This internship learning plan must be filed with the Director of Internships in the Center for Career Development at least three weeks prior to the start of the internship. Approval of each application for an internship is made by the Director of Internships based upon approved policies and guidelines. Supervision of the internship experience is provided by an appropriate Bridgewater College Cooperating Professor (who may or may not be the Faculty Sponsor) and by a Site Supervisor at the agency or business in which the student is an intern. Students must complete 80 hours (minimum four weeks) of internship-related work as well as weekly journal entries and a final reflective paper completed in accordance with approved requirements. Internships are graded by the Cooperating Professor on an S or U basis. A maximum of 12 credits in internships may be applied toward graduation. Students who successfully complete at least three credits of internship at one or more placements may petition the Associate Provost to accept those credits in fulfillment of the FILA general education experiential learning requirement.
CSCI-487X: Internship III
Provides an opportunity for a student to gain field experience in an area related to the student's program of study or career goals. The learning objectives for internships include connecting academic knowledge and problem-solving processes to experiences and problems in professional settings. A Faculty Sponsor in the relevant academic department must approve a description and an internship learning plan at least eight weeks in advance of the start of the term in which the internship is to be completed. This internship learning plan must be filed with the Director of Internships in the Center for Career Development at least three weeks prior to the start of the internship. Approval of each application for an internship is made by the Director of Internships based upon approved policies and guidelines. Supervision of the internship experience is provided by an appropriate Bridgewater College Cooperating Professor (who may or may not be the Faculty Sponsor) and by a Site Supervisor at the agency or business in which the student is an intern. Students must complete 120 hours (minimum six weeks) of internship-related work as well as weekly journal entries and a final reflective paper completed in accordance with approved requirements. Internships are graded by the Cooperating Professor on an S or U basis. A maximum of 12 credits in internships may be applied toward graduation. Students who successfully complete at least three credits of internship at one or more placements may petition the Associate Provost to accept those credits in fulfillment of the FILA general education experiential learning requirement.
CSCI-490: Independent Study
CSCI-491: Research
CSCI-499: Honors Project
DSA-225W: Statistical Methods With R
This course develops practical skills in applying statistical methods to problem-solving and research. Topics cover simple linear regression (SLR), ANOVA, Chi-Square distribution, and basic nonparametric testing. This course uses statistical methods in the R environment to perform statistical analysis.
DSA-230: Database Systems
Introducing database systems and database management. The emphases are database design and implementation. The topics covered include ERM (ERD) and EERM (EERD), relational and object-oriented database design, SQL and QBE. This course focuses on practical skill in database design and implementation.
DSA-300: Advanced Data Analytics
This course explores advanced data analytics models. Topics cover multivariate modeling, multiple linear regression modeling, time series analytics, risk analysis, optimization analysis, etc. The course emphasizes applying R in data analytics modeling for marketing, consumer management, risk management, and operation efficiency. Offered alternate years.
DSA-330: Data Warehousing
This course introduces the methods for developing data warehouses. Core topics include data warehouse design, implementation, and maintenance. This course takes a practical approach to introduce the best practices of using data warehousing to support business intelligence (BI).
DSA-350: Data Preparation with Python
This course introduces fundamental concepts and methods in data acquisition. Topics cover data selection, retrieval, cleansing, transformation, and loading. Advanced Python data structures (e.g., heap, series, narrays, matrices, DataFrame, etc.) are used to carry out data acquisition. Analytic tools for evaluating data acquisition processes are emphasized. The key issues related to data acquisition are addressed. Visual analytic methods are introduced for data acquisition. The course also covers automating complex data acquisition tasks with Python. Offered spring semester of even years.
DSA-425: Data Mining
This course covers data mining techniques to search patterns in large data set. Topics include the fundamental data mining models for clustering, decision trees, and association analysis. The objective of this course is to develop skills in deriving predictive knowledge from data mining to improve business intelligence.
DSA-450: Machine Learning
This course introduces learning techniques for machine learning including stochastic learning, ensamples, density analytics, descent methods, neural networks, etc. Algorithmic design and implementation are introduced in the context of machine learning. This course will also cover the issues and applications of machine learning.
DSA-485: Internship I
Provides an opportunity for a student to gain field experience in an area related to the student's program of study or career goals. The learning objectives for internships include connecting academic knowledge and problem-solving processes to experiences and problems in professional settings. A Faculty Sponsor in the relevant academic department must approve a description and an internship learning plan at least eight weeks in advance of the start of the term in which the internship is to be completed. This internship learning plan must be filed with the Director of Internships in the Center for Career Development at least three weeks prior to the start of the internship. Approval of each application for an internship is made by the Director of Internships based upon approved policies and guidelines. Supervision of the internship experience is provided by an appropriate Bridgewater College Cooperating Professor (who may or may not be the Faculty Sponsor) and by a Site Supervisor at the agency or business in which the student is an intern. Students must complete 40 hours (minimum two weeks) of internship-related work as well as weekly journal entries and a final reflective paper completed in accordance with approved requirements. Internships are graded by the Cooperating Professor on an S or U basis. A maximum of 12 credits in internships may be applied toward graduation. Students who successfully complete at least three credits of internship at one or more placements may petition the Associate Provost to accept those credits in fulfillment of the FILA general education experiential learning requirement.
DSA-486: Internship II
Provides an opportunity for a student to gain field experience in an area related to the student's program of study or career goals. The learning objectives for internships include connecting academic knowledge and problem-solving processes to experiences and problems in professional settings. A Faculty Sponsor in the relevant academic department must approve a description and an internship learning plan at least eight weeks in advance of the start of the term in which the internship is to be completed. This internship learning plan must be filed with the Director of Internships in the Center for Career Development at least three weeks prior to the start of the internship. Approval of each application for an internship is made by the Director of Internships based upon approved policies and guidelines. Supervision of the internship experience is provided by an appropriate Bridgewater College Cooperating Professor (who may or may not be the Faculty Sponsor) and by a Site Supervisor at the agency or business in which the student is an intern. Students must complete 80 hours (minimum four weeks) of internship-related work as well as weekly journal entries and a final reflective paper completed in accordance with approved requirements. Internships are graded by the Cooperating Professor on an S or U basis. A maximum of 12 credits in internships may be applied toward graduation. Students who successfully complete at least three credits of internship at one or more placements may petition the Associate Provost to accept those credits in fulfillment of the FILA general education experiential learning requirement.
DSA-487X: Internship III
Provides an opportunity for a student to gain field experience in an area related to the student's program of study or career goals. The learning objectives for internships include connecting academic knowledge and problem-solving processes to experiences and problems in professional settings. A Faculty Sponsor in the relevant academic department must approve a description and an internship learning plan at least eight weeks in advance of the start of the term in which the internship is to be completed. This internship learning plan must be filed with the Director of Internships in the Center for Career Development at least three weeks prior to the start of the internship. Approval of each application for an internship is made by the Director of Internships based upon approved policies and guidelines. Supervision of the internship experience is provided by an appropriate Bridgewater College Cooperating Professor (who may or may not be the Faculty Sponsor) and by a Site Supervisor at the agency or business in which the student is an intern. Students must complete 120 hours (minimum six weeks) of internship-related work as well as weekly journal entries and a final reflective paper completed in accordance with approved requirements. Internships are graded by the Cooperating Professor on an S or U basis. A maximum of 12 credits in internships may be applied toward graduation. Students who successfully complete at least three credits of internship at one or more placements may petition the Associate Provost to accept those credits in fulfillment of the FILA general education experiential learning requirement.
DSA-490: Independent Study
DSA-491: Research
DSA-499: Honors Project
MATH-110: College Algebra
Real numbers, exponents, radicals, and algebraic operations with polynomial and rational functions. Solving equations and graphing expressions involving polynomial and rational functions, and exponential and logarithmic functions.
MATH-118: Quantitative Reasoning
This course is designed to provide development of basic computational skills and introductory algebra concepts like solutions of single variable equations. It will also cover some introductory statistics and probability concepts. Problem solving will be emphasized. The course will contain at least one project that requires students to make extensive use of spreadsheet software like Excel.
MATH-120: Precalculus Mathematics
A precalculus course for students continuing in mathematics. Includes topics in algebra, functions and relations, and trigonometry.
MATH-133: Calculus I
Study of calculus of a single variable. Theory of limits, continuity, differentiation, integration, and Fundamental Theorem of Calculus is studied along with applications including curve sketching, max-min problems, linear approximation, I'Hopital's Rule, Intermediate Value Theorem, Mean Value Theorem, area under a curve, and volumes of rotation. Credit may not be received for both MATH-130 and MATH-133.
MATH-134: Calculus II
A continuation of the study of calculus of a single variable. Included are techniques of integration, further applications including arc length and surface area of rotation, parametric and polar equations, sequences, series, and Taylor series.
MATH-140: Introduction to Statistics
Basic descriptive statistics, probability, hypothesis testing, correlation, and regression. Statistical computer software is used to analyze data.
MATH-150: Mathematics for Elementary Educators
This course will provide an overview of the math knowledge, process, and skills based on the National Council for Teachers of Mathematics, Virginia’s Foundation Blocks for Early Learning (PK) and Virginia Standards of Learning (K-6) including number systems, elementary number theory, algebra, geometry, probability, and statistics. The theory of problem solving is an integral part of all aspects of the course. Candidates will understand the ability to use the five mathematical processes – reasoning, solving problems, communicating effectively, making connections, and using models and representations - at different levels of complexity.
MATH-200: Introduction to Number Theory
Emphasis is on mathematical proofs. Topics include properties of integers (such as odd, even, prime, etc.), division algorithm, least common multiples, greatest common divisors, binary operations ad modular arithmetic.
MATH-210: Introduction to Linear Algebra
Emphasis on finite dimensional vector spaces and the algebra of matrices. Vector topics include n-dimensional 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.
MATH-233: Calculus III
Introduction to multivariate calculus. Included are calculus of vector-valued functions and motion in space; limits, continuity, partial derivatives, and integrals of functions of several variables; vector fields, Green's Theorem, The Divergence Theorem, and Stokes' Theorem.
MATH-310: Linear Algebra
Fundamentals of linear algebra, including vector spaces, matrix algebra, linear transformations, and eigenvectors and eigenvalues. Offered on demand.
MATH-331: Differential Equations
Introduction to ordinary and partial differential equations. Included are solving first order differential equations, and linear differential equations with constant coefficients; series solutions of differential equations; solving elementary partial differential equations.
MATH-341: Theoretical Statistics I
Fundamentals of probability and distribution theory. Includes probability theory, counting techniques, conditional probability, random variables, moments, moment generating functions, an introduction to multivariate distributions, and transformations of random variables.
MATH-350: Numerical Analysis
Topics include iterative techniques for solving non-linear equations, numerical differentiation and integration, and differential equations.
MATH-370: Introduction to Abstraction
A historical approach to abstraction in three parts: Euclidean geometry leading to non-Euclidean geometry, permutations leading to group theory, and polynomials leading to rings and fields.
MATH-450: Special Topics
Devoted to a subject chosen from among the various fields of mathematics in which regular courses are not offered. Possible topics include complex variables, number theory, topology, probability, and applied mathematics, as well as others. A student may take the course more than once, provided different topics are covered. Offered on demand.
MATH-485: Internship I
Provides an opportunity for a student to gain field experience in an area related to the student's program of study or career goals. The learning objectives for internships include connecting academic knowledge and problem-solving processes to experiences and problems in professional settings. A Faculty Sponsor in the relevant academic department must approve a description and an internship learning plan at least eight weeks in advance of the start of the term in which the internship is to be completed. This internship learning plan must be filed with the Director of Internships in the Center for Career Development at least three weeks prior to the start of the internship. Approval of each application for an internship is made by the Director of Internships based upon approved policies and guidelines. Supervision of the internship experience is provided by an appropriate Bridgewater College Cooperating Professor (who may or may not be the Faculty Sponsor) and by a Site Supervisor at the agency or business in which the student is an intern. Students must complete 40 hours (minimum two weeks) of internship-related work as well as weekly journal entries and a final reflective paper completed in accordance with approved requirements. Internships are graded by the Cooperating Professor on an S or U basis. A maximum of 12 credits in internships may be applied toward graduation. Students who successfully complete at least three credits of internship at one or more placements may petition the Associate Provost to accept those credits in fulfillment of the FILA general education experiential learning requirement.
MATH-486: Internship II
Provides an opportunity for a student to gain field experience in an area related to the student's program of study or career goals. The learning objectives for internships include connecting academic knowledge and problem-solving processes to experiences and problems in professional settings. A Faculty Sponsor in the relevant academic department must approve a description and an internship learning plan at least eight weeks in advance of the start of the term in which the internship is to be completed. This internship learning plan must be filed with the Director of Internships in the Center for Career Development at least three weeks prior to the start of the internship. Approval of each application for an internship is made by the Director of Internships based upon approved policies and guidelines. Supervision of the internship experience is provided by an appropriate Bridgewater College Cooperating Professor (who may or may not be the Faculty Sponsor) and by a Site Supervisor at the agency or business in which the student is an intern. Students must complete 80 hours (minimum four weeks) of internship-related work as well as weekly journal entries and a final reflective paper completed in accordance with approved requirements. Internships are graded by the Cooperating Professor on an S or U basis. A maximum of 12 credits in internships may be applied toward graduation. Students who successfully complete at least three credits of internship at one or more placements may petition the Associate Provost to accept those credits in fulfillment of the FILA general education experiential learning requirement.
MATH-487X: Internship III
Provides an opportunity for a student to gain field experience in an area related to the student's program of study or career goals. The learning objectives for internships include connecting academic knowledge and problem-solving processes to experiences and problems in professional settings. A Faculty Sponsor in the relevant academic department must approve a description and an internship learning plan at least eight weeks in advance of the start of the term in which the internship is to be completed. This internship learning plan must be filed with the Director of Internships in the Center for Career Development at least three weeks prior to the start of the internship. Approval of each application for an internship is made by the Director of Internships based upon approved policies and guidelines. Supervision of the internship experience is provided by an appropriate Bridgewater College Cooperating Professor (who may or may not be the Faculty Sponsor) and by a Site Supervisor at the agency or business in which the student is an intern. Students must complete 120 hours (minimum six weeks) of internship-related work as well as weekly journal entries and a final reflective paper completed in accordance with approved requirements. Internships are graded by the Cooperating Professor on an S or U basis. A maximum of 12 credits in internships may be applied toward graduation. Students who successfully complete at least three credits of internship at one or more placements may petition the Associate Provost to accept those credits in fulfillment of the FILA general education experiential learning requirement.