Computer Science Major
Data Science & Analytics Major
Computer Science Minor
Data Administration Minor
Data Analytics Minor
Mathematics Minor
Endorsement in Computer Science (6-12)
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.
Degree Type Offered: B.S. Major
The major consists of 41-50 credits.
Students choose one of three tracks: Cybersecurity, Full-Stack Software Development, and Theoretical Computing. The following core courses are required for each track, consisting of 32 credits:
CSCI-101 Programming I
Credits: 4 Term Offered: Fall and Spring
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. The course consists of 3 credit hours of lecture and 2 hours of lab per week.
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. Prerequisites: A grade of C or greater in CSCI-101 or both CSCI-100 and a grade of C or greater on the CSCI-101 assessment exam
CSCI-210 Discrete Mathematics
Credits: 3 Term Offered: Fall Only
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. Prerequisites: MATH-110
CSCI-220 Data Structures and Algorithms
Credits: 3 Term Offered: Spring Only
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. Prerequisites: A grade of C or greater in CSCI-102
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. Prerequisites: CSCI-210 and CSCI-220
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. Prerequisites: CSCI-210 and CSCI-220
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. Prerequisites: CSCI-341
CSCI-350 Computer Networks
Networked machines are at the core of today's computing world. This course covers the theory and practice of networking, from applications to the physical components including IP, routing, internetworking, TCP/UDP, congestion control, wireless and security. All the concepts are demonstrated using network simulation software and tools. Students will implement many algorithms for networking such as routing and communication in a contemporary programming language. Prerequisites: CSCI-210 and CSCI-220
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. Prerequisites: Senior standing in the computer science major or both CSCI-220 and permission by instructor
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. Prerequisites: CSCI-210 or permission of instructor
The remaining credits come from the tracks as follows students choose one:
Cybersecurity Track
Consists of 9 credits, including the following courses:
CSCI-360 Introduction to Cybersecurity
This course is an introduction to cybersecurity. The course will discuss cybersecurity concepts, security domains, threat space, risks, auditing, access controls in file systems, cryptography, and writing security policies and standards. The course will discuss different categories of malware. We will discuss some methods an adversary can use to attack information systems. Prerequisite: CSCI-205 and CSCI-225 Offered alternate years
CSCI-362 Applied Cryptography
This course is about the fundamentals of cryptography and its applications. Details of classical and contemporary cryptographic algorithms are first examined along with techniques to break them. Next, the various applications of cryptography are explored including web, email, network authentication and digital currencies. Students will use both software tools (GUI and/or command-line) for testing ciphers and use crypto API in a programming language to design programs as well. Prerequisites: CSCI-210 and CSCI-220 Corequisite: CSCI-350
CSCI-460 Network Security
Networks are a key aspect of computing. Security issues in various aspects of networking are examined in this course including network programming and network administration. All layers of TCP/IP are studied for vulnerabilities and protection mechanisms. Network defense tools such as IDPS and firewalls are explored. Practical, lab-based activities using network simulators, packet sniffers, and software tools are included throughout the course for demonstration and training. Prerequisites: CSCI-360 Offered alternate years
Full-Stack Software Development Track
Consists of 18 credits, including the following courses:
ART-120 Introduction to Visual Design
Credits: 3 Term Offered: Fall and Spring
A studio project-based introduction to the elements and principles of 2-D and 3-D design in visual art and communication contexts. Emphasis is on visual problem solving, mastery of visual design principles, technical proficiency, and critical analysis of how visual images communicate. This course provides a foundation for students planning to take advanced courses in any art media and other fields in which visual imagery plays an important role. As a stand-alone course Art 120 provides critical and practical skills related to visual communication.
ART-322 Web Design and Development
Design and construct websites using current HTML and CSS standards and digital tools including Brackets, Dreamweaver and Photoshop. Emphasis on design process, content development and professional workflows.
ART-323 Graphic Design
A studio based exploration into visual communication with typography and images using Adobe Creative Cloud applications. Emphasis is placed on the design process and creative thinking. Corequisite: ENG-110 FILA general education: fine arts and music
CSCI-230 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. Prerequisites: A grade of C or greater in CSCI-100 or a grade of C or greater in CSCI-101 Offered alternate years
CSCI-430 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. Prerequisites: CSCI-220 and DSA-230 Offered alternate years
CSCI-432 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. Prerequisites: CSCI-220, CSCI-230, and DSA-230 Offered alternate years
Theoretical Computing Track
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. Prerequisites: CSCI-210 and CSCI-220 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. Prerequisites: CSCI-210 or MATH-300 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. Prerequisites: CSCI-210 or MATH-300 Offered alternate years
Consists of 52 credit hours including the following courses:
MATH-130 Survey of Calculus
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
MATH-140 Introduction to Statistics
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
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. Prerequisite: MATH-120
CSCI-200 Programming with Python
The Python programming language will be explored. The course will cover familiar programming language constructs such as control flow, strings, functions, input/output, and data structures as well as advance topics such as regular expressions, modules and packages, and commonly used objects and libraries. Prerequisites: A grade of C or greater in CSCI-100 or a grade of C or greater in CSCI-101 or permission by the instructor
DSA-225 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. Prerequisite: MATH-140 or permission of instructor
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 courses emphasizes applying R in data analytics modeling for marketing, consumer management, risk management, and operation efficiency. Prerequisites: MATH-130 or MATH-131, DSA-225 and CSCI 200 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). Prerequisites: DSA-230
DSA-350 Data Acquisition
This courses 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. Prerequisites: DSA-330 and CSCI-200 Offered alternate years
DSA-375 Data Visualization
Introducing the principles of data visualization and D3.js. The key topics covered include basic data visualization principles and methods, as well as D3.js applications in visualizes data analysis results. The students will gain hand-on skills in using D3.js to produce high quality aesthetic graphs by completing a data analytic project with D3.js graphs. Prerequisites: DSA-225 and CSCI-230 Offered alternate years
DSA-400 Intelligent Search Methods
This course introduces the methods for intelligent searches. Core topics include logic fundamentals for AI, state models, and inference engines. The students will explore AI applications of intelligence search methods, and gain hands-on experience in developing preliminary an intelligence search engine. Prerequisites: DSA-300 and CSCI-210 Offered alternate years
DSA-425 Data Mining and Business Intelligence
This course cover data mining techniques to search patterns in large data set. Topics include the fundamental data mining models for clustering, decision trees, association analysis, and neural networks. The objective of this course is to develop skills in deriving predictive knowledge from data mining to improve business intelligence. Prerequisites: DSA-300 and MATH-210 Offered alternate years
DSA-450 Machine Learning
This course introduces learning techniques for machine learning including stochastic learning, ensamples, density analytics, descent methods, intelligence analysis, 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. Prerequisites: DSA-350 and DSA-425 Offered alternate years
And, complete one of the following elective courses during the junior or senior year:
DSA-475 Big-Data and Cloud Computing
Introducing the concepts of big data and cloud computing. Topics cover big-data concepts, popular cloud computing platforms (e.g., Google App Engine, IBM Bluemix and Amazon Web Service), as well as cloud programming architectures and paradigms. The emphasis is Hadoop ecosystem, including the fundamentals of HDFS and MapReduce (e.g., HDFS architectures, parallel algorithm design, and parallel performance analysis). Prerequisites: DSA-400 and DSA-425 Offered alternate years
DSA-480X Internship
Credits: 3 Term Offered: All Terms
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. Supervision of an intern is provided by an appropriate faculty member and by a site supervisor of the agency or business in which the student is an intern. A student who wishes to engage in an internship must consult with the appropriate faculty member at least eight weeks in advance of the start of the term in which the internship is to be completed. A description of the internship, signed by the student and the faculty sponsor, must be filed with the director of internships by the first day of the semester 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. Internships are graded on an S or U basis. Students must complete 120 hours of internship-related work as well as weekly journal entries and a final reflective paper completed in accordance with approved requirements. A student may enroll in an internship program for 3 credits per semester, and internship credit may be earned in subsequent semesters subject to the limitations that no more than two internships may be pursued in any one agency or business and a maximum of 9 credits in internships may be applied toward graduation. Prerequisites: FILA-150 or FILA-350EW, junior or senior standing, and a minimum 2.0 grade point average FILA general education: experiential learning
DSA-490 Independent Study
Upon approval of the department and the division head, a student with a cumulative grade point average of 2.20 or better may engage in an independent study or research project. One desiring to pursue independent study or research must submit a written description of the proposed work to the chair of the appropriate department and to the appropriate division head prior to the last day of the drop and add period for the semester in which the study is to be conducted. At the end of the semester, the supervising professor files with the registrar a grade for the student and a description of the work accomplished. Credit may be received for no more than three independent studies or research projects.
DSA-491 Research
Upon approval of the department and the division head, a student with a cumulative grade point average of 2.20 or better may engage in an independent study or research project. One desiring to pursue independent study or research must submit a written description of the proposed work to the chair of the appropriate department and to the appropriate division head prior to the last day of the drop and add period for the semester in which the study is to be conducted. At the end of the semester, the supervising professor files with the registrar a grade for the student and a description of the work accomplished. Credit may be received for not more than three independent studies or research projects.
DSA-499 Honors Project
An honors project is one in which a student researches a subject, by examination of relevant literature or by experimentation or both; the student reports the results in an accurately documented and well-written paper or appropriate representation of the work. Whenever the study deals with the subject of an established course, the student is expected to go well beyond the usual work of the course in research and in assimilation of the results as revealed in the report. Juniors and seniors with a cumulative grade point average of 3.40 or above may register for an honors project. One desiring to pursue an honors project must submit a written description of his or her proposed work to the chair of the appropriate department and to the appropriate division head prior to the last day of the drop and add period for the semester in which the study is to be conducted. Upon the completion of the honors project, the student must present an oral defense of his or her project. The final grade must include a satisfactory performance on the oral defense, assessed by a three-faculty member team. The project advisor will authorize the make-up of the oral defense team and will assign the final grade on the project. The honors project title will be noted on the student's transcript. It is the student's responsibility to provide a copy of the written paper or appropriate representation of the work to the library in compliance with specifications approved by the Council on Education. The library director arranges for binding and storage.
Degree Type Offered: Minor
And 6 additional credits in CSCI courses numbered 300 or above
Consists of 19 credit hours including the following courses:
MATH-131 Calculus I
Study of differential calculus of a single variable. Applications of the derivative are made to curve sketching, max-min problems, and linear approximation, and I'Hopital's 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
MATH-132 Calculus II
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
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. Prerequisite: MATH-110
MATH-231 Calculus III
Continuation of Calculus I and II. Included are Taylor polynomials, infinite series, and polar coordinates. Also included is an introduction to multivariate calculus and multiple integrals. Prerequisite: MATH-132
And two additional MATH courses numbered 300-450, excluding MATH-360
Degree Type Offered: Teacher Licensure
Students majoring in Computer Science can be eligible for teacher licensure at the secondary level (6-12) by also completing the courses in the teacher education program. As early as possible, contact Dr. Jenny Martin, coordinator for secondary education at jmmartin@bridgewater.edu or 540-828-5662 for further information.
Students who are already admitted to the Teacher Education Program and are not already earning their secondary education licensure in mathematics may opt for an add-on endorsement in algebra I.
MATH-105 Mathematical Theory & Computation I
The courses are logically divided into four primary areas: arithmetic, geometry, algebra, and problem solving. Each of the four areas is studied in both terms. The theory of problem solving is an integral part of all aspects of the courses. The study of arithmetic includes the theory arithmetic operations and the development of skills in computation; number theory and patterns in sequences of numbers are used to introduce the basics of mathematical proofs. The study of geometry includes identification of plane and solid geometric shapes, computations of perimeter, area and volume, and trigonometry of right triangles. The study of algebra includes basic algebraic operations, computation using functions, and graphing.
MATH-115 Mathematical Theory & Computation II
The courses are logically divided into four primary areas: arithmetic, geometry, algebra, and problem solving. Each of the four areas is studied in both terms. The theory of problem solving is an integral part of all aspects of the courses. The study of arithmetic includes the theory arithmetic operations and the development of skills in computation; number theory and patterns in sequences of numbers are used to introduce the basics of mathematical proofs. The study of geometry includes identification of plane and solid geometric shapes, computations of perimeter, area and volume, and trigonometry of right triangles. The study of algebra includes basic algebraic operations, computation using functions, and graphing. FILA general education: master core skills
MATH-120 Precalculus Mathematics
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
or
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. Prerequisites: MATH-231 or permission of the instructor Offered alternate years
Note: MATH-130 can be taken in place of the sequence MATH-131/MATH-132.
Requirements also include admission to the Teacher Education Program, earning an endorsement in another area and passing scores on the PRAXIS examination. If interested, please contact the chair of the mathematics and computer science department and the director of the Teacher Education Program.
Students interested in teaching 6-12 grade Math and/or Algebra I, should contact the Teacher Education Program Secondary Education Coordinator, Dr. Jenny Martin at jmmartin@bridgewater.edu.
CIS-103 Introduction to Computing
An introduction to computing intended as a general education course for all students. Presents an overview of computing including history, operational principles, terminology, components, hardware and software trends, commercial benefits, social impact, legal and ethical aspects, consumer issues, and typical software applications. Hands-on laboratory component introduces word processing, spreadsheets, and databases. Does not count towards the computer science major or minor.
CIS-250 Introduction to Information Systems
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, human-to-computer interfaces, and computer based decision support systems. Credit may not be received for both BUS-330 and CIS-250. Prerequisite: CIS-103 or permission of instructor
CIS-325 Data Communications
This course presents concepts and applications of telecommunications technologies, networks, and distributed information systems. Topics include various standards, protocols, architectures, requirements, communication techniques, and management issues. Prerequisites: CIS-250 or BUS-330 or permission of instructor
CIS-350 Database Management
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
CIS-450 Software Engineering
This course presents an introduction to the latest trends in software engineering, including program specification and requirements. Topics include problem solving techniques and software development. Particular emphasis is placed upon the design of large information systems projects. Prerequisites: CIS-250 or BUS-330, or permission of instructor and one of the following courses: CSCI-101 or CSCI-102
CIS-460 Seminar in Information Systems
Discussion, preparation, and presentation of papers by the students and faculty on topics of current interest in information systems. This is a capstone course for students majoring in Information Systems Management. Prerequisite: Senior standing with a major in Information Systems Management, or permission of the instructor
CIS-480X Internship
CIS-490 Independent Study
CIS-491 Research
CIS-499 Honors Project
CSCI-100 Introduction to Programming
Credits: 4 Term Offered: Spring Only
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-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. Prerequisite: Based on topic, or permission of the instructor Offered on demand
CSCI-462 Software Security
This course covers principles and techniques to improve the security of software. Secure software engineering principles using software development life cycle models are explored. Popular programming languages, vulnerabilities in the languages, execution platforms, compiler provisions, secure libraries, and cryptographic API are covered. Students will analyze code for vulnerabilities and design code to enhance security by exploiting security provisions at compile-time and run-time as well as use cryptographic API. Prerequisites: CSCI-360 Offered alternate years
CSCI-480X Internship
CSCI-490 Independent Study
CSCI-491 Research
CSCI-499 Honors Project
MATH-103 Topics in Basic Mathematics
Credits: 3 Term Offered: May Term
This course is to provide an introduction to fundamental topics in mathematics that, at present, are only available to students taking upper level math classes. There will be two main areas of emphasis plus several additional minor topics. The main areas are Geometry and Linear Algebra. The additional topics include the following: algebra of complex numbers, geometric and arithmetic sequences, and measurement systems (U.S. Customary and metric)
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. FILA general education: master core skills
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. FILA general education: master core skills
MATH-232 Calculus IV
Introduction to multivariate calculus. Included are calculus of vector-valued functions and motion in space; limits, continuity, and partial derivatives of functions of several variables; vector fields, Green's Theorem, The Divergence Theorem, and Stokes' Theorem. Prerequisites: MATH-231 and either MATH-210 or PHYS-301
MATH-300 Set Theory and Symbolic Logic
The first part of the course is devoted to naive set theory and includes the algebra of sets, relations, functions and orders. The second part is devoted to logic, including truth tables and first-order predicate calculus. Prerequisites: MATH-132 and MATH-200
MATH-310 Linear Algebra
Fundamentals of linear algebra, including vector spaces, matrix algebra, linear transformations, and eigenvectors and eigenvalues Prerequisites: MATH-132, MATH-200 and MATH-210 Offered alternate years
MATH-320 Modern Geometry
Fundamental concepts of geometry, including projective and non-Euclidean geometries, with emphasis on the axiomatic method. Prerequisites: MATH-132, MATH-210 and MATH-300, or permission of the instructor Offered alternate years
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. Prerequisites: MATH 231 Offered alternate years
MATH-342 Theoretical Statistics II
An introduction to mathematical statistics including convergence of sequences of random variables, central limit theorem, methods of estimation, hypothesis testing, linear models, and analysis of variance. Prerequisite: MATH-341 Offered alternate years
MATH-350 Numerical Analysis
Topics include iterative techniques for solving non-linear equations, numerical differentiation and integration, and differential equations. Prerequisites: Take MATH-231 and CSCI-101 Offered alternate years
MATH-360 History of Mathematics
Survey of the history of mathematics from ancient civilizations to the modern mathematics of the 19th-century. Prerequisite: MATH-132 Offered alternate years
MATH-410 Modern Algebra
Abstract algebra, with emphasis on algebraic structures such as groups, rings, integral domains, and fields. Prerequisites: MATH-231 and MATH-300 or permission of instructor Offered alternate years
MATH-431 Introduction to Real Variables I
Real number system, topology of Euclidean Spaces, theory of limits, differentiation, integration, and infinite series. Prerequisite: MATH-300 Corequisite: MATH-232 Offered alternate years
MATH-432 Introduction to Real Variables II
Real number system, topology of Euclidean Spaces, theory of limits, differentiation, integration, and infinite series. Prerequisite: MATH-431 Offered alternate years
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. Prerequisite: permission of the instructor Offered alternate years
MATH-480X Internship
MATH-490 Independent Study
MATH-491 Research
MATH-499 Honors Project