Skip to main content Skip to secondary navigation

PhD | Foundation and Breadth Requirements

Main content start

Overview

The goals for the Foundation and Breadth Requirements in the PhD program are:

  1. To preserve the cohesiveness of Computer Science as a discipline with some common language, foundational knowledge, and shared perspectives.
  2. To support the development of researchers that can draw inspiration from a wide range of sub-disciplines and other fields.
  3. To instill sufficient understanding of the approaches, tools, and techniques of other sub-disciplines which encourages, enables collaboration, and communication between different fields.

Students are expected to complete three (3-unit) Foundation/Breadth requirements (Foundation courses are included only for students who cannot waive courses and must complete Foundation Requirements while in the PhD program) by the spring quarter of their second year.

Note: Students who started and want to complete the old breadth requirement, please see Retired Breadth Requirement.

Foundation Requirements

  •  Students will be required to take (Credit/No Credit accepted) or waive* CS 103, 109, 111, 161.
    • Completion of a CS Bachelor's degree and/or CS Master's degree automatically waives all four courses. Please email phdstudentservices@cs.stanford.edu and attach a copy of your UG or MS transcript for confirmation.
    • Waiving will be lenient based on sufficient coverage of a predefined set of topics for each course and transparent. Please email the foundation course approver and include a copy of your transcript and course syllabus or a link to your course syllabus.
    • Double dipping: At the discretion of the waiver approver, a specific, more advanced Stanford course that covers (mostly) the same material as the foundation class, just at a more advanced level, could be assigned to waive foundation courses (e.g., CS 154 for CS 103), allowing students to fill both foundation and breadth requirements simultaneously.

*Note: Units from waived courses to satisfy the foundation requirements will not count toward candidacy. If you have waived all the foundation requirements due to your CS bachelor's or master's Degree, those units will not count toward candidacy.

Breadth Requirements

  • The Breadth course requirement will be three (3) 3-unit total courses from four (4) different predefined areas (cannot be two (2) from the same area).
  • Students need to pass the courses with grade B+ or higher.
  • Breadth courses cannot be waived (these courses must be taken while in the PhD program).
  • Three foundation/breadth requirements need to be completed by the end of the second year. All courses need to be completed by the end of the third year. Any deviation from this timeline needs to be approved ahead of time by the student advisor and the director of the PhD program.

Breadth Area

Course descriptions are available at Navigate Classes.

  • Formal Foundations. Courses in this group emphasize mathematics and formal reasoning as it applies to foundational questions about computation. Available courses:
    • CS166, CS168, CS261, CS263, CS264, CS265 
    • CS154, CS254, CS254B, CS354
    • CS205L, CS334A, EE276, EE364A, EE364B, CS369O
    • CS225, CS229M, CS328
    • CS157, Phil251, CS257, CS258 
    • CS250, CS255, CS256, CS259Q, CS269I, CS355, CS359D 
  • Learning and Modeling. Courses in this group seek to build models of observed phenomena. They emphasize building these models from data, with the goal of predicting, classifying, or otherwise structuring observations. Available courses:
    • CS221, CS223A, CS224N, CS224R, CS224S, CS224U, CS 224V, CS224W, CS227B, CS228, CS229, CS229B, CS229M, CS231A, CS231N, CS233, CS234, CS236, CS237A, CS237B, CS281
    • CS205L, CS230, CS330, CS331, CS332, CS333
    • CS326, CS329A, CS329D, CS329H, CS329T CS329X, CS336
    • CS248A, CS248B, CS348A, CS348B, CS348C, CS348E, CS348I, CS348N
    • CS271, CS272, CS273A, CS273B, CS274, CS279, CS371, CS373, CS375
  • Systems. Courses in this group explore the construction of computing artifacts that meet design constraints or requirements. They emphasize not only what we build, but how we build it and the challenges in doing so. Problems in this area often, but not always, include performance (speed, memory, energy), scalability, tradeoffs, complex software, and considering the quality of the artifact itself in addition to its capabilities. Available courses:
    • EE180, EE282, EE382E, CS149, CS316
    • CS112, CS140E, CS212, CS217, CS229S, CS 240, CS240LX
    • CS143, CS243
    • CS144, CS244, CS244B
    • CS145, CS245, CS246, CS251
    • CS155, CS356
    • CS242, CS358
    • CS249I
    • CS348K
  • People and Society. Courses in this group examine how computing and technology affect and interact with humans and societies, seeking to place artifacts in the context in which they are used. In particular, this area will include courses that deal with the societal impact of computation and HCI courses. Available courses:
    • CS 125, 147, 148, 152, 181, 182, 194H, 206, 207, 224C, 247 A/B/C/... SERIES, 256, 269I, 278, 281, 293, 323, 324H, 329H, 329R, 329T, 329X, 337, 347, 377 A/B/C/... SERIES, 384, 448B, 470
    • AMSTUD 145
    • ANTHRO 132D
    • BIOMEDIN 215, 223
    • BIOS 244
    • COMM 254, 266, 286, 324 
    • DESIGN 255
    • EARTHSYS 213
    • EDUC 315A, 484
    • ENGLISH 184D
    • EPI 220
    • HISTORY 244F
    • INTLPOL 362
    • LAW 4039, 4046, 7073, 7102, 7117, 7521, 807Z
    • ME 177
    • MS&E 193, 231, 234, 254
    • POLISCI 150A
    • PUBLPOL 103F, 353A, 353B