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, Culler A-
Caltech CS124*
*OS CS101 in 2013
Pinkston A-
CMU 15-410 Eckhardt A-
Columnbia COMS w4118 Nieh 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)
Marquette COSC3250 Brylow A-
McGill CS310 Maheswaran A-
MIT 6.828 Belay, Kaashoek, Morris, Zeldovich A-
Notre Dame CSE 30341 Thain, Poellabauer A-
NYU CSCI-UA202 Gottlieb 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
Peking University OS (honors track) Guo 85
Penn. State Cmpsc473 Jaeger A-
U. Penn CIS380 Loo A-
Pomona CS134 Kampe A-
Princeton COS318 Li, Bavier, Singh A-
Purdue ECE 469 Hu, Villasenor A-
Rice Comp 421 Johnson A-
Rutgers CS416 or CS516 Iftode A-
SJTU SE315 Xia 85
Stanford CS140,CS112,CS212 Mazières, Ousterhout, Rosenblum A-
Stanford CS140e Engler A-
Sun Yat-sen University Operational Systems Ling, Guo 85
Tsinghua University 30240434 Yongguang Zhang 85
U. Chicago CMSC23000 Gunawi A-
U. Toronto EE344/ECE353 Baochun Li A-
UC Davis ECS 150 Nitta A-
UCLA CS111 Kohler A-
UCLA CS235 Kohler A-
UIUC ECE391 Lumetta, Kalbarczyk A-
UNC COMP530 Porter A-
UNSW Comp 9242 Eiphinstone, Heiser 75
UT Austin CS372H, CS439 Alvisi, Walfish A-
U. Washington CS451 Kumura, Zbikowski, Levy, Zahorjian 3.5
Wake Forest U. CSC641 Cañas A-
Waterloo CS350 Mashtizadeh, Istead 85 (negotiable)
U. Wisconsin CS537 Arpaci-Dusseau A-