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. In some cases, the prerequisite is associated with a specific grade. In these cases, the student must complete the prerequisite course and achieve at least that grade prior to enrolling in a course that depends on the prerequisite. Finally, some courses require a certain standing (e.g. junior or senior status). The prerequisite rules are specified with each course description.
The Computer Science department employs the UCSB-wide waiting list for all courses that fill before the end of a registration period.
Important Course Related Links:
- OFFICE HOURS
- Course Descriptions - CS Website
- 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
- Year Long CS Course Schedule
- 2017-2018 Course List (subject to change)
- Waitlist Information