Computer Science Courses
The Computer Science department offers courses at three levels:
- Lower division courses (numbered 1-99) are typically taken primarily by freshman and sophomores and introduce students to the fundamental building blocks of the discipline.
- Upper division courses (numbered 100-199) are more advanced courses that venture deeper into a wide range of topics in computer science.
- Graduate level courses (numbered 200-599) cover advanced material and are not generally open to undergraduates.
A subset of the lower division courses are open to non-majors. These include CS8, CS16, CS24, and CS40. All other courses require major status to enroll.
Most computer science courses have prerequisite courses that must be completed prior to (and in some cases concurrently with, if specified) enrolling in a course. The prerequisite rules are specified with each course description and is linked below.
The Computer Science department employs the UCSB-wide waiting list for all courses. The FAQ's about enrolling in waitlists are linked below.
Important Course Related Links:
- OFFICE HOURS
- Course Descriptions - CS Website
- Course Pre-Requisites
- UCSB General Catalog - Computer Science
- UCSB Course Schedules - All courses (by quarter)
- CS 291, 292 and 293 Area and Topic List
- Graduate Seminars and Special Topics
- 2018-2019 Current CS Courses
- 2019-2020 CS Courses
- Waitlist Information