Courses

COVID-19 Update for Spring 2020:

CS Student Advising will suspend in-person advising effective Tuesday March 17 until further notice. 

Current CS students may contact us via email: undergrads at ugradhelp@cs.ucsb.edu or graduate students at gradhelp@cs.ucsb.edu. Please allow up to 3 business days for a response. We will offer advising appointments via Zoom video. We will not have staff in our physical office, please be sure to reach out to us via email only for an appointment starting on March 23.

General hours remain the same for our staff: Monday-Friday 9am-12pm and 1pm-4pm PST. We appreciate your patience and understanding as we work to serve our students during this time.

** Enrollment update** As of March 17, 2020, waitlisted students should expect to be added to a course only if seats become available. The shift to remote course instruction for Spring quarter will not change our enrollment limits. We are still bound by instructional teaching loads and instructional support (TA/tutor availability). The capacity in each course is determined by multiple variables (not solely the classroom size), including but not limited to: 

Classroom size availability 
Instructor availability 
Instructor teaching load
Instructional support availability (TA/tutor support) 
Scalability of the course

 

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: