Size / / /

Declaration Process     Requirements     Advising     Honors

This Subplan is intended for students wishing for a strong and deep background in the area of computer science theory and mathematics.  The Subplan could prepare students for graduate work in either area, as well as for other careers requiring particular strength in this type of thinking.  The emphasis of this Subplan is on theory; students interested in a combination of mathematics and computer science more generally should consider the Bachelor of Science in Mathematical and Computational Science.  Depending on their interests, students are also encouraged to consider the regular mathematics major, and the computer science major (and in particular, the computer science theory track of the computer science major).

Subplan Declaration Process

In order to declare the Subplan in Computer Science Theory/Discrete Mathematics, you must also declare the Mathematics major. The Subplan can be declared at the same time that the major is declared, or it can be declared at a later date if you are already a Mathematics major.

The Subplan declaration process is the same as the major declaration process. Please see the Major Declaration Process page for detailed instructions about how to declare. If you are declaring the major and the Subplan at the same time, you must select both the major and the Subplan in Axess before submitting your declaration.

Subplan Requirements

The requirements of the Mathematics major must be satisfied:

64 total units

  • 49 of which must be Math Department courses taken for a letter grade (Mathematics AP credit can be included in the 49 units)
  • 15 additional units of Math Department courses numbered 101 and above or approved courses in other disciplines with significant mathematical content, up to 6 of which can be taken for CR/NC.

See the Major Requirements page for full details.

The selection of courses for the 64 total units must contain the required courses listed in the chart below. For the purposes of the Subplan, the required Computer Science Department courses can count toward either the 49 units of Math Department courses or the 15 additional units. All required courses must be taken for a letter grade.

In addition to the required courses, it is strongly recommended that you have either taken the Single Variable Calculus series (see information about this series on the Introductory Math Courses page) or have equivalent Advanced Placement credit (see information about this credit on the Advanced Placement page on Registrar’s Office website). Up to 10 units of Single Variable Calculus may count toward the 49 units of Math Department classes. If you are taking Single Variable Calculus courses you must take them for a letter grade in order for them to count toward the 49 units of Math Department courses.

The full 60DM (Modern Mathematics: Discrete Methods) series is strongly recommended for students interested in the Subplan. Up to 15 units from that series or from the Math 50-series or 60CM-series count toward the 49 units of Math Department classes. (Please see the Introductory Math Courses page for information about these series.) These courses must be taken for a letter grade in order for them to count toward the 49 units of Math Department courses.


Optional Courses    
These courses may count toward the 49 units of Math Department courses as long as they are taken for a letter grade.    
AP Credit or Math 19/20/21 10
Math 61DM*/62DM/63DM (strongly recommended) or other Multivariable Mathematics series (60CM or 50 series) 10-15
*If you are using Math 61DM toward the Additional Required Math Courses below, then only the units for 62DM and 63DM should be counted toward your total units here.
Required Courses
These courses must be completed for the Subplan and must be taken for a letter grade.
Required Math Courses
Math 106 or 116 3
Math 120 3
Math 171 3
Required CS Theory Courses:
CS 154 3-4
CS 161 3-5
Additional Required Math Courses
Two of the following in Combinatorics: Units
Math 61DM 5
Math 107 3
Math 108 3
Math 233A/B/C 3 each
One of the following in Probability:
Math 151 3
Math 230A 3
Stats 116 3-5
Two of the following:
Math 113 3
Math 152 3
Math 154 3
Math 155 3
Math 159 3
Math 161 3
Additional Required CS Courses
Four of the following in Computer Science Theory: Units
CS 167 3
CS 168 3-4
CS 254 3
CS 255 3
CS 261 3
CS 265 3
CS 268 3


Please note, these are required courses; exceptions or substitutions will not be permitted.

Subplan Advising

Please choose form the advisors listed below. Should you opt to drop the Subplan and continue with the general Mathematics major, your advisor may need to be updated to a Math faculty advisor.


Subplan Advisors from the Mathematics Faculty:

Jacob Fox

Kannan Soundararajan

Ravi Vakil

Jan Vondrak


Subplan Advisors from the Computer Science Faculty:

Dan Boneh

Moses Charikar

Tim Roughgarden



Students who have declared the Subplan may also pursue honors in the major. The honors requirements must be fulfilled except for the 7 additional 3-unit Math courses numbered 121 or higher. You must complete the required courses for the Subplan plus the additional 6 units of Math 197 and an honors thesis. For more information about the honors degree, please see the Honors in the Major page

Questions? Contact the Math Department Student Services Specialist. 

Stanford University Department of Mathematics
SU Home Maps & Directions Search Stanford Terms of Use Copyright Complaints
© Stanford University, Stanford, California 94305