Academic Requirements

For any questions related to CS PhD milestone requirements, please email phdstudentservices@cs.stanford.eduForm/s should be submitted as pdf and emailed to phdstudentservices@cs.stanford.eduJay Subramanian, Director of Graduation Admissions and PhD Program, approves these forms on behalf of the department chair.

1.  CS300 seminar

The CS300 seminar is offered to incoming first-year students in Autumn Quarter. The seminar gives CS faculty the opportunity to speak for 40 minutes about their research. The idea is to allow the new CS Ph.D. students the chance to learn about the professor's areas of research before permanently aligning.

First year CS PhD students are required to attend 2/3 of the seminars. To record your attendance to the seminars please go to: and log in using your CS ID and password.

2.  First-Year Research Rotation Program 

Ph.D. students rotate through multiple research groups in their first year. You do a small research project or help someone on one each quarter. The goals are for you to start research immediately, to learn some research skills and what each research group is like, and for them to learn about you. Research rotations are used in many other departments, such as the various biosciences and physics departments at Stanford. Most students find them an invaluable opportunity to form strong relationships with multiple faculty and students in different research groups, to learn skills that will help them in their future research, and to get a better understanding of which research group they’d like to belong to for their Ph.D. research.  

The goal of the rotation program is to find a permanent advisor by the middle of Spring quarter of the first year. You should make sure that, by the end of the year, there’s at least one faculty member who is impressed with you and with whom you’d like to work. For information on how the process works refer to

3.  Courses 

A student should plan and successfully complete a coherent program of study covering the basic areas of Computer Science and related disciplines. The student's advisor has primary responsibility for the adequacy of the program. The University has two main requirements related to courses. First, each student must complete 135 course units (a total of 10 units of PE/music/performing arts courses can be counted towards this) for graduation. CS Ph.D. students take 8-10 units (8 is the minimum requirement and 10 units is maximum, tuition level for 8-10 is the same) a quarter. Credit for graduate work done elsewhere (up to a maximum of 45 course units) may be applied to graduation requirements. Second, students must take courses from at least 4 different faculty members (see item "5. Candidacy"). There are NO courses specifically required by the Computer Science Department, except for the 1-unit CS300 seminar and CS499 (Advanced Reading & Research), or equivalent. The CS300 seminar is only offered Autumn Quarter and is required of all first-year Ph.D. students. Students are required to attend 2/3 of the total number of sessions in order to get credit for the class.

Note: All PhD students are required to enroll in at least 3-units of CS499 for all quarters. The university requires PhD students to maintain a 3.0 GPA overall for conferring your degree. 

CPT/Internship information:

International students: The Computer Science Dept. allows only up to a maximum of 3 units (1 unit each summer) of Curriculum Practical Training (CPT) in the entire academic career. CS390 A, B and C may each be taken once (full-time/part-time).  Full-time internships are allowed only during summer quarter. For more details, contact

Questions regarding part-time CPT during academic quarters should be directed to Jay Subramanian.  The information and details vary by the student status, funding, visa and immigration rules, therefore, should be discussed with Jay prior to the quarter of CPT.

4.  Breadth Requirements

The purpose of the Breadth Requirement for the Doctoral program is to ensure that each graduate of the program has adequate knowledge of the core areas in the field of Computer Science. The Breadth Requirements are divided into 3 areas: Mathematical & Theoretical Foundations, Computer Systems, and Artificial Intelligence & Applications. You need to pass 2 subareas within each of the 3 areas. Each of the 6 passes can be achieved in one of three ways:

  • Take a breadth course as listed below and earn a letter grade of A- or better in the class(es).
  • You can apply for a waiver based on comparable coursework taken elsewhere. If you are waiving coursework, please contact the designated approver and cc: phdstudentservices@cs after filling out the Ph.D. Breadth Waiver Form. The approver may question the student about both the content of the class and their understanding
    of the material.
  • At the discretion of the breadth area approver, a student can successfully complete the exams or portions of the exams of an associated class or any other appropriate evaluation and receive a "Breadth Area Pass". The Breadth Area Pass is determined by the breadth area approver, like past comp pass/fail decisions, but should generally
    mean work at a level similar to students getting an A- in an associated class. For more information on clearing breadth requirements click here.

Approved breadth area courses and approvers are:

  • Area A: Mathematical and Theoretical Foundations
    A.  Analysis of Algorithms: CS168, CS261, CS265 (Moses Charikar)
    B.  Theory of Computation and Complexity Theory: CS154, CS254 (Omer Reingold)
    C.  Numerical Analysis and  Convex Optimization: CS205l, CS334a, EE364a, EE364b (Ron Fedkiw)
    D.  Logic: CS157, Phil 251, CS258 (Mike Genesereth)
  • Area B: Computer Systems
    A.  Computer Architecture: EE180, EE282, EE382E, CS149, CS316 (Christos Kozyrakis)
    B.  Compilers: CS143, CS243 (Monica Lam)
    C.  Networks: CS144, CS244, CS244B (Nick McKeown)
    D.  Programming Languages: CS242, CS358 (Alex Aiken)
    E.  Software Systems: Approved breadth area courses can be found here
  • Area C: Artificial Intelligence and Applications
    A.  Artificial Intelligence: CS 121, CS221 
          OR any TWO of the following: CS223A, CS224N, CS224W, CS224U, CS227B,  CS228, CS229, CS 229M, CS229T, CS231A CS231N, CS234, CS236 CS237A, CS 281 (Stefano Ermon)
    B.  Computational Biology: CS173A, CS271, CS272, CS274, CS273A , CS273B, CS273C, CS279, CS371, CS373 (Anshul Kundaje)
    C.  Computer Network and Security: CS155, CS 251, CS255, CS 356 (Dan Boneh)
    D.  Databases: CS145, CS245, CS246, CS346, CS345, CS347 (Matei Zaharia)
    E.  Graphics: CS148, CS248, CS348A, CS348B, CS348c CS348E, CS348I, CS 348K, CS 348N  ( Doug James)
    F.  HCI: CS147, CS247 A/B/C...series, CS347 (Michael Bernstein)

5.  Candidacy

You are eligible to apply for candidacy

  • Once you have a permanent advisor;
  • Have completed the six breadth requirements (two from each of the three areas); and
  • Have completed at least a three-unit course (200 and above level) with each of four instructors who are members of the Academic Council.   Rotations units will count towards this.  Courses outside of CS department will count, as long as they are taught by a Stanford faculty.   Performing arts courses will not count.  

Candidacy makes you eligible for a larger stipend and sets in motion your five-year timeclock to complete the rest of your Ph.D. requirements. All students must fulfill their breadth requirements and file for candidacy by the end of their second year in the program. For detailed information on how to file for candidacy, please see

The university requirements for candidacy can be found here:

6.  Qualifying Examination

The Qualifying Examination tests a student's depth of knowledge and familiarity in his or her area of specialization. Qualifying Exams are generally offered in all areas covered by the written Comprehensive Exam. It is possible for a student to request a Qualifying Exam in an area not already offered, such as one that cuts across current divisions. The feasibility of such a request is determined on a case-by-case basis by the Ph.D. Program Committee. A student should pass a qualifying exam no later than the end of his or her third year.

A student may take the Qualifying exams only twice. In some cases a conditional pass is awarded. When the designated conditions have been met (such as CA'ing a certain class, taking a course, or reading additional material in a specific area), the student is credited with the Pass. If a student fails the Qualifying Exam a second time, the Ph.D. Program Committee is contacted as this would mean that the student is not "making reasonable progress." This is cause for dismissal by default from the Ph.D. program. The Qualifying Exams are a University requirement and are taken very seriously. Therefore, sufficient time and in-depth preparation must be given to the Quals area that the student chooses, to ensure success.

The format of the Qualifying Exams varies from year to year and area to area depending on the faculty member or Quals Chair in charge of each specific exam. Examples are in-class written exams, "take-home" written exams, oral exams, written assignments and/or a combination of the above. The Quals Chair administers the exams and the results must be submitted to the Ph.D. Program Officer for the required entry into the University's Axess (PeopleSoft) and departmental database systems. Passing the Qualifying Exam certifies that the student is ready to begin dissertation work in the chosen area. If a student wishes to do dissertation work in an area other than his/her Qualifying Exam area, the student's advisor and/or the faculty in the new area will determine whether an additional exam is required.

7.  Teaching Requirement

During his/her academic career, each student must complete at least 4 units as a course assistant (CA) or teaching fellows (TF) (2-50% or 4-25% for a total of 100%) for courses in Computer Science that are numbered 100 or above. Earning one unit means working 10 hours per week for one quarter. A CA receives the same stipend and tuition benefit as an RA. A TF receives a slightly higher stipend, as s/he is responsible for teaching a course.

8. Thesis Proposal

The student must present an oral thesis proposal and submit the form to their full Reading Committee by spring quarter of the fourth year. The Thesis Proposal Form  must be filled out, signed and approved by all the members of the committee and submitted to the CS PhD Student Services at The goal of the Thesis Proposal is to enable students to get better formative feedback from their Reading Committee on what directions to take to successfully complete a quality dissertation. The Thesis Proposal (this is a private session with student's advisor/co-advisor and reading committee members only) should allow plenty of time for discussion with the Reading Committee about the direction of the thesis research . The suggested format should include:

  • A description of the research problem and its significance;
  • A description of previous work in the area and the "state of the art" prior to the student's work; 
  • A description of preliminary work the student has done on the problem, and any research results of that work; 
  • An outline of remaining work to be done a timeline for accomplishing it.

9.  Reading Committee

After passing the Qualifying Examination, a student must secure the agreement of a member of the department faculty to act as the dissertation advisor. Typically, this is the program advisor, but, in some cases, the dissertation advisor may be in another department. In addition, the student must form a Dissertation Reading Committee composed of the principal dissertation advisor and at least two additional readers. The Reading Committee Form should be turned in no later than one year after passing a qualifying exam.

9.1 Regulations Concerning Composition of Reading Committee

  • The principal advisor and at least one of the other committee members must be Academic Council members. This is a University regulation.
  • At least two committee members must be CS professors or joint CS professors (academic council members i.e. Stanford faculty).  Courtesy and Adjunct CS professors do not count. This is a departmental requirement.
  • The Reading Committee supervises the dissertation research, advises the student, evaluates the student's progress, and signs the final draft of the dissertation.
  • These Committee Members also often serve on the student's Orals Committee because of their knowledge of his or her research.

10. University Oral Examination

The University requires an Oral Examination. The department chooses the format of the University Oral. In the Computer Science Department, it is a Defense of the Dissertation. Traditionally, the format of the Oral is a public presentation lasting approximately one hour, followed by questions from the examining committee in a private session. (Total time of 3 hours maximum.)

The Orals committee must have at least five members that include one Chair and four voting members. Four of the five must be Academic Council members. The Orals committee will consist of the following:

  • Chair: the Chair of the Orals Committee is selected by the student, usually at the suggestion of Reading Committee members. The chair must be an Academic Council member and may be a Professor Emeritus. The chair may not have a full or joint appointment in the adviser's or student's department but may have a courtesy appointment in the department. The chair can be from the same department as any other member(s) of the examination committee and can be from the student's minor department, provided that the student's adviser does not have a full or joint appointment in the minor department. To maintain impartiality, the orals chair may not simultaneously serve on the student's dissertation reading committee
  • Reading Committee members and/or the student's proposed Orals Committee members offer help and suggestions for a possible Chair.
  • Advisor: The student's advisor is a member of the committee.
  • Readers: The members of the student's Reading Committee usually serve on the Orals Committee. Readers who are not Academic Council members (limit 1) need prior approval from the Graduate Division to sit on the Orals Committee by filing a Petition Form along with the Orals Form. 

Orals may be scheduled any time after a substantial portion of the dissertation is complete. We encourage students to schedule the exam during the quarter preceding the one in which they intend to submit the final draft. This allows time for post-Oral revision of the document and will prevent added stress or disappointment in not being conferred as planned.

A student must submit a University Oral Exam Schedule form at least two weeks before the proposed Orals date. The PhD student services office will make sure that the committee is properly composed. Along with the form, the student should have a draft of the dissertation available in case the University chair desires more detailed information. The student must submit an abstract of the dissertation to the

The University prefers that Orals not be scheduled during the first two weeks of the quarter, finals week, or during breaks. Students should plan the schedule of their Orals well in advance.

11. Dissertation

The most important requirement for the Ph.D. degree is the dissertation. The dissertation must be accepted by the student's Reading Committee. The Graduate Degree Progress office in the Registrar's Office distributes a comprehensive list of directions concerning the preparation and submission of the final draft. You have the option of submitting the dissertation online. See the Registrar's Dissertation and Thesis Submission page for more information on dissertation submission.