Undergraduate FAQs

Prospective Student

If you have never had a computer programming class, you should take CMPSC 8 before CMPSC 16. If you took AP Computer Science A, this pre-requisite should already be in your records upon your start at UCSB and you can add yourself to the course. If you took AP Computer Science Principles or just have personal programming experience, please review the CMPSC 8 course page and CMPSC 16 course page before requesting clearance to start in CMPSC 16. If you feel your personal experience adequately suffices to skip CMPSC 8, you must email the CS Ugrad Advisor BEFORE your registration pass time begins and with your UCSB Perm Number for clearance. 

Once an undergrad class is full, a waitlist will be activated. The waitlist follows the same major priorities and pass time access listed for the course on GOLD. For example, if your major does not have access to CMPSC 8 until Pass 3 but the course fills in Pass 2, you still have to wait until Pass 3 to add to the waitlist. Once on the waitlist, you will only be added in as other students drop the course. We typically do not have extra spots in the course to add later or have add codes to give out. Refer to the Registrar's website for questions on the waitlist system on GOLD.

The Upper Division Elective form http://www.cs.ucsb.edu/docs/major-elective-approval-form-and-list-electives MUST be completed before beginning upper division work. Each student is required to take 20 units of upper division Departmental Electives http://cs.ucsb.edu/content/upper-division-electives. Each student must bring this form to a Computer Science faculty member, discuss upper division electives with them, have the professor sign the form, and then turn the form in to the CS office. Hard copies of the forms can be obtained from Benji Dunson (CS Undergraduate Advisor) in HFH 2104.

For Freshman admissions, refer to Undergraduate Admissions http://admissions.sa.ucsb.edu/

New Policy on Transfer Courses (effective Spring Quarter 2018):

You are allowed to take a maximum of TWO courses outside of a UC campus to fulfill the change of major requirements. However, only ONE course from the programming sequence (CMPSC 16 and 24) may be taken elsewhere. If one programming course is transferred, one math course (Math 3A, 3B, 4A, 4B, or CMPSC 40) may be also be transferred. If both programming courses are taken at a UC campus, you may transfer credit for two math courses. Any change of major petition turned in Spring 2018, Summer 2018 or Fall 2018 is exempt to this policy. Every change of major petition turned in Winter 2019 and following must adhere to the TWO transfer course maximum.

The following are the minimum requirements for consideration. NO EXCEPTIONS ARE MADE FOR THE FOLLOWING REQUIREMENTS.

  • A cumulative UC GPA of at least 3.0
  • Satisfactory completion of Computer Science 16 and 24 with a cumulative UC GPA of 3.2 or higher; First takes only.*
  • Satisfactory completion of Math 3A (or 2A), 3B (or 2B), 4A, 4B and Computer Science 40 with a cumulative UC GPA of 3.0 or higher; First takes only.* 

In addition, students are required to have:

Never been placed on academic probation,
Fewer than 105 total UCSB units (AP/IB or other transfer units do not count towards this total)
A study plan submitted with the petition demonstrating the CS degree can be completed without exceeding 200 units or five total years of post-secondary study, including time enrolled at other institutions.

Submit the Change of Major petition and Study Plan to the Computer Science Department during the last quarter of required classes (before you pick your classes for the next quarter). Both can be picked up from the CS Department office in 2104 Harold Frank Hall. The department will respond to petitions when the quarter is over. Any denied petitions will not be reconsidered due to the no exception policies stated above. For additional questions, contact the CS Undergraduate Advisor at 805-893-4321.


No. None of the majors within the College of Engineering offer a minor degree.

Yes, students can use work-study to work with individual professors on research.  Students can also do so without work-study (professors offer unpaid and an paid research experiences for undergraduates depending on their area of research and available positions).  Students find out about available positions by talking with faculty.

Four years if you start as a computer science major. Five years for a BS/MS (more on this below).  If you switch majors it takes longer.  We don't provide a guarantee because every individual is different, but our curriculum and available offerings are set up to make this happen:  see
(click on the BS Requirements PDF)

Majority: High tech industry: team based software development and QA/testing
1) Non-high-tech: applying CS skill sets and technologies to other disciplines (medical, bio, econ, …)
2) Start their own companies (become entrepreneurs) or join startups
UCSB offers a TMP program and classes that you can take to learn how to do so:
3) Pursue higher degrees (MS's and PhDs)
We offer a 5 year BS/MS in our department and college: http://engineering.ucsb.edu/current_undergraduates/pdf/coe_five_year_bsms_brochure.pdf
We can also help you set yourself up to pursue a PhD in computer science.

Our students are highly sought after and find their internships independently (through online resources and companies that advertise in our departments),  through the UCSB Job Fair each quarter (http://career.sa.ucsb.edu/career-fairs), and through Counseling and Career Services (http://career.sa.ucsb.edu/).  Most of our students have their internships for summer lined up by the end of the previous year (December).  Some professors also have contacts they can introduce you to if you'd like to work in an area related to their research for an internship.

Our last survey showed that approximately 15% of respondents went on to graduate school.

Current Student

Our courses are extremely impacted and in high demand. Because of our limited resources, we strictly follow major restrictions during specific pass times. You can see these pass time restrictions on GOLD under the course information for that quarter. NO EXCEPTIONS ARE MADE. Even if you are in the process of changing your major, we can only give you access based on your declared major on GOLD. If you have any further questions, please email the CS Ugrad Advisor, not the course instructor as they have no control over enrollment. 

We are different in that our faculty are very involved in undergraduate advising, providing undergraduates with research opportunities, and our curriculum is always evolving to meet the changes in the field.  Our faculty are on the cutting edge of computer science research (big data, cloud, mobile, bioinformatics, and much more) and also teach the classes you take.  Finally, we also (perhaps given the amazing environment in which we get to live/work) are also laid back, love our research and jobs, and are generally approachable and easy to talk with.   

Here are some more details: http://www.cs.ucsb.edu/about/ucsb
Our university also has many other opportunities for exploring the world (through courses and study abroad: https://eap.ucsb.edu/).