The written qualifying exams cover three subject areas: Languages, Systems, and Theory. Details on material covered, as well as a study guide, are available.

The exams are held during the 4th week of each spring and fall semester. Students who want to take one or more of the exams should register with the Ph.D. Coordinator.

Once given, the results of the written exams will be available within ten days. A student who fails an area has ten days from the date of notification to submit a written request for re-scoring of the exam for that area. The request should be submitted to the Ph.D. Coordinator and must include an explanation of why the student believes that the score of the exam is incorrect.

A student may not repeat a single written qualifier exam more than twice. A student may not repeat more than a total of three written qualifier exams.

Some graduate courses may (but not required) to have special Ph.D. Qualifier sections:

  • Theory Area: CS 530 (Theory of Computation)
  • Theory Area: CS 535 (Design and Analysis of Algorithms)
  • Languages Area: CS 536 (Science of Programming)
  • Systems Area: CS 550 (Advanced Operating Systems)

A student registered in such a section who earns an Exam Waiver is deemed to have passed the corresponding area exam. (For the Theory area, a waiver from either CS 530 or CS 535 suffices.) Not earning a waiver does not count as a written exam attempt.

To earn a waiver, students may be required to do extra work and/or be graded in a different manner from students in the regular sections. These differences will be announced by the course instructor at the beginning of the semester.

To pass the written qualifying exam, a student must pass exams in all three subject areas, by the deadlines shown below. A student who does not is deemed to have failed the written qualifying exam and must leave the Ph.D. program.

Ph.D. Program Type of Student First Attempt Second Attempt
Direct Full-time or part-time By the end of the 5th semester By the end of the 6th semester
Post-Master's Full-time By the end of the 3rd semester By the end of the 4th semester
Post-Master's Part-time Before completing 27 credit hours Before completing 36 credit hours

When counting semesters, only spring and fall semesters are used.

The Programming Languages exam includes topics from CS 440 (Programming Languages and Translators) and CS 536 (Science of Programming). The exam lasts 2 hours and is closed-book, closed-notes. Except for writing implements, no aids (calculators, cell phones, etc.) are allowed.

Previous Exams

CS 440 Topics

  • Language design
  • Compilation And Interpretation
  • Programming Language Syntax
  • Names, Scopes And Bindings
  • Parameter Passing Schemes
  • Semantic Analysis
  • Control Flow
  • Recursion
  • Data Types And Data Abstractions

CS 440 References

  • A. V. Aho , R. Sethi, J.D. Ullman. Compilers: Principles, Techniques and Tools, Addison Wesley.
  • K. C. Louden. Programming Languages, Principles and Practice, Thomson Publications.
  • M. L. Scott. Programming Language Pragmatics, Morgan Kaufmann Publishers.

CS 536 Topics and References

  • Predicates, Propositions, Conditions, Assertions
  • Semantics of Assignment, Conditional, and Iterative Statements
  • Determinism and Non-Determinism
  • Operational and Denotational Semantics
  • Hoare Logic: Correctness Triples, Proof Rules, Proof Outlines
  • Weakest Preconditions and Strongest Postconditions
  • Program Design using Invariants
  • Semantics and Correctness with Arrays
  • Parallel Programs with Shared Memory and Interference
  • Waits and Deadlocks
  • Optional topics: Synchronous Message Passing, Transformational Design, Parallel Program Design, Programming Logic

CS 536 References

  • Architectures and mappings) Proof techniques for shared variable programming and for distributed programming.
  • David Gries. The Science of Programming, Springer-Verlag (ISBN 0-387-96480-0).
  • Willem-Paul de Rover, et al. Concurrency and Verification - Introduction to Compositional and Non-compositional Methods, Cambridge University Press.
  • K. M. Chandy, J. Misra. Parallel Program Design - A Foundation, Addison Wesley.
  • Gregory R. Andrews. Foundation of Multithreaded, Parallel, and Distributed Programming, Pearson Addison Wesley.

The Systems exam includes topics from CS 450 (Introduction to Operating Systems) and CS 550 (Advanced Operating Systems). The exam lasts 2 hours and is closed-book, closed-notes. Except for writing implements, no aids (calculators, cell phones, etc.) are allowed.

Previous Exams

Exam Topics

  • Issues In Communication: Remote Procedure Call
  • Remote Method Invocation
  • Message- And Stream-Oriented Communication
  • Processes And Threads
  • Naming
  • Synchronization
  • Consistency and Replication
  • Fault Tolerance
  • Shared/Parallel/Distributed File Systems
  • Security in Distributed Systems
  • Client-Server Architecture
  • Code Migration and Scheduling


  • Silberschatz, Galvin, and Gagne. Operating System Concepts, 7th edition, Wiley
  • A. S. Tanenbaum, M. van Steen. Distributed Systems: Principles and Paradigms, 2nd edition, Prentice Hall.

The Theory exam includes topics from CS 430 (Introduction to Algorithms) and CS 535 (Design and Analysis of Algorithms): Algorithms and complexity of computation, data structures and any necessary mathematical background. The exam lasts 2.5 hours and is closed-book, closed-notes. Except for writing implements, no aids (calculators, cell phones, etc.) are allowed.

Topics from CS 430 are required at a level of rigor consistent with this study guide. Taking CS 530 can help students attain a sufficient level of rigor regarding the complexity of computation.

Previous Exams

Topics and References

  • Reference: T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein. Introduction to Algorithms, 3nd edition. MIT
  • Topics include the entire book, excluding Chapters 27 - 29, 31, and the starred subchapters.

The purpose of the oral qualifying exam is to judge the research capabilities of a student, to determine whether or not the student is capable in the academic elements that constitute the research process:

  • Scholarly review of a topic
  • Formal description of a problem
  • Familiarity with techniques that may be useful in solving the problem
  • Innovative ideas useful for solving the problem
  • The capability to present the work above in written and oral form

It is expected that the student address these requirements by presenting one or more research problems. The student should carefully review each problem, exhibit knowledge of techniques required to solve the problems, propose partial or full solutions, and show prospects for further research, if possible. While the student may address more than one problem, the student should guard against simply reviewing a number of problems.

It is possible that the student has published results based on the presented research. This would be additional evidence of the student's research capabilities. Students must present work mainly done by them and should not submit a paper where they are not the primary author. If parts of the work were done with others, the shared parts should be properly attributed. Not disclosing sources or taking credit for work done by others are grounds for failing the exam.

The oral report should be approved by the advisor, so the student should discuss the report with the advisor well in advance of the exam. (Note: When contacting an advisor, it's always a good idea to include your full name, A-id, and to mention that you're an advisee.)

Oral exams will be held during the 5th week of each spring and fall semester, typically on Thursday or Friday. The exact day and time should be announced by the Ph.D. Coordinator at least two weeks in advance. (Please plan your schedule accordingly.)

The student will be examined by a faculty group that excludes the advisor. Each group will decide the format of the exam. This could be a description of research of the student's choice or a specific paper / topic assignment for the student. A written report may be required.

The examination methodology should be announced to the student well in advance. The presentation should take 20 minutes; this is a general guideline that can be modified by the examination committee. The exam will be closed.

A review of the examination will be given to the student along with the result of the exam within a week of the exam.

The deadline for passing the oral qualifying exam is the same as the deadline for the second attempt at the written qualifying exams.