You can meet the undergraduate breadth requirement in one of three ways:
  1. Hold a Bachelor's degree in Computer Science or Computer Engineering from a program comparable in rigor and focus to our own undergraduate degrees.
  2. Take UW CSE 500-level Breadth Courses from at least 3 of the 4 groups ("Graduate Breadth Requirement")
  3. Take three additional 400-level courses in Computer Science & Engineering from a list provided to them by the Quals Committee based on their specific background.
Most folks without an Bachelor's degree in CS/CE will elect to meet the Graduate Breadth Requirement (#2) instead of taking additional coursework.

Process for Reviewing Undergraduate Breadth

Prior to starting in the program, every student who does not have an undergraduate degree in Computer Science or Computer Engineering must submit a verification of Undergraduate Breadth request via the following steps:
  1. Submit final undergraduate transcripts via this form (if you do not have an undergraduate degree in Computer Science or Computer Engineering).Students who have earned an undergraduate degree in Computer Science or Computer Engineering will have automatically satisfied the undergraduate breath requirement and therefore do not need to submit the verification request.
  2. In the form, each student will provide the list of “400-level” undergraduate courses that they have taken. In order to meet undergraduate breadth students must have taken at least one equivalent "400-level" course from 3 of the 6 listed groups.
  3. The Quals Committee will review this list and provide feedback to the incoming student and their advisor prior to the start of their first quarter in the program. This feedback will either indicate that the student has already fulfilled the undergraduate-level breadth requirement after the closer review or will provide details on how to satisfy the requirement with additional coursework at the undergraduate or graduate-level.
If opting to use UW CSE undergraduate coursework to fufill the undergraduate breadth requirement, the guidance will come in the form of a set of 6 groups of courses from which three 400-level courses (at most one from each group), will suffice to satisfy undergraduate level breadth. The 6 groups of courses will be a subset of the following:
  • Programming Languages/Software Engineering: CSE 401, 402, 403
  • Theory: CSE 421, 422, 431, 490C (Crypto).
  • HCI/Visualization: CSE 440, 442
  • Systems: CSE 444, 451, 452, 461, 469, 470, 474, 484
  • Machine learning and applications: CSE 446, 447, 473, 478
  • Graphics/Vision: CSE 455, 457
  • The 6 groups of courses the Quals committee specifies will be designed to ensure that the student has breadth in computer science. Therefore, for example, a student whose undergraduate degree is in Mathematics, will not be offered the option of fulfilling the undergraduate-level breadth requirement by taking a Theory class.
  • A few of these 400-level courses (e.g. 446 and 447) are very similar to their counterparts at the 500 level (e.g. 546 and 547). Since the latter courses satisfy the graduate-level Breadth requirement which will ultimately need to be fulfilled anyway, it may not make sense for a student to take the 400 level course rather than the 500 level course. Please check with the instructors to understand the differences between corresponding undergraduate and graduate level courses.
  • Recall that rather than taking any 400 level courses, a student has the option of simply fulfilling the graduate-level 5-course Breadth requirement before passing Quals.