Stanford University


Choose three courses in Mathematical and Computational Science 100-level or above, at least 3 units each from two different departments. 

Electives not listed here should be reviewed via the Elective Approval Form.

Undeclared students looking for an introduction to MCS may take Data Science 101 (STATS 101).  If the student then declares the MCS major, STATS 101 may be used for elective credit toward the major.

Important notes:

  • All electives listed below are 9 units. 
  • Electives that are not offered this year, but may be offered in subsequent years, are eligible for credit toward the major.
  • With the adviser's approval, courses other than those offered by the sponsoring departments may be used to fulfill part of the elective requirement. Courses must provide skills relevant to the MCS degree and do not overlap courses in the student's program. Depending on student’s interests, these may be in fields such as biology, economics, electrical engineering, industrial engineering, and medicine, are otherwise relevant to a mathematical sciences major.
  • ECON 102C Advanced Topics in Econometrics
  • ECON 140 Introduction to Financial Economics
  • ECON 160 Game Theory and Economic Applications
  • ECON 179 Experimental Economics
  • EE 261 The Fourier Transform and Its Applications
  • EE 263 Introduction to Linear Dynamical Systems
  • EE 278 Introduction to Statistical Signal Processing
  • EE 282 Computer Systems Architecture
  • EE 364A Convex Optimization I
  • EE 364B Convex Optimization II
  • PHIL 151 Metalogic
  • CME 206 Introduction to Numerical Methods for Engineering
  • CME 211 Software Development for Scientists and Engineers
  • CME 302 Numerical Linear Algebra
  • CS 108 Object-Oriented Systems Design
  • CS 110 Principles of Computer Systems
  • CS 140Operating Systems and Systems Programming
  • CS 143Compilers
  • CS 157 Logic and Automated Reasoning
  • CS 161 Design and Analysis of Algorithms
  • CS 194 Software Project
  • CS 221 Artificial Intelligence: Principles and Techniques
  • CS 223A Introduction to Robotics
  • CS 225A Experimental Robotics
  • CS 228 Probabilistic Graphical Models: Principles and Techniques
  • CS 229 Machine Learning
  • CS 243 Program Analysis and Optimizations
  • CS 246 Mining Massive Data Sets
  • CS 248 Interactive Computer Graphics