Statistics Data Science Curriculum

This focused MS track is developed within the structure of the current MS in Statistics and new trends in data science and analytics. Upon the successful completion of the Data Science MS degree students will be prepared to continue on to related doctoral program or as a data science professional in industry. Completing the MS degree is not a direct path for admission to the PhD program in Statistics.

This program is not an online degree program.


The Data Science track develops strong mathematical, statistical, computational and programming skills, in addition to providing fundamental data science education through general and focused electives requirement from courses in data sciences and other areas of interest.

As defined in the general Graduate Student Requirements, students have to maintain a grade point average (GPA) of 3.0 or better and classes must be taken at the 200 level or higher. Students satisfying the course requirements of the Data Science track do not satisfy the other course requirements for the M.S. in Statistics

The total number of units in the degree is 45, 36 of which must be taken for a letter grade.

Submission of approved Master's Program Proposal, signed by the master's advisor, to the student services officer by the end of the first quarter of the master's degree program. A revised program proposal is required to be filed whenever there are changes to a student's previously approved program proposal.

There is no thesis requirement.


Data Science Proposal Forms

Students must demonstrate breadth of knowledge in the field by completing courses in these core areas.

  • Mathematical & Statistical Foundations (15 units)
  • Experimentation (3 units)
  • Scientific Computing (includes software development & large-scale computing) (6 units minimum)
  • Machine Learning Methods & Applications (6 units minimum)
  • Practical Component (3 units)
  • Elective course in the data sciences (remainder of 45 units)

Mathematical and Statistical Foundations (15 units)

Students must demonstrate foundational knowledge in the field by completing the following courses. Courses in this area must be taken for letter grades.

Introduction to Statistical Inference (STATS 200)
Modern statistical concepts and procedures derived from a mathematical framework. Statistical inference, decision theory; point and interval estimation, tests of hypotheses; Neyman-Pearson theory. Bayesian analysis; maximum likelihood, large sample theory.
Prerequisite: STATS 116.


Theory of Statistics I (STATS 300A)

Finite sample optimality of statistical procedures; Decision theory: loss, risk, admissibility; Principles of data reduction: sufficiency, ancillarity, completeness; Statistical models: exponential families, group families, nonparametric families; Point estimation: optimal unbiased and equivariant estimation, Bayes estimation, minimax estimation; Hypothesis testing and confidence intervals: uniformly most powerful tests, uniformly most accurate confidence intervals, optimal unbiased and invariant tests.


Prerequisites: Real analysis, introductory probability (at the level of STATS 116), and introductory statistics.


Introduction to Regression Models and Analysis of Variance (STATS 203)

Modeling and interpretation of observational and experimental data using linear and nonlinear regression methods. Model building and selection methods. Multivariable analysis. Fixed and random effects models. Experimental design. Prerequisites: A post-calculus introductory probability course, e.g. STATS 116, basic computer programming knowledge, some familiarity with matrix algebra, and a pre- or co-requisite post-calculus mathematical statistics course, e.g. STATS 200.


Or STATS 203V (Su)


Applied Statistics I (STATS 305A)
Statistics of real valued responses. Review of multivariate normal distribution theory. Univariate regression. Multiple regression. Constructing features from predictors. Geometry and algebra of least squares: subspaces, projections, normal equations, orthogonality, rank deficiency, Gauss-Markov. Gram-Schmidt, the QR decomposition and the SVD. Interpreting coefficients. Collinearity. Dependence and heteroscedasticity. Fits and the hat matrix. Model diagnostics. Model selection, Cp/AIC and crossvalidation, stepwise, lasso. Multiple comparisons. ANOVA, fixed and random effects. Use of bootstrap and permutations. Emphasis on problem sets involving substantive computations with data sets.
Prerequisites: consent of instructor, 116, 200, applied statistics course, CS 106A, MATH 114.
Terms: Aut | Units: 3


Modern Applied Statistics: Learning (STATS 315A)
Overview of supervised learning. Linear regression and related methods. Model selection, least angle regression and the lasso, step-wise methods. Classification. Linear discriminant analysis, logistic regression, and support vector machines (SVMs). Basis expansions, splines and regularization. Kernel methods. Generalized additive models. Kernel smoothing. Gaussian mixtures and the EM algorithm. Model assessment and selection: cross-validation and the bootstrap. Pathwise coordinate descent. Sparse graphical models.
Prerequisites: STATS 305A, 305B, 305C or consent of instructor.
Terms: Win | Units: 3
Numerical Linear Algebra (CME 302)
Solution of linear systems, accuracy, stability, LU, Cholesky, QR, least squares problems, singular value decomposition, eigenvalue computation, iterative methods, Krylov subspace, Lanczos and Arnoldi processes, conjugate gradient, GMRES, direct methods for sparse matrices.
Prerequisites: CME 108/ Math 114 and one of Math 104 or Math 113.
Terms: Aut | Units: 3
Stochastic Methods in Engineering (CME 308)
The basic limit theorems of probability theory and their application to maximum likelihood estimation. Basic Monte Carlo methods and importance sampling. Markov chains and processes, random walks, basic ergodic theory and its application to parameter estimation. Discrete time stochastic control and Bayesian filtering. Diffusion approximations, Brownian motion and an introduction to stochastic differential equations. Examples and problems from various applied areas.
Prerequisites: exposure to probability and background in analysis.
Terms: Spr | Units: 3

Experimentation Elective (3 units)

Courses in this area must be taken for letter grades.

Introduction to Causal Inference (STATS 209)
This course introduces the fundamental ideas and methods in causal inference, with examples drawn from education, economics, medicine, and digital marketing. Topics include potential outcomes, randomization, observational studies, matching, covariate adjustment, AIPW, heterogeneous treatment effects, instrumental variables, regression discontinuity, and synthetic controls.
Prerequisites: basic probability and statistics, familiarity with R.
Terms: Aut | Units: 3
Design of Experiements (STATS 263/363)
Experiments vs observation. Confounding. Randomization. ANOVA.Blocking. Latin squares. Factorials and fractional factorials. Split plot. Response surfaces. Mixture designs. Optimal design. Central composite. Box-Behnken. Taguchi methods. Computer experiments and space filling designs.
Prerequisites: probability at STATS 116 level or higher, and at least one course in linear models.

Software Development and Scientific Computing  (6 units minimum)

To ensure that students have a strong foundation in programming, 3 units of software development (CME212) and minimum 3 units of scientific computing.

  • Students who do not start the program with a strong computational and/or programming background will take an extra 3 units to prepare themselves by taking CME211* Programming in C/C++ for Scientists and Engineers, or equivalent course with advisor's approval.
  • Summer placement exam for CME 212 will be sent to matriculating students in July. Students who pass this placement test are not required to take CME 211, and may replace the class with an elective.

Courses in this area must be taken for letter grades.

Software Development: (3 units)

Advanced Software Development for Scientists and Engineers (prerequisite: CME 211* )
Advanced topics in software development, debugging, and performance optimization are covered. The capabilities and usage of common libraries and frameworks such as BLAS, LAPACK, FFT, PETSc, and MKL/ACML are reviewed. Computer representation of integer and floating point numbers, and interoperability between C/C++ and Fortran is described. More advanced software engineering topics including: representing data in files, signals, unit and regression testing, and build automation. The use of debugging tools including static analysis, gdb, and Valgrind are introduced. An introduction to computer architecture covering processors, memory hierarchy, storage, and networking provides a foundation for understanding software performance. Profiles generated using gprof and perf are used to help guide the performance optimization process. Computational problems from various science and engineering disciplines will be used in assignments.
Prerequisites: CME 200 / ME 300A and CME 211.
Terms: Win | Units: 3

Scientific Computing: (36 units)

Introduction to parallel computing using MPI, openMP, and CUDA (CME 213)
This class will give hands-on experience with programming multicore processors, graphics processing units (GPU), and parallel computers. The focus will be on the message passing interface (MPI, parallel clusters) and the compute unified device architecture (CUDA, GPU). Topics will include multithreaded programs, GPU computing, computer cluster programming, C++ threads, OpenMP, CUDA, and MPI.
Pre-requisites include C++, templates, debugging, UNIX, makefile, numerical algorithms (differential equations, linear algebra).
Terms: Spr | Units: 3
Discrete Mathematics and Algorithms (CME 305)
Topics: Basic Algebraic Graph Theory, Matroids and Minimum Spanning Trees, Submodularity and Maximum Flow, NP-Hardness, Approximation Algorithms, Randomized Algorithms, The Probabilistic Method, and Spectral Sparsification using Effective Resistances. Topics will be illustrated with applications from Distributed Computing, Machine Learning, and large-scale Optimization.
Prerequisites: CS 261 is highly recommended, although not required.
Terms: Win | Units: 3
Optimization (CME 307)
Applications, theories, and algorithms for finite-dimensional linear and nonlinear optimization problems with continuous variables. Elements of convex analysis, first- and second-order optimality conditions, sensitivity and duality. Algorithms for unconstrained optimization, and linearly and nonlinearly constrained problems. Modern applications in communication, game theory, auction, and economics.
Prerequisites: MATH 113, 115, or equivalent.
Terms: Win | Units: 3
Distributed Algorithms and Optimization (CME 323)
The emergence of clusters of commodity machines with parallel processing units has brought with it a slew of new algorithms and tools. Many fields such as Machine Learning and Optimization have adapted their algorithms to handle such clusters. Topics include distributed and parallel algorithms for: Optimization, Numerical Linear Algebra, Machine Learning, Graph analysis, Streaming algorithms, and other problems that are challenging to scale on a commodity cluster. The class will focus on analyzing parallel and distributed programs, with some implementation using Apache Spark and TensorFlow.
Recommended prerequisites: Discrete math at the level of CS 161 and programming at the level of CS 106A.
Terms: Spr | Units: 3
Convex Optimization I (CME 346A)
Convex sets, functions, and optimization problems. The basics of convex analysis and theory of convex programming: optimality conditions, duality theory, theorems of alternative, and applications. Least-squares, linear and quadratic programs, semidefinite programming, and geometric programming. Numerical algorithms for smooth and equality constrained problems; interior-point methods for inequality constrained problems. Applications to signal processing, communications, control, analog and digital circuit design, computational geometry, statistics, machine learning, and mechanical engineering.
Prerequisite: linear algebra such as EE263, basic probability.
Terms: Win, Sum | Units: 3
Mining Massive Data Sets (CS 246)
The availability of massive datasets is revolutionizing science and industry. This course discusses data mining and machine learning algorithms for analyzing very large amounts of data. Topics include: Big data systems (Hadoop, Spark); Link Analysis (PageRank, spam detection); Similarity search (locality-sensitive hashing, shingling, min-hashing); Stream data processing; Recommender Systems; Analysis of social-network graphs; Association rules; Dimensionality reduction (UV, SVD, and CUR decompositions); Algorithms for large-scale mining (clustering, nearest-neighbor search); Large-scale machine learning (decision tree ensembles); Multi-armed bandit; Computational advertising.
Prerequisites: At least one of CS107 or CS145.
Terms: Win | Units: 3-4

Machine Learning Methods & Applications (6–9 units minimum)

Courses in this area must be taken for letter grades. Courses outside this list are subject to approval.

Modern Applied Statistics: Data Mining (STATS 315B)
Two-part sequence. New techniques for predictive and descriptive learning using ideas that bridge gaps among statistics, computer science, and artificial intelligence. Emphasis is on statistical aspects of their application and integration with more standard statistical methodology. Predictive learning refers to estimating models from data with the goal of predicting future outcomes, in particular, regression and classification models. Descriptive learning is used to discover general patterns and relationships in data without a predictive goal, viewed from a statistical perspective as computer automated exploratory analysis of large complex data sets.
Terms: Spr | Units: 3
Artificial Intelligence: Principles and Techniques (CS 221)
Artificial intelligence (AI) has had a huge impact in many areas, including medical diagnosis, speech recognition, robotics, web search, advertising, and scheduling. This course focuses on the foundational concepts that drive these applications. In short, AI is the mathematics of making good decisions given incomplete information (hence the need for probability) and limited computation (hence the need for algorithms). Specific topics include search, constraint satisfaction, game playing,n Markov decision processes, graphical models, machine learning, and logic.
Prerequisites: CS 103 or CS 103B/X, CS 106B or CS 106X, CS 109, and CS 161 (algorithms, probability, and object-oriented programming in Python). We highly recommend comfort with these concepts before taking the course, as we will be building on them with little review.
Terms: Aut, Spr | Units: 3-4
Natural Language Processing with Deep Learning (CS 224N)
Methods for processing human language information and the underlying computational properties of natural languages. Focus on deep learning approaches: understanding, implementing, training, debugging, visualizing, and extending neural network models for a variety of language understanding tasks. Exploration of natural language tasks ranging from simple word level and syntactic processing to coreference, question answering, and machine translation. Examination of representative papers and systems and completion of a final project applying a complex neural network model to a large-scale NLP problem.
Prerequisites: calculus and linear algebra; CS124, CS221, or CS229.
Terms: Win | Units: 3-4
Deep Learning (CS 230)
Deep Learning is one of the most highly sought after skills in AI. We will help you become good at Deep Learning. In this course, you will learn the foundations of Deep Learning, understand how to build neural networks, and learn how to lead successful machine learning projects. You will learn about Convolutional networks, RNNs, LSTM, Adam, Dropout, BatchNorm, Xavier/He initialization, and more. You will work on case studies from healthcare, autonomous driving, sign language reading, music generation, and natural language processing. You will master not only the theory, but also see how it is applied in industry. You will practice all these ideas in Python and in TensorFlow, which we will teach. AI is transforming multiple industries. After this course, you will likely find creative ways to apply it to your work. This class is taught in the flipped-classroom format. You will watch videos and complete in-depth programming assignments and online quizzes at home, then come in to class for advanced discussions and work on projects. This class will culminate in an open-ended final project, which the teaching team will help you on.
Prerequisites: Familiarity with programming in Python and Linear Algebra (matrix / vector multiplications). CS 229 may be taken concurrently.
Terms: Aut, Spr | Units: 3-4
Deep Learning for Computer Vision (CS 231N)
Computer Vision has become ubiquitous in our society, with applications in search, image understanding, apps, mapping, medicine, drones, and self-driving cars. Core to many of these applications are visual recognition tasks such as image classification and object detection. Recent developments in neural network approaches have greatly advanced the performance of these state-of-the-art visual recognition systems. This course is a deep dive into details of neural-network based deep learning methods for computer vision. During this course, students will learn to implement, train and debug their own neural networks and gain a detailed understanding of cutting-edge research in computer vision. We will cover learning algorithms, neural network architectures, and practical engineering tricks for training and fine-tuning networks for visual recognition tasks.
Prerequisites: Proficiency in Python; CS131 and CS229 or equivalents; MATH21 or equivalent, linear algebra.
Terms: Spr | Units: 3-4
Reinforcement Learning (CS 234)
To realize the dreams and impact of AI requires autonomous systems that learn to make good decisions. Reinforcement learning is one powerful paradigm for doing so, and it is relevant to an enormous range of tasks, including robotics, game playing, consumer modeling and healthcare. This class will briefly cover background on Markov decision processes and reinforcement learning, before focusing on some of the central problems, including scaling up to large domains and the exploration challenge. One key tool for tackling complex RL domains is deep learning and this class will include at least one homework on deep reinforcement learning.
Prerequisites: proficiency in python, CS 229 or equivalents or permission of the instructor; linear algebra, basic probability.
Terms: Win | Units: 3
Deep Generative Models (CS 236)
Generative models are widely used in many subfields of AI and Machine Learning. Recent advances in parameterizing these models using neural networks, combined with progress in stochastic optimization methods, have enabled scalable modeling of complex, high-dimensional data including images, text, and speech. In this course, we will study the probabilistic foundations and learning algorithms for deep generative models, including Variational Autoencoders (VAE), Generative Adversarial Networks (GAN), and flow models. The course will also discuss application areas that have benefitted from deep generative models, including computer vision, speech and natural language processing, and reinforcement learning.
Prerequisites: Basic knowledge about machine learning from at least one of CS 221, 228, 229 or 230. Students will work with computational and mathematical models and should have a basic knowledge of probabilities and calculus. Proficiency in some programming language, preferably Python, required.
Terms: Aut | Units: 3

Practical Component of Capstone project

Students are required to take minimum of 3 units of practical component that may include any combination of:

A capstone project, supervised by a faculty member and approved by the student's advisor. The capstone project should be computational in nature. Students should submit a one- page proposal, supported by the faculty member and sent to the student's Data Science advisor for approval (at least one quarter prior to start of project).

  • Master's Research: STATS 299 Independent Study. In consultation with your advisor, independent study/directed reading with permission of statistics faculty. (repeatable).
  • BIODS 232: Consulting Workshop on Biomedical Data Science (1–2 units)
  • Gain practical industry experience and exposure to the organization, its industry, and the space in which it operates, Build relationships in the organization and industry, and gain an understanding of related career paths. ALP 301 Data-Driven Impact
  • AI for Health Care bootcamp
    • Two quarter commitment (research credit)
    • Students with a background in artificial intelligence, software engineering or medicine are encouraged to apply. The bootcamp is suited for students who have taken machine learning and software engineering courses.
  • AI for Climate Change bootcamp
    • Two quarter commitment (research credit)
    • Students with a background in artificial intelligence, software engineering or medicine are encouraged to apply. This role is suited for students who have taken machine learning and software engineering courses.
  • Analytics Accelerator (CME 217)  Units: 3 | Repeatable 2 times (up to 6 units total)
    •  multidisciplinary graduate level course offering real-world project-based research. Students work in dynamic teams with the support of course faculty, and outside analytics experts to scope and research projects, apply a computational and data analytics lens and follow design thinking methodology.
    • Enrollment by application only.
  • Data Driven Impact (ALP 301) [ when offered]
  • Other courses that have a strong hands-on and practical component, such as STATS 390 Consulting Workshop (repeatable).
    • This class requires mastery of Statistics at the (graduate) level necessary to provide consultation to fellow members of the university.
    • Students attend weekly lectures on Friday to discuss consulting cases and various statistical techniques that arise frequently in consulting.


Data Science Electives (6 -9 units)

In consultation with the student's program advisor, the student selects courses in a scientific or engineering application area of interest, i.e., courses 200 or above in STATS or CME.


Minimum 6 units of elective coursework.