The program of study for the Ph.D. degree will be individually tailored with the assistance of the student's advisor. However, every program of study must include at least six (6) graduate level computer science courses (courses numbered 500 or above).The following sections elaborate the course requirements.

Theoretical Foundations

All students must take these two courses:

  • CSCI 532, Algorithms, 3 credits
  • CSCI 538, Computability, 3 credits

Applications and Systems

All students must take at least four courses from the following:

  • CSCI 520, Parallel and Distributed Computing, 3 credits
  • CSCI 540, Advanced Database Systems, 3 credits
  • CSCI 541, Computer Graphics, 3 credits
  • CSCI 547, Machine Learning, 3 credits
  • CSCI 548, Reasoning Under Uncertainty, 3 credits
  • CSCI 550, Data Mining, 3 credits
  • CSCI 551, Advanced Computational Biology, 3 credits
  • CSCI 560, Advanced Operating Systems Topics, 3 credits - no longer offered
  • CSCI 565, Wireless Networks & Mobile Computing, 3 credits
  • CSCI 566, Advanced Networking, 3 credits
  • CSCI 568, Advanced Compilers Topics, 3 credits - no longer offered
  • CSCI 575, Computational Research Topics, 3 credits
  • ESOF 522, Empirical Software Engineering, 3 credits

Students may be required to take additional courses (possibly outside of the Gianforte School of Computing) as part of their program of study. This will be determined by the student's advisor, program committee, and the Department Head.

Note: CSCI 690 (Doctoral Thesis) is the only course on the Program of Study (including foundational courses) that can be taken pass/fail.


All students must complete a thesis, also known as the doctoral dissertation. This is a formal publication of the results of a student's research work completed under the direction of the student's dissertation advisor.

  • CSCI 690, Doctoral Thesis, 18-28 credits

Back to Doctor of Philosophy Degree Menu