PLEASE NOTE: Up-to-date information on the Systems quals will now be posted on the Quals Central Website. This page is here for historical purposes only.
Computer Science Department: Systems
2007 PH.D. QUALIFYING EXAMINATION SYLLABUS

Area Index: INFO | PL | COMPILERS | ARCHITECTURE | GRAPHICS | NDS | HCI | DB | OS | SECURITY

Dates for CS System Quals 2007

January 30 Candidates indicate their intention to take Quals by contacting Sally McNees.
(InfoSys Quals candidates must also register with Sally to take the DB exam)
February 28 Candidates declare which three exams they will be taking
May 7-15 Candidates take oral exams as scheduled with the examining professor
May 16 Quals written exams given in Gates 104
May 22 Quals Evaluation Committee meets to establish individual candidates grades
May 23 Quals exam grades transmitted to candidates

Subjects offered in 2007

2007 Quals Chairman : Professor Mendel Rosenblum
Programming Languages K. Fisher
Compilers A. Aiken
Architecture K. Olutotun
Networks and Distributed Systems P. Levis
Human Computer Interaction T. Winograd
Database H. Garcia-Molina
Operating Systems D. Engler
Security D. Boneh
Graphics (Graphics will not be offered this year.)

Introduction

The Stanford Computer Science Department Ph.D. Qualifying Examination (Quals) in the Systems Area is given to establish that a Ph.D. candidate is adequately grounded in Systems to proceed with research in his specific field. The examination tests the student's knowledge, maturity, problem-solving and reasoning ability. System Quals exams are generally offered in Programming Languages, Compilers, Architecture, Graphics, Network and Distributed Systems, Human Computer Interaction, Database, Operating Systems, and Security. To pass System Quals, each candidate is required to take and pass exams in three of these areas. These pass/fail exams are one hour long, and are either oral or written at the professor's discretion. The exams are offered once a year, normally in May.

The overall results of a candidate's three exams are evaluated by the Quals Evaluation Committee. This committee is made up of the faculty representatives responsible for preparing and grading the subject exams.

Basic knowledge in Computer Science and computer systems is assumed of all candidates. This basic knowledge is reflected by the Systems area of the CSD Comprehensive exam as well as the material covered in: CS 108, CS 111, CS 112, CS 140, CS 260, CS 261 and CS 262.

The following sections provide an outline and reference list for each area to indicate the material covered by the exam. Students are also expected to be familiar with major current literature as well as solve problems in their areas of specialization. Candidates can contact the faculty in their area of specializations in advance of the exam for clarification on the nature and emphasis of the exam.

Programming Languages ( 2007: Kathleen Fisher 2005-2006: John Mitchell oral)

Knowledge of the principles and central concepts in programming language, as covered in CS 242. Students taking the Systems Qual in programming languages are expected to have a professional-level conversational competency in the main design and implementation topics associated with programming languages. Some sophistication beyond the preparation provided by CS242, typically gained by practical experience and/or preparation for software systems research, is expected.

Reference

J.C. Mitchell, Concepts in Programming Languages, Cambridge Univ Press, 2002.

Compilers (2005 - 2007: Alex Aiken oral)

Andrew Appel's "Modern Compiler Implementation in Java" Knowledge of the principles and organization of compilers as covered in CS 143 and CS 243 [Aho]. CS 343 is strongly recommended (and will be required background in future years).

References

[Appel]
Appel, Andrew, Modern Compiler Implementation in Java. Cambridge University Press, New York, 1998.
[Aho]
Aho, A. V., Sethi, R. and Ullman, J. D. Compilers, Principles, Techniques and Tools. Addison-Wesley, Reading, Mass, 1986.

Architecture (2005 - 2007: Kunle Olukotun oral)

References

EE 108b: Computer Organization & Design: The HW/SW interface by H & P

EE 282: Computer Architecture: A quantitative Approach, 4th Ed. by H & P

CS 315a: Parallel Computer Architecture: A Hardware/Software Approach David E. Culler, Jaswinder Pal Singh with Anoop Gupta

CS 315a: Papers Reading List

Graphics (2005 - 2007: not offered, 2004 - 2005: Pat Hanrahan)

Knowledge of basic representations of surfaces and solids, scan-conversion algorithms, geometric transformations, viewing projections, visible-surface determination, and shading models, as covered in CS 248. Understanding of basic issues in input and display hardware, graphics software, and user interface design. Some knowledge in depth of either curve, surface, and solid modeling and geometric algorithms at the level of CS 348A, or of sampling, filtering, and local and global illumination methods at the level of CS 348B.

Typical references for the material in 248, 348A, and 348B, are the online course notes, where available, and the following three books:

Networks and Distributed Systems (2005 - 2007: Philip Levis oral)

Principles of computer communication and networks as covered by CS 244A (See CS244 course material and [4]), including:

Concepts, principles and examples of distributed systems as covered by CS244B [1, 2] including: (Cheriton's CS 244B course reader is a good source.)

Reading List for Networks and Distributed Systems

Databases (2005 - 2007: Hector Garcia-Molina written)

Information on Database Qual

Human-Computer Interaction (2007: Terry Winograd, 2006: not offered Scott Klemmer, 2004-2005: Terry Winograd)

Reading List for HCI (updated 15 December 2006).

Operating Systems (2005 - 2007: Dawson Engler written)

Reading List for Operating Systems

Security (2005 - 2007: Dan Boneh oral)

Reading List for Security

Status

2006/4/17: Updated professors, availability, and format for 2005-2006

2005/3/17: Updated compiler reading list

2005/3/17: Updated responsible faculty and dates for 2004, 2005

2003/04/26: Added security area exam.

2002/04/17: Updated responsible faculty and dates for 2001-2002.

Last Syllabus Revision

March 1, 1999

2001/04/27: Added availability info on the Hoare PL reference.

2001/02/22: Updated quals admin for 2000-2001 (again) and application deadline.

2001/02/21: Updated quals admin for 2000-2001

2001/02/20: Updated HCI reading list for 2000-2001

2001/02/14: Updated exam date and examiners for 2000-2001