Main content start

Statistics Data Science Curriculum (2023-24)

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 to a 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.

Coursework

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 - 16 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 - 16 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.

OR

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)

OR

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

Data Science students who started Fall 2022 may substitute STATS 315A for CS229.
Those who started Fall 2023 must enroll in STATS 315A.


 

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
 
(Permissible to enroll in Year 2.)
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

OR

Stochastic Processes (STATS 219/MATH 136)

Introduction to measure theory, Lp spaces and Hilbert spaces. Random variables, expectation, conditional expectation, conditional distribution. Uniform integrability, almost sure and Lp convergence. Stochastic processes: definition, stationarity, sample path continuity. Examples: random walk, Markov chains, Gaussian processes, Poisson processes, Martingales. Construction and basic properties of Brownian motion.

Prerequisite: STATS 116 or MATH 151 or equivalent. Recommended: MATH 115 or equivalent.

Winter 2021 course web page

Terms: Win | Units: 4

Experimentation Elective (3 units)

Experimental method and causal considerations are fundamental to data science. The course chosen from this area must be taken for letter grades.

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 Experiments (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.
 
Not offered 2023-24
Applied Causal Inference with Machine Learning and AI (MS&E 228)
Fundamentals of modern applied causal inference. Basic principles of causal inference and machine learning and how the two can be combined in practice to deliver causal insights and policy implications in real world datasets, allowing for high-dimensionality and flexible estimation. Lectures will provide foundations of these new methodologies and the course assignments will involve real world data (from social science, tech industry and healthcare applications) and synthetic data analysis based on these methodologies.
 
 Prerequisites: basic knowledge of probability and statistics. Recommended: 226 or equivalent.
 
Offered: Winter 2023-24

Scientific Computing (6 units)

Software Development (3 units)

Large Scale Computing (3 units)

Software Development  (3 units)

2022-23 and 2023-24 - CME 212 will not be offered. See instructions below.

In lieu of CME 212 (not offered 2022-23), students must take an additional 3-units from the list of Scientific Computing.

Courses in this area must be taken for letter grades.


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:
    • NOT OFFERED 2023-24: CME211 Programming in C/C++ for Scientists and Engineers (placement exam in Summer Quarter), or equivalent course with advisor's approval.

Software Development: (3 units)

In lieu of CME 212 (not offered 2022-23), students must take an additional 3-units from the list of Scientific Computing.

Large Scale Computing: (3 units)

An additional course (3 units) in Large Scale Computing in lieu of the Software Development requirement.

6 units total

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
NOT OFFERED 2023-24 -Principles of Data-Intensive Systems (CS 245)
Most important computer applications have to reliably manage and manipulate datasets. This course covers the architecture of modern data storage and processing systems, including relational databases, cluster computing frameworks, streaming systems and machine learning systems. Topics include storage management, query optimization, transactions, concurrency, fault recovery, and parallel processing, with a focus on the key design ideas shared across many types of data-intensive systems. 
 
Prerequisites: CS145, 161
 
Terms: Win | Units: 3-4

Machine Learning Methods & Applications (6–9 units)

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

NOT OFFERED 2023-24 - 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
Machine Learning (CS/STATS 229)
Topics: statistical pattern recognition, linear and non-linear regression, non-parametric methods, exponential family, GLMs, support vector machines, kernel methods, deep learning, model/feature selection, learning theory, ML advice, clustering, density estimation, EM, dimensionality reduction, ICA, PCA, reinforcement learning and adaptive control, Markov decision processes, approximate dynamic programming, and policy search. 
 
Prerequisites: knowledge of basic computer science principles and skills at a level sufficient to write a reasonably non-trivial computer program in Python/NumPy to the equivalency of CS106A, CS106B, or CS106X, familiarity with probability theory to the equivalency of CS 109, MATH151, or STATS 116, and familiarity with multivariable calculus and linear algebra to the equivalency of MATH51 or CS205.
 
Terms: Aut, Spr, Sum | 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  Units: 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. Applied Data Science with ICME and  industry partners (CME 218).
  • Stanford ML group - AI for Health Care Bootcamp
    • Students collaborate closely with Postdocs, PhD students from Professor Andrew Ng's lab, the AIMI Center, and faculty members in medicine.
    • Consider the bootcamp as their primary academic engagement (30 hours per week) outside of 1 or 2 courses. We encourage students to sign up for research credits (CS 199, CS 399, etc).
    • Application will open soon in Fall 2023.
    • Pre-reqs:
      • 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.
  • [Have not confirmed 2023-24 course will be offered] Stanford ML group AI for Climate Change Bootcamp
    • Students work closely with PhD students in Professor Andrew Ng's lab and with faculty members in climate change-related fields.
    • The AICC bootcamp is an intense two-quarter program where students work on high-impact research problems at the intersection of AI and climate change.
      •  The bootcamp as their primary academic engagement (30 hours per week) outside of 1 or 2 courses.
      • We encourage students to sign up for research credits (CS 199, CS 399, etc).
    • Pre-reqs:
      • 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.
  • 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.
  • When Offered - Data Driven Impact (ALP 301)

 

  • Xplore Projects (CME 291) Units: 3 | Repeatable 2 times (up to 6 units total) - Enrollment by application only.
    • Autumn projects include:
      • IDM Gates Foundation Disease Eradication
      • Lawrence Berkeley
      • Mathworks Speech/Human Motion
      • Multimodal Emotion Classification
      • Sandia Global Climate
      • Stanford ML in Genomics
      • Stanford COVID Lung Imaging
      • The Ocean Cleanup Beach Analysis
      • World Bank Health Systems

 

  • RETIRED - Analytics Accelerator (CME 217)  Units: 3 | Repeatable 2 times (up to 6 units total) >> REPLACED by Xplore Projects with ICME (CME 291)
    • 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 Science Electives (6–9 units)

In consultation with the student's program advisor, the student selects courses within the realm of data science to fulfill the remaining coursework required for the degree.

Minimum 6 units of elective coursework.

The following courses may also be taken for elective credit:

Programming Methodology (CS 106A)
Introduction to the engineering of computer applications emphasizing modern software engineering principles: program design, decomposition, encapsulation, abstraction, and testing. Emphasis is on good programming style and the built-in facilities of respective languages. Uses the Python programming language.
 
Prerequisites: No prior programming experience required.
 
Terms: Aut, Win, Spr | Units: 3
Programming Abstractions (CS 106B)
Abstraction and its relation to programming. Software engineering principles of data abstraction and modularity. Object-oriented programming, fundamental data structures (such as stacks, queues, sets) and data-directed design. Recursion and recursive data structures (linked lists, trees, graphs). Introduction to time and space complexity analysis. Uses the programming language C++ covering its basic facilities.
 
Prerequisites:  106A or equivalent.
 
Terms: Aut, Win, Spr | Units: 3
Computer Organization and Systems (CS 107)
Introduction to the fundamental concepts of computer systems. Explores how computer systems execute programs and manipulate data, working from the C programming language down to the microprocessor. Topics covered include: the C programming language, data representation, machine-level code, computer arithmetic, elements of code compilation, memory organization and management, and performance evaluation and optimization.
 
Prerequisites:  106B, or consent of instructor.
 
Terms: Aut, Win, Spr | Units: 3
NOT OFFERED 2023-24 - Software Development for Scientists and Engineers (CME 211)
Basic usage of the Python and C/C++ programming languages are introduced and used to solve representative computational problems from various science and engineering disciplines. Software design principles including time and space complexity analysis, data structures, object-oriented design, decomposition, encapsulation, and modularity are emphasized. Usage of campus wide Linux compute resources: login, file system navigation, editing files, compiling and linking, file transfer, etc. Versioning and revision control, software build utilities, and the LaTeX typesetting software are introduced and used to help complete programming assignments.
 
Prerequisites: introductory programming course equivalent to CS 106A or instructor consent.
 
Terms: Aut | Units: 3