Skip to Main Content
Mobile Menu

Comprehensive Exam

Image of Sole

The purpose of the comprehensive exam in a PhD program is to determine the preparedness of students to perform tasks composing the scientific research process in the field of computing.  This includes having knowledge in core areas of their specific emphasis, understanding relevant scientific literature, designing and writing software components, and presenting technical information both orally and in writing.

Please refer to Appendix B in the student handbook for detailed comprehensive exam procedures and a helpful checklist.


The comprehensive exam comprises four elements:

  1. Emphasis core courses: The purpose of this requirement is for the students to have a breadth of knowledge and practical understanding in their particular emphasis area.
  2. Synthesis paper: The purpose of this requirement is to prepare the students early on their scientific reading and writing abilities.
  3. Computing artifact: As the program grants a PhD in Computing, the purpose of this requirement is that students who graduate from this program will be able to make a contribution in their respective emphasis areas through computation.
  4. Oral presentation: This is a presentation of the content of the synthesis paper and a formal examination on advanced knowledge necessary for the synthesis paper and computing artifact.

Emphasis Core Courses

Each emphasis in the program has a different set of courses from which the coursework can be fulfilled. As part of the comprehensive exam, students must earn a B or better in the following courses prior to the semester they register for COMPUT 691. The courses for each emphasis area are as follows:

Computational Science and Engineering:

  • MATH/CS 565 Numerical Methods I
  • MATH/CS 566 Numerical Methods II
  • CS 507 Computing Foundations for Computational Science
  • ME 571 Parallel Scientific Computing

Computer Science:

  • CS 521 Design and Analysis of Algorithms OR CS 561 Theory of Computation
  • CS 522 Operating Systems
  • CS 573 Advanced Software Engineering.

Cyber Security:

  • CS 546 Computer Security
  • CS 575 Software Security OR CS 622 Advanced Network Security
  • One of:
    • CS 567 Applied Cryptography
    • MATH 508 Advanced Asymmetric Cryptography and Cryptanalysis
    • MATH 509 Symmetric Key Cryptography and Cryptanalysis

Data Science

  • CS 533 Introduction to Data Science
  • CS 534 Machine Learning
  • MATH 562 Probability and Statistics II
  • MATH 572 Computational Statistics