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. Please note that because this is primarily about the labs in the class, it is much easier if you can discuss live. Given that the COVID19 situation makes this more difficult, at least email the approver link or a detailed description of what the labs were, how much kernel code they involved writing, and in what language. If there are ambiguities, the approver may ask you to set up a zoom meeting. Note you do not need to fill out a "Ph.D. Breadth Waiver Form."

  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 Joseph, Kubiatowicz, Stoica A-
Caltech CS124*
*OS CS101 in 2013
Pinkston A-
CMU 15-410 Eckhardt A-
Cornell CS 4411 Birman, Sirer A-
Duke CS110/CPS110, CS310 Cox A-
École Polytechnique INF583 Cohen A
Harvard CS161 Kohler, Seltzer, Welsh A-
Hebrew University 67808 Dolev 90 (negotiable)
McGill CS310 Maheswaran A-
MIT 6.828 Belay, 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
Pomona CS134 Kampe A-
Princeton COS318 Li, Bavier A-
Purdue ECE 469 Hu, Villasenor A-
Rutgers CS416 or CS516 Iftode A-
SJTU SE315 Xia 85
Stanford CS140 Mazières, Ousterhout, Rosenblum A-
Stanford CS140e Engler A-
Tsinghua University 30240434 Yongguang Zhang 85
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, Zahorjian 3.5
Wake Forest U. CSC641 Cañas A-
U. Wisconsin CS537 Arpaci-Dusseau A-