Boston UniversityWebsiteAcademic Catalog
Department of Computer ScienceDepartment Website
BA Degree in Mathematics and Computer Sciencesource 1
CS Courses
- Introduction to Computer Science 1CS 111 (4)introCS 111: Introduction to Computer Science 1
The first course for computer science majors and anyone seeking a rigorous introduction. Develops computational problem-solving skills by programming in the Python language, and exposes students to variety of other topics from computer science and its applications. Carries MCS divisional credit in CAS.
- Introduction to Computer Science 2CS 112 (4)introCS 112: Introduction to Computer Science 2
Covers advanced programming techniques and data structures. Topics include recursion, algorithm analysis, linked lists, stacks, queues, trees, graphs, tables, searching, and sorting. Carries MCS divisional credit in CAS.
- or
- Computer SystemsCS 210 (4)sysCS 210: Computer Systems
Fundamental concepts of computer systems and systems programming. Hardware fundamentals including digital logic, memory systems, processor design, buses, I/O subsystems, data representations, computer arithmetic, and instruction-set architecture. Software concepts including assembly language programming, operating systems, assemblers, linkers, and systems programming in C.
- Probability in ComputingorCS 237 (4)mathCS 237: Probability in Computing
Introduction to basic probabilistic concepts and methods used in computer science. Develops an understanding of the crucial role played by randomness in computing, both as a powerful tool and as a challenge to confront and analyze. Emphasis on rigorous reasoning, analysis, and algorithmic thinking.
ProbabilityMA 581 (4)mathMA 581: ProbabilityBasic probability, conditional probability, independence. Discrete and continuous random variables, mean and variance, functions of random variables, moment generating function. Jointly distributed random variables, conditional distributions, independent random variables. Methods of transformations, law of large numbers, central limit theorem. Cannot be taken for credit in addition to MA 381.
- pick 2
Elements of the Theory of ComputationCS 332 (4)theoryCS 332: Elements of the Theory of ComputationThe basic concepts of the theory of computation are studied. Topics include models of computation, polynomial time, Church's thesis; universal algorithms, undecidability and intractability; time and space complexity, nondeterminism, probabilistic computation and reductions of computational problems.
Fundamentals of Computing SystemsCS 350 (4)sysCS 350: Fundamentals of Computing SystemsProgramming-centric introduction to computer systems. The course discusses system design principles, performance analysis, communication and synchronization primitives, concurrency control, database transactions, data consistency, task and data parallelism, replication, fault tolerance, and distributed consensus. Part of the discussion includes case studies of real systems from industry. All programming assignments will be in Go.
- Introduction to Analysis of AlgorithmsCS 330 (4)algsCS 330: Introduction to Analysis of Algorithms
Examines the basic principles of algorithm design and analysis; graph algorithms; greedy algorithms; dynamic programming; network flows; polynomial-time reductions; NP-hard and NP-complete problems; approximation algorithms; randomized algorithms.
- 2 × CS Elective 400+
Math/Stat Courses
- Calculus IIMA 124 (4)mathMA 124: Calculus II
Logarithmic, exponential, and trigonometric functions. Sequences and series; Taylor's series with the remainder. Methods of integration. Calculus I and II together constitute an introduction to calculus of a function of a single real variable. Carries MCS divisional credit in CAS.
- Multivariate CalculusorMA 230MA 225 (4)mathMA 225: Multivariate Calculus
Vectors, lines, planes. Multiple integration, cylindrical and spherical coordinates. Partial derivatives, directional derivatives, scalar and vector fields, the gradient, potentials, approximation, multivariate minimization, Stokes's and related theorems. (Cannot be taken for credit in addition to MA 230.)
- orMathematical LogicMA 531 (4)mathMA 531: Mathematical Logic
The investigation of logical reasoning with mathematical methods. The syntax and semantics of sentential logic and quantificational logic. The unifying Godel Completeness Theorem, and models of theories. A look at the Godel Incompleteness Theorem and its ramifications.
ororNumerical Analysis IMA 555 (4)mathMA 555: Numerical Analysis INumerical solutions of equations, iterative methods, analysis of sequences. Theory of interpolation and functional approximation, divided differences. Numerical differentiation and integration. Polynomial theory. Ordinary differential equations.
Numerical Analysis IIMA 556 (4)mathMA 556: Numerical Analysis IINumerical linear algebra; norms, elimination methods, error analysis, conditioning, eigenvalues, iterative methods, least squares and nonlinear functional minimization. Partial differentiation equation boundary value and initial value problems. Finite element methods. Legendre and Chebyshev polynomials. Treatment in greater depth of selected topics from MA 555.
orOptimization Methods of Operations ResearchMA 569 (4)mathMA 569: Optimization Methods of Operations ResearchOptimization of linear functions: linear programming, simplex method; transportation, assignment, and network problems. Optimization of non-linear functions: unconstrained optima, constrained optima and Lagrange multipliers, Kuhn-Tucker conditions, calculus of variations, and Euler's equation.
Stochastic Methods of Operations ResearchMA 570 (4)mathMA 570: Stochastic Methods of Operations ResearchPoisson processes, Markov chains, queuing theory. Matrix differential equations, differential-difference equations, probability-generating functions, single- and multiple-channel queues, steady-state and transient distributions.
pick 2
ProbabilityMA 581 (4)mathMA 581: ProbabilityBasic probability, conditional probability, independence. Discrete and continuous random variables, mean and variance, functions of random variables, moment generating function. Jointly distributed random variables, conditional distributions, independent random variables. Methods of transformations, law of large numbers, central limit theorem. Cannot be taken for credit in addition to MA 381.
Mathematical StatisticsMA 582 (4)mathMA 582: Mathematical StatisticsPoint estimation including unbiasedness, efficiency, consistency, sufficiency, minimum variance unbiased estimator, Rao-Blackwell theorem, and Rao-Cramer inequality. Maximum likelihood and method of moment estimations; interval estimation; tests of hypothesis, uniformly most powerful tests, uniformly most powerful unbiased tests, likelihood ratio test, and chi-square test.
Introduction to Stochastic ProcessesMA 583 (4)mathMA 583: Introduction to Stochastic ProcessesBasic concepts and techniques of stochastic process as they are most often used to construct models for a variety of problems of practical interest. Topics include Markov chains, Poisson process, birth and death processes, queuing theory, renewal processes, and reliability.
Other Courses
Learning Outcomes
Mathematics & Computer Science majors will be able to demonstrate:
- In-depth knowledge in the mathematical foundations.
- Programming and software engineering skills.
- Combined theoretical and technical skills to use on real-world applications.
History of the Major
2024 | |
2023 | |
2022 | |
2021 | |
2020 | Add "MA 581 (Probability) or CS 237 (Probability in Computing)". |
2019 | Drop "MA 581 (Probability) or CS 237 (Probability in Computing)". Add option of 2-of-3 sequence in statistics. |
2018 | Add "MA 581 (Probability) or CS 237 (Probability in Computing)". Allow CS 131 (Combinatorial Algorithms) instead of Discrete Math. Replace CS 332 (Elements of the Theory of Computation) + CS 350 (Fundamentals of Computing Systems) → two of CS 332, CS 350, or CS 320 (Concepts of Programming Languages). |
2017 | todo. |