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