Software systems breadth requirement

The Stanford Ph.D. program requires that you fulfill the breadth requirement in two subareas of computer systems (Area B). One of the subareas is Software Systems.

Currently the breadth area approver for Software Systems is David Mazières. So long as he remains in that position, there is exactly one way to fulfill the breadth area requirement, which requires the following three steps:

  1. Receive a grade of A- or higher (or equivalent) in an operating systems class that requires significant implementation of kernel code.
  2. Get the specific class, instructor, and grade approved by the breadth area approver. First, check the table below to see if your class and instructor have already been approved. If so, skip to the next step.

    Otherwise, to get your class or specific instructor approved, you must meet the breadth area approver in person. Please note that due to the high volume of requests and the need for interactive questioning, the approver will not be able to answer emails or requests relayed through third parties if those request touch on the breadth requirement in any way. You must come to office hours or grab the breadth approver some other time. The breadth approver does not care about lecture materials or textbooks, and only wants to know about the lab assignments you did for the class. Hence, you do not need to fill out a "Ph.D. Breadth Waiver Form", but you will need to answer questions and point the approver to web pages or other materials describing the lab assignments you completed for the class.

  3. Once your class has been approved, you must contact Ph.D. student services. Point them to this web page, and provide them with evidence that you took one of the classes listed below with one of the approved instructors, and that you received one of the acceptable grades

The following table lists approved classes, instructors, and grades:

Institution Class Instructors Minimum grade
Berkeley CS162 with Pintos Kubiatowicz A-
Caltech CS124*
*OS CS101 in 2013
Pinkston A-
CMU 15-410 Eckhardt A-
Cornell CS 4411 Birman, Sirer A-
Duke CS110/CPS110 Cox A-
Harvard CS161 Kohler, Seltzer, Welsh A-
Hebrew University 67808 Dolev 90 (negotiable)
McGill CS310 Maheswaran A-
MIT 6.828 Kaashoek, Morris, Zeldovich A-
Notre Dame CSE 30341 Thain, Poellabauer A-
NYU V22.0480-002 Mazières A-
NYU G22.2250 Li A-
NYU V22.0202 Subramanian (Lakshmi) A-
Open University of Israel 20354, 20594 Sariel 85
Princeton COS318 Li, Bavier A-
Purdue ECE 469 Hu, Villasenor A-
Rutgers CS416 or CS516 Iftode A-
Stanford CS140 Mazières, Ousterhout, Rosenblum A-
Tsinghua University 30240434 Yongguang Zhang 85 (negotiable)
U. Toronto EE344/ECE353 Baochun Li A-
UCLA CS111 Kohler A-
UCLA CS235 Kohler A-
UNSW Comp 9242 Eiphinstone, Heiser 75
UT Austin CS372H, CS439 Alvisi, Walfish A-
U. Washington CS451 Levy 3.5
Wake Forest U. CSC641 Cañas A-