Main content start

Computer Science Theory/Discrete Mathematics Subplan


Contact mathstudentservices [at] (mathstudentservices[at]stanford[dot]edu).

About the Subplan

The Computer Science Theory / Discrete Mathematics subplan is intended for students wishing for a strong and deep background in the area of computer science theory and mathematics. It could prepare students for graduate work in either area, as well as for other careers requiring particular strength in this type of thinking.

Determining if this Subplan is Right for You

Because the emphasis of the subplan is on theory, students who are 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).

Declaring the Subplan

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 How to Declare  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 Math major must be satisfied, and the selection of courses must contain the required courses listed below. 

For the purposes of the Subplan, the required Computer Science Department courses can count toward either the Math Department courses or the additional courses. All required courses must be taken for a letter grade.

Subplan Required Courses

Subplan Checklist

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. These courses must be taken for a letter grade.

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.

Required Courses

Optional Introductory Courses

These courses may count toward the 57 units of Math Department courses as long as they are taken for a letter grade

  • AP Credit or Math 19/20/21 (10 units)
  • Math 61DM/62DM/63DM* (strongly recommended) or Math 51/52/53 or Math 61CM/62CM/63CM (10-15 units)

*If you are using Math 61DM toward the Additional Required Math Courses below, then only the units for 62DM and 63DM should be counted towards your total units here.

Required Math Courses

These courses must be completed for the subplan and must be taken for a letter grade.

  • Math 116 or Math 143 or Math 144 or Math 147 (4 units)
  • Math 120 (4 units)
  • Math 171 (4 units)
Required CS Theory Courses

Take both courses for a letter grade.

  • CS 154 (3 - 4 units)
  • CS 161 (3 - 5 units)
Two Combinatorics Courses

Choose two of these courses. Must be taken for a letter grade.

  • Math 61DM (5 units)
  • Math 107 (4 units)
  • Math 108 (4 units)
  • Math 233A/B/C (3 units)
One Probability Course

Choose one course. Must be taken for a letter grade.

  • Math 151 (4 units)
  • Math 230A (3 units)
  • Stats 116 (4 - 5 units)
Two Additional Courses

Choose two of the following courses. Must be taken for a letter grade.

  • Math 113 (4 units)
  • Math 152 (4 units)
  • Math 154 (4 units)
  • Math 155 (4 units)
  • Math 159 (4 units)
  • Math 161 (4 units)
Four CS Courses

Choose 4 courses from this list. Must be taken for a letter grade.

  • CS 168 (4 units)
  • CS 250 (3 units)
  • CS 252 (3 units
  • CS 254 (3 units)
  • CS 254B (3 units)
  • CS 255 (3 units)
  • CS 259Q (3 units)
  • CS 260 (3 units)
  • CS 261 (3 units)
  • CS 263 (3 units)
  • CS 265 (3 units)
  • CS 268 (3 units)

Subplan Faculty Advisors

Honors in the Computer Science Theory/Discrete Mathematics Subplan

Students who have declared the Subplan may also pursue honors in the major. All of the honors requirements must be fulfilled except for the 7 additional 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.