All upper division Computer Science course enrollments are restricted. If a student is a declared CS or EECS major, they may be able to enroll directly in upper division courses during Phase 1. If students are not in one of these categories, please review our Course Enrollment Policy for specific information.
All courses taken for the major must be at least 3 units and taken for a letter grade. All upper-division courses applied toward the major must be completed with an overall GPA of 2.0 or above. The prerequisites for upper-division courses are listed in the Berkeley Academic Guide. For course planning, HKN course guides, maps, and prerequisite charts are a great resource.
Students need to complete:
¹Denotes that all courses for the major must be technical in nature. 199, 198, 197, 195, select 194, 191, 190, and various seminars do not count. Please see the table of approved CS 194’s and grad courses. If you are unsure, please check with the CS Advisors (cs-advising@cs.berkeley.edu).
²Denotes that Info 159, Data 101, and STAT/DATA/CS C100 are the only non-CS/EE/EECS titled classes that may be used to fulfill this requirement. If you took either or both semesters of NW MEDIA 190, contact cs-advising@cs.berkeley.edu to see how this may count toward the major.
EECS151 (Digital Systems), CS 152 (Computer Architecture), CS 162 (Operating Systems), CS 164 (Programming Languages and Compilers), CS 169 (Software Engineering), CS 170 (CS Theory), CS 184 (Computer Graphics), and CS 189 (Machine Learning) are known to have heavy workloads. It is not recommended that you take these courses in combination.
The Department allows CS majors to satisfy at most three upper division course requirement at another four-year institution. CS minors may satisfy at most one upper division course requirement elsewhere. We suggest making prior arrangements and consulting with CS Advisors to ensure the course(s) you select is transferrable.
Learn more about the Campaign for Berkeley and Graduate Fellowships.