Boston UniversityWebsiteAcademic Catalog
Department of Computer ScienceDepartment Website
BA Degree in Statistics 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 units from
CS courses level 400 or above
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.
- Basic Statistics and ProbabilityMA 213 (4)mathMA 213: Basic Statistics and Probability
Elementary treatment of probability densities, means, variances, correlation, independence, the central limit theorem, confidence intervals, and p-values. Students will be able to answer questions such as how can a pollster use a sample to predict the uncertainty of an election? Carries MCS divisional credit in CAS.
- Applied StatisticsMA 214 (4)mathMA 214: Applied Statistics
Inference about proportions, goodness of fit, student's t-distribution, tests for normality; two-sample comparisons, regression and correlation, tests for linearity and outliers, residual analysis, contingency tables, analysis of variance. Carries MCS divisional credit in CAS.
- Multivariate CalculusMA 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.)
- 1 units from
MA courses level 200 or above in Statistics or Probability - Linear ModelsMA 575 (0)mathMA 575: Linear Models
Post-introductory course on linear models. Topics to be covered include simple and multiple linear regression, regression with polynomials or factors, analysis of variance, weighted and generalized least squares, transformations, regression diagnostics, variable selection, and extensions of linear models.
- Mathematical StatisticsorMA 582 (4)mathMA 582: Mathematical Statistics
Point 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.
Computational StatisticsMA 589 (4)mathMA 589: Computational StatisticsTopics from computational statistics that are relevant to modern statistical applications: random number generation, sampling, Monte Carlo methods, computational inference, MCMC methods, graphical models, data partitioning, and bootstrapping. Emphasis on developing solid conceptual understanding of the methods through applications.
Other Courses
Essential Competencies
- In-depth knowledge in the mathematical, probabilistic, and statistical foundations.
- Programming software engineering skills.
- Ability to apply statistical analysis and modeling to reason from data in a principled manner.
- Combined theoretical and technical skills to use for real-world applications.