Breadth Requirements

Clearing Breadth Requirements: Course waiver process

The purpose of the Breadth Requirement for the Doctoral program is to ensure that each graduate of the program has adequate knowledge of the core areas in the field of Computer Science. The Breadth Requirements are divided into 3 areas: Mathematical & Theoretical Foundations, Computer Systems, and Artificial Intelligence & Applications. You need to pass 2 subareas within each of the 3 areas. If you have passed 2 breadth requirements out of each of the 3 areas(A, B, & C of the listing below), you have cleared your breadth requirements! Congratulations! If you think this is the case, please let know so that your records can be updated.

If you wish to waive a breadth requirement as the result of coursework completed at another school, you must:

  • Complete the waiver form.
  • Send the link of the completed saved form to the breadth area approver and cc: phdstudentservices@cs.
  • Attach a copy of your transcript showing the grade you received in the "breadth course equivalent" course you completed at your previous institution.

Please complete one form per waiver request.

When you fill out waivers, individual links for each waiver and an "All Waivers" link will be generated. Use the appropriate individual link when submitting your request for a waiver to each corresponding approver.

Note: This form is not to serve as a substitute for meeting with the appropriate faculty member. Rather, the goal of this form is to give students a chance to gather all of their necessary documentation for breadth waivers and in the process save paper since you don't have to print all this out!

Please make sure the breadth area approver notifies of the decision so that your records can be updated accordingly.  

Current Breadth Requirements Listing (A grade of A- or better must be earned).

Area A: Mathematical & Theoretical Foundations

  • Analysis of Algorithms: CS 168CS261CS265
  • Theory of Computation and Complexity Theory: CS154, CS254 
  • Numerical Analysis and Convex Optimization:  Note: "Generally speaking, to get a waiver, one needs to have the very least used a textbook quite similar to those that would have been use for the same course here." CS205L,  CS334aEE364a, EE364b
  • Logic: CS157, Phil251, CS258

Area B: Computer Systems 

  • Computer Architecture: EE180EE282EE382E, CS149, CS316
  • Compilers: CS143CS243 
  • Networks: CS144CS244, CS244b
  • Programming Languages: CS242, CS358  Note: CS242 is generally expected to be offered once a year; there is currently no instructor for CS358 but it may be offered again in the future.
  • Software Systems: Approved breadth area courses can be found here

Area C: Applications 

Breadth Area Approvers

Area A: Mathematical and Theoretical Foundations

Area B: Computer Systems

Area C: Applications