Ph.D. Breadth Requirements

The following are the core graduate courses that carry breadth-requirement credit for all CS Ph.D. students. (Click here for Masters breadth requirements.)

A Ph.D. student is expected to complete six breadth courses in the first two years of the program; two of these courses must be in the Theory Area and four must be in the remaining Areas, with at least one course in each Area. Each of the courses must be passed with a grade of B- or higher, with an average of at least 3.5 for all six courses.

Theory Area

  • CS 530: Algorithms
  • CS 535: Complexity Theory
  • CS 537: Probability in Computing

Software Area

  • CS 511: Object-Oriented Software Principles
  • CS 512: Formal Methods
  • CS 520: Programming Languages
  • CS 525: Compilers

Systems Area

  • CS 550: Computer Architecture
  • CS 552: Introduction to Operating Systems
  • CS 553: Advanced Operating Systems
  • CS 655: Introduction to Computer Networks
  • CS 556: Advanced Computer Networks

Applications Area

  • CS 538: Introduction to Cryptography
  • CS 542: Machine Learning
  • CS 548: Advanced Cryptography
  • CS 558: Network Security
  • CS 559: Algorithmic Aspects of Computer Networks
  • CS 660: Introduction to Databases
  • CS 562: Advanced Databases
  • CS 565: Data Mining
  • CS 680: Introduction to Computer Graphics
  • CS 580: Advanced Computer Graphics
  • CS 585: Image & Video Computing
  • CS 640: Artificial Intelligence