The exam is offered once a year, normally in late April or May. A student must apply at least 4 weeks in advance of the scheduled date for the exam in order to be considered (contact cheriton@cs.stanford.edu). The candidate must specify the three areas in which they wish to be examined at the time they apply to take the exam.
There is normally a faculty representative from each of the systems qual. areas on the committee who is responsible for the preparation and grading of exams in that area. Each area exam is normally a one hour written exam. However, the faculty examiner for the area may elect to administer an oral exam instead.
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.
1. Abelson and Sussman. Structure and Interpretation of Computer Programs. McGraw-Hill, 1984.
2. O.J. Dahl and C.A.R. Hoare. Hierarchical program structures. In Structured Programming, O.J. Dahl, E.W. Dijkstra, and C.A.R. Hoare, Ed., Academic Press, 1972, pp. 175-220.
3'. M. Ellis and B. Stroustrup, The Annotated C++ Reference Manual, Addison-Wesley, 1990.
3. A. Goldberg and D. Robson. SmallTalk-80: the language and its implementation. Addison-Wesley, 1983.
4. C.A.R. Hoare. Hints on Programming Language Design. Memo AIM 224, Stanford Artificial Intelligence Laboratory, 1975.
5. J.D. Ichbiah, et al. "Preliminary Ada reference manual". SIGPLAN Notices 14, 6 (June 1979), Part A.
6. K. Jensen and N. Wirth. Pascal User Manual and Report. Springer-Verlag, 1974.
7. B.H. Liskov, A. Synder, R. Atkinson, and C. Schaffert. "Abstraction mechanisms in CLU". Comm. ACM 20, 8 (August 1977), 564-576.
8. R. Sethi. Programming Languages. Addison-Wesley, 1989.
1. Aho, A. V., Sethi, R. and Ullman, J. D. Compilers, Principles, Techniques and Tools. Addison-Wesley, Reading, Mass, 1986.
EE182: Computer Organization & Design The HW/SW interface by H & P
EE282: Computer Architecture A quantitative Approach 2nd Ed. by H & P
CS 315A: Parallel Computer Architecture: A Hardware/Software Approach David E. Culler, Jaswinder Pal Singh with Anoop Gupta
Typical references for the material in 248, 348A, and 348B, are the online course notes, where available, and the following three books:
Concepts, principles and examples of distributed systems as covered by CS244B [1, 2] including: (Cheriton's CS 244B course reader is a good source.)
Database portion of 1996 Systems qual Jeff Ullman's materials