The Computer Science PhD Program Bible

Welcome to the PhD Program Bible of the Computer Science Department at Stanford. This is a page maintained by students, aiming to clarify and facilitate your struggle through the PhD program. That is, assuming you're a PhD student in the department; otherwise, it's just horror fiction. The maintainer of this page for the 2002-2003 academic year is Neil Daswani, with help from the PhD program committee members: Ed Swierk, Merrie Ringel and Dan Morris.

The current, most recent, official description of the graduation requirements can be found in [1], updated in the fall of 2001. If since then we have found things that have changed, we will attempt to keep you up-to-date here and, perhaps, bring a little more light to the darkness, which is inherent in official documents.

Courses

First off, you have to spend some time in the department. In other words, you need a number of units, before you can graduate. As you can see in [1], this is purely a financial requirement and is highly unlikely to be an obstacle to your graduation. Also, keep in mind that if you've done a Masters here, prior to your PhD, your time in the Masters program does count towards your residency. Which means that, if you've been a good, productive Masters student and you get into the PhD program afterwards, you can graduate in 5 years altogether. Pretty neat huh?

Another little thing from the requirements that you're likely to not have noticed, and shouldn't affect you, unless you absolutely hate taking classes. Although there are no specific course requirements, you must have taken courses by at least four (4) faculty members. The faculty must belong to the department, or CSL. Note that independent study also counts for this "diversity" requirement.

Comprehensive Examination

This is officially called the Breadth Requirement by the requirements. The general blurb in [1] describes how this aims to "to ensure that each graduate of the program has adequate knowledge of the core areas in the field of Computer Science". Please take a look at our own Comps Central for more up-to-date information.

Programming Project

This is one of those requirements that you fulfill without even noticing. Unless you specialize deep within the dark reaches of the most theoretical domain, you have covered this one already (or you might be in the wrong department).

When you have completed your programming project, you need to complete a paper form (we're still looking for an on-line version; keep checking back for it).

Qualifying Examination

This is officially called the Depth Requirement by the requirements. There are 5 different qualifying exams, one for each area of specialization (some of them have coalesced into one qual). You probably already know which qual you must take; if you don't, ask your advisor, especially in those cases where there's overlap (such is the case between the Database Qual and the Systems Qual). For more detailed information about specific quals, distilled experience of your fellow PhD students and such, take a look at Quals Central.

Candidacy

You may file for candidacy when you have completed 6 of your comprehensive exams. You need to fill out this form.

Master's Degree

When you finish both your comps and quals, you may get your Master's Degree. To do so, you need to fill out this form.

Teaching

You must TA for a total of 100% time. This may be done via two 50% TA'ships or one 50% and two 25% TA'ships and so on. You may also aim to graduate with a Distinction in Teaching honor. There is no form for this requirement.

Seminar

You must give a talk in public, whether it be a seminar here at Stanford, or a conference presentation. When you have completed this, you need to fill out this form (don't have it online yet).

Reading Committee

Reading committee: When you feel that you know what specific topic you want your dissertation to focus on (and presumably have done enough work on it to realize its feasibility), you form your reading committee. This committee has three responsibilities:

  1. Approve your thesis topic. To that effect, you must present your (tentative) committee members with a thesis proposal, outlining the problem you want to solve, how you think you might go about solving it, and what has been done on the subject before. All members of the committee must approve this thesis proposal. Their approval is implicit in their signature of your reading committee form (see below).
  2. Keep track of your progress. You must meet with your reading committee members regularly. The official departmental requirements say "at least once a year" but the more frequently the better.
  3. Read and sign your thesis topic. That's the most time-consuming responsibility and you have to be very careful to make sure your reading committee doesn't put your thesis on the backburner. The sooner they sing it, the sooner you'll graduate.

Your primary advisor must be on your reading committee, as well as two other readers. You must submit this form when you have decided on your committee. To change who you want on your committee, please fill out this form. If you want someone who is not on the Stanford Academic Council (read: not a faculty member) on your committee, you need to fill out this petition.

An important thing to remember when forming your reading committee: All faculty in the EECS department at the University of California at Berkeley are preapproved to be in your reading committee. If you have a relationship to Berkeley faculty, you're welcome to ask them to be in your committees.

Oral Examination

Orals: When you are ready to defend, you need to set up your orals committee, which consists of (at least) 5 members: the members of your reading committee, someone else you want, and then a committee chair. This chair must be someone from outside the Computer Science Department. You can have a chair from Electrical Engineering, but that chair cannot have a full or joint appointment in Computer Science. However, a chair from EE can have a courtesy appointment in CS. Your chair can also be Professor Emeritus from EE or any other department other than CS.

At least two weeks before your scheduled orals, you need to submit this form. You should also post an announcement of your orals to phd@cs.stanford.edu and faculty-plus@cs.stanford.edu, containing the title of your talk, an abstract, and the time and location of the exam.

Orals usually last roughly 2.5 hours. You deliver your one-hour talk to your committee and the rest of the audience. After a break, you reconvene for the private part of the examination with your committee, which usually lasts an hour at the longest.

Remember that you can invite UC Berkely faculty to be in your orals committee without further approval requirements.

Dissertation

When preparing your dissertation, you need to follow these guidelines.

Moving on to actually writing your thesis, you absolutely, positively have to take a look at [2]. It talks about a LaTeX thesis style that meets the University's requirements. It also contains some very useful pointers, if you've actually reached the thesis writing stage, including a MS Word version of the style file.

Terminal Graduate Registration

When you are all but done, you can advance to TGR (Terminal Graduate Registration) Status. If you are in TGR status for over a year, you will need to justify the delay in your research. TGR status will be monitored. To advance to TGR status, you need to fill out this form. To enroll for the special TGR course (CS 802 : Dissertation) in Axess, make sure you click the "Display Independent Study Sections" check box in the search form. You have to select the section of CS 802 that corresponds to your advisor. It is probably in the list.

CS300

This is not really a heavy requirement. During your first quarter in the program you are required to attend a series of presentations by the department faculty, describing their current research. This requirement aims to jumpstart your understanding of what is going on in the department, and to help you narrow down your list of potential advisors. You can find more information in the CS300 page.

Bibliography

  1. Outline of CSD Ph.D. Program Requirements. 2001-2002.
  2. Emma Pease's Stanford University LaTeX thesis style file. 8/2002.

Meta-stuff

This page was originally constructed by Petros Maniatis and Diane Tang. For comments, updates, contributions, please contact Neil Daswani.

We've received many helpful comments and contributions from the following, in order of appearance: Tamara Munzner, Vincent Laviano, Peche Turner, Erin O'Brien, Mema Roussopoulos.

Status

Latest Changes

[2002/05/23] Clarified orals chair restrictions.

[2002/05/20] Updated orals/reading committee blurbs.

[2002/01/16] Updated form links to the new pubs and forms website.

[2001/10/1] Updated with new PhD program committee member (Ed).

[2001/09/25] Revised wording in TGR, to open up the possibility for extensions.

[2000/10/31] Added link to updated official requirements page. Still no consistency checking between it and the bible.

[2000/10/13] Added CS300 page. Changed PhD committee members for 2000-2001.

[2000/9/25] More info on Orals.

[2000/4/26] Updated wording. Checked links.