Over 80 courses are offered in Computer Science. These courses are offered at 3 levels. Lower division courses (numbered 1-99) are typically taken by freshman and sophomores and introduce students to the fundamental building blocks of the discipline and provide general education. Upper division courses (numbered 100-199) are more advanced courses generally in the student's major or minor. Graduate level courses (numbered 200-599) 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. For information on the CS wait list policy and process, see this page.