Skip to main content Skip to secondary navigation

Email forwarding for is changing. Updates and details here.


MS | Additional Electives

Main content start


After you have planned your coursework for the Foundations, SI, Breadth, and Depth requirements, you may still fall short of the 45 units required for a MS CS degree. If you are short of units, you should specify additional electives to bring your program up to the required 45-unit level. Students have autonomy on the Elective courses that they select, although the entire program must be approved by your advisor and by the MSCS administrator.

Elective Rules:

  1. Courses in computer science numbered 112 and above (with the exception of CS 161A, 196, 198, and 390A/B/C) are suitable as electives.
  2. Non-CS courses in related departments (e.g., Electrical Engineering, Mathematics, and Statistics) that are numbered at 100 or above and are technical in nature are likely to be approved.
  3. Your advisor has the discretion to approve of one non-technical course as an elective if they deem it contributes to a graduate education in Computer Science.
  4. A maximum of three units of 500-level CS seminars, CS 300, EE 380, EE 385A, or other 1-2 unit seminars offered in the School of Engineering as electives are applicable towards the MS degree.
  5. Courses that are completely unrelated to Computer Science would not normally be appropriate as electives; check with your advisor if you’re unsure about a course.
  6. CS 129 may not be counted towards the MS if CS 229 is being counted towards any BS or MS requirement.
  7. Electives can be taken for CR/NC or S/NC, so long as your program sheet includes at least 36 units of letter-graded coursework, including all of your SI, Breadth, and Depth courses.