Computer Science Major Frequently Asked Questions
CS Major Advising
We are here to help and support you through your studies here at UC Berkeley. We provide academic advising, program planning, degree checks and audits, course selection, and prospective and intended student advising for students Computer Science.
The following is a non-comprehensive list of frequently asked questions. If you have a question not answered below, please meet with an advisor.
Information for Current UCB students
- If you were admitted to UC Berkeley in Fall 2015 or later, read the policies here.
- If you were admitted to UC Berkeley before Fall 2015, contact cs-advising@cs.berkeley.
No worries! Many of our current CS majors had no prior programming experience. We recommend students to take either Data C8 or CS 10:
-
-
- Data C8 will give you lots of programming experience in Python, which is used in CS 61A.
- CS 10 will introduce you to some of the bigger concepts taught in CS 61A, but will use mostly use SNAP!, and later Python.
- For more information, check out the alternatives to CS 61A section.
-
Yes. This class was previously listed as CS C100/Stat C100. Since it is a CS upper-division class, it counts for both the CS major and CS minor, regardless if you are enrolled in CS C100, Stat C100, or Data C100.
Internships
- The best way to get an internship would be to apply broadly to jobs that interest you to increase your chances of getting an interview.
- Create a resume. Check out the Berkeley Career Engagement website and UPE office hours (346 Soda) for resume critique and mock interviews. Many student groups also provide professional development events such as resume workshops and interview tips.
- Fill out your handshake profile.
- Attend info sessions/tech talks. These are recruiting events where companies will send their engineers and recruiters to collect resumes, talk about what it’s like there, etc. Info sessions/tech talks are all listed on the EECS homepage/monitors on the 3rd and 4th floors of Soda, and the 2nd floor of Cory. They are also listed on the EECS department calendar.
- Go to the Career Fairs website
- After getting an invitation for an interview, study and practice, practice, practice some more! Schedule mock interviews with UPE or Berkeley Career Engagement. To study for interviews, a good book to read is Cracking the Coding Interview by Gayle McDowell, which has many practice problems similar to interview questions. In addition, some websites can help you practice such as HackerRank and Topcoder. The material covered in most CS interviews includes data structures and algorithms, which are the focus of CS 61B and CS 170.
-
- Take CS169A and/or CS169L. CS 169A/L offers a great internship-like experience to add to your resume.
- What are you interested in? Why did you decide to major in Computer Science?
- Many student organizations in and outside the department cater to different interests that may relate to Computer Science. Some examples are:
- Games, Animation, Entertainment: GameCrafters (CS199), UCBUGG (CS198/CS99)
- Design: Innovative Design (Multidisciplinary design teams), Web Design Decal
- Many student organizations in and outside the department cater to different interests that may relate to Computer Science. Some examples are:
- See more on our Student Orgs page or CalLink
- Or attend a hackathon hosted by various clubs (CSUA, Hackers@Berkeley, UPE, Blueprint). Try to find a team, and come up with an idea. If you can’t find a team, often you can still attend as an observer.
- Go to an external Hackathon (Cal Hacks, PennApps, etc.). There are many hackathons hosted in various parts of the United States. Many of them reimburse you for travel fees.
- If you’re not sure what you’re interested in, review class projects you enjoyed and look more deeply into them. Many class projects are an introduction to a specific field/area in computer science. Visit a professor’s office hours and ask about how you can learn more about it.
Our CPT process for CS and EE internships is described on our website.
Research
UC Berkeley offers opportunities such as the Undergraduate Research Apprentice Program (URAP) or The Discovery Initiative. URAP provides valuable opportunities to gain hands-on experience in research projects and mentorship from graduate students and professors. The Discovery Initiative provides experiences such as internships, capstone projects, fellowships, study abroad, research, and creative endeavors that give students the confidence and sense of direction that leads to a smoother launch into life after graduation.
You can read more about undergraduate research at the department level on our undergraduate research page.
Yes, complete this form to enroll in an independent study course. You will need to obtain the faculty signature under whose supervision you will work.
Enrollment
We advise our CS major applicants not to plan on taking CS 61C or restricted upper-division CS classes the same semester they are declared. However, we do our best to provide enough capacity to provide some options for restricted CS upper-division classes once you are declared.
Here are some other options to consider so that you can continue to make progress toward graduation requirements while you wait to be declared.
- Consider taking one of the open upper-division CS classes: CS 168 and CS 188.
- Consider taking EECS/ELENG classes that qualify as part of the requirements. Keep in mind there are enrollment priorities for many of these classes as well. But, they are typically open to all majors during the adjustment period. The exception is EECS C106A/C106B, which is only open to EECS/CS majors during phase 1. During the adjustment period, any remaining seats in EECS C106A/C106B are also open to non-EECS COE majors; see CS Major Upper Division Degree Requirements.
- Consider enrolling in a non-CompSci tech elective; see Technical Electives for the Computer Science Major
- If possible, you may want to consider enrolling in the class over summer session (assuming it is offered). We do not enforce enrollment policies over summer, so it’s first-come, first-served.
The enrollment system will NOT drop someone from a class or move them back to the waitlist if they change to a different reserve capacity group after they are enrolled.
We are committed to ensuring that CS and EECS/joint EECS majors can take the classes needed for the major. We regret that demand for CS upper-division classes exceeds our teaching capacity. Restrictions are needed to ensure CS and EECS majors are able to take the classes they need to graduate. We do provide reserved seating for DS majors in a select set of CS upper-division classes.
COE has generously provided supplemental funding to support the teaching budget, and we are grateful for their partnership.
Staff cannot tell you if or when you will get off the waitlist for a CS class. We recommend checking past enrollment trends on Berkeleytime for estimates. https://berkeleytime.com/enrollment.