Stanford University

Computer Science Theory/Discrete Mathematics Subplan

About the Subplan:

  • intended for students wishing for a strong and deep background in the area of computer science theory and mathematics
  • could prepare students for graduate work in either area, as well as for other careers requiring particular strength in this type of thinking
  • emphasis 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 interests, students are 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).

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.


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.

Note: Math courses taken during Spring 2020 or during the 2020-21 academic year that ordinarily count toward the Math major will still be valid if taken S/NC (Spring 2020) or CR/NC (2020-21). These will not count against the limit of 6 CR/NC elective units that may be applied towards the major. Transfer credits for courses taken elsewhere during Spring 2020 or the 2020-21 academic year and judged equivalent to Stanford courses will be treated the same as those Stanford courses.

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

Subplan Required Courses     Subplan Checklist 

CS Faculty Advisors


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