John DeNero teaching CS 61A (photo: Doug Birnbaum)

Computer Science Bachelor of Arts

At Berkeley, we construe computer science broadly to include the theory of computation, the design and analysis of algorithms, the architecture and logic design of computers, programming languages, compilers, operating systems, scientific computation, computer graphics, databases, artificial intelligence and natural language processing. Our goal is to prepare students both for a possible research career and long-term technical leadership in industry. We must therefore look beyond today's technology and give students the big ideas and the learning skills that will prepare them to teach themselves about tomorrow's technology.

Why Major in Computer Science?

Most students major in CS to prepare themselves for careers in industry. A bachelor's degree in CS will prepare you for a diverse variety of interesting jobs including software engineering, web development, data analytics, and consulting . You might choose a career in computer graphics and animation or product management. You may work for a Fortune 500 company, a small Silicon Valley start-up, or choose to be self-employed!

Some CS students plan to pursue a research career, building experimental systems to advance the state of the art, rather than systems for immediate commercial use. Researchers may be professors at universities like UC Berkeley or may be employed in the research department of a corporation. The preparation for a research career generally includes pursuing a Ph.D. degree. Graduate school can also give students a more specific intellectual background in a particular area in preparation for more advanced technical careers  be it as a software engineer or in another position.  

Some students majoring in CS aren't sure about their career plans. They study CS simply because they like it and enjoy the challenge, and that may be the best reason of all!

Freshman Applicants

Freshman applicants interested in the Computer Science major can apply to the College of Letters and Science (L&S) , indicating their intended major as CS. All L&S freshmen are admitted as undeclared and encouraged to satisfy the principal prerequisites for their major during their first two years at Berkeley. Undeclared students should apply to declare their majors by the end of their sophomore year or during the first semester of their junior year.

Sample Program Plans for Incoming Freshmen

Changing colleges or majors within Cal? Pursuing a Double Major/Minor?

 It is possible to transfer into the CS program from another college or major on campus. Many of our student also pursue a second major of interest. For students pursuing other majors, we also offer an EECS minorCS Minor and EIS Minor.

Junior Transfers

Junior transfer students interested in CS should apply to the College of Letters and Science (L&S) as intended computer science majors. However, admitted students are admitted to L&S, not the major.  Admitted transfer students in L&S are encouraged to apply to declare their major at the end of their first year at UCB. Junior transfer applicants should use to determine the courses necessary for transferring to UC Berkeley.

Transfer students should plan to complete their technical prerequisites and apply for the major at the end of their first or second semester at UC Berkeley.

CS Transfer Prerequisites & Sample Programs

Have a Question?

See the L&S CS Major FAQ

You can contact us at:

Current students can also search/post questions on the EECS 101 edstem

Requirements to declare CS major

Students entering UC Berkeley in fall 2015 or later must complete CS 61A, CS 61B, and CS 70 with a minimum cumulative GPA of 3.30 in those 3 courses in order to apply to the major.*

We only use grades for courses completed at UC Berkeley for the GPA calculation. Students may apply to the major during the semester in which the final technical prerequisites are being completed.

*While not required to declare the major, EECS 16A or Math 54 are requirements to be completed ideally by the end of Sophomore year.

Want to meet with a CS advisor?

We offer remote advising appointments to both prospective and current students. We offer both in-person and virtual drop-in advising to current students. Please visit the CS advising page for more information.

Our hours are 10 am - 12 pm and 1 pm - 4 pm Monday through Friday.


Major Declaration Policies

  • Students must complete the required prerequsites and attain the GPA required to be admitted to the major.
  • Students can apply to the major during the semester in which the final technical prerequisites are being completed.
  • If a student completes equivalent courses to our prerequisite courses (CS 61A, CS 61B, CS 70) at another institution, at least one course must be completed at UC Berkeley to calculate the major application GPA. 
  • Per campus policy, students can retake and earn credit for a class in which they received a grade of D+ or lower. Beginning Spring 2017, prequisite courses which have been retaken will be averaged to calculate the major application GPA (For example: CS 61A = D; CS 61B = A-; CS 61A = A-; CS 70 = A; averaged GPA = 3.1). Attempted courses taken before spring 2017 (and repeated thereafter) will not be averaged into GPA.    
  •  Students who do not meet the minimum prerequisite and GPA requirements for the Computer Science major, may chose to appeal the major declaration decision after they have submitted an initial application to the major. Find our more about the Major Declaration Appeal Process.

Applying to the CS Major

New application timeline:

  • The CS major application will only be open once grades are posted at the end of the semester to the 30th of the last month of the semester. In the recent past, we allowed students to submit the request to declare the CS major throughout the semester. We are now only allowing students to submit their application to declare the CS major after all grades are posted from CS 61A (CS 47A), CS 61B (CS 47B), and CS 70 (Math 55 for students double majoring in CS and Math/Applied Math).  To receive the announcements about the opening of our application, please self subscribe to our CS-intended mailing list by  emailing with the text "subscribe cs-intended" in the body or the subject.

Please read: 

  • The application period to declare the CS major is from once grades are posted (approx. 1 week after the end of the semester) to the 30th of the last month of the semester in which you are completing your technical prerequisites: Dec 30, May 30, and Aug 30.
  • You will be notified of the decision via email (approximately 3-4 weeks after the deadline)
  • Students who are looking to declare the CS major outside of the application period - please contact CS advisors at
  • Students who have submitted their application prior to 3/13/23 - we will review your applications once grades are posted for Spring 2023. No further action is required on your part.
  • For double or triple majors within the College of Letters & Science: complete the Double Major Application Packet, upload it to the CS major app linked above, a CS advisor will sign your forms after we process the application. You do not need a signature from us before uploading the double-major form.
  • For students double majoring with a major outside of the College of Letters & Science: complete the Simultaneous Degree Application Packet instead of the Double Major Application Packet
  • For students change majors and/or changing colleges, please review the respective web pages and complete the appropriate forms. 
  • CS advisors will sign the aforementioned forms when your online application is reviewed.

Major Application Form (status - currently closed)

Alternatives to the CS Major

Basic Programming Skills for Entry Level Employment

Computer science skills are in high demand, and you do not need to major in CS for a career in CS. If you are planning a CS career, you should take at least CS 61A/AS and 61B/BL. Additionally, taking CS 61C ensures you understand the full stack. CS 10 and/or CS 8 is useful as preparation for CS61A if you have little or no previous programming background. Mathematical skills are also important; one crucial requirement is discrete math and probability,  CS 70. Other math courses are helpful for specific areas within CS; for example, computer graphics uses a lot of linear algebra and multivariable calculus is useful for machine learning.  Completion of CS61ABC and CS70 combined with a background in biology or chemistry gives you good a foundation for upper division work in bioinformatics and computational biology. You can even go on to graduate school in CS after completing the CS, EECS or EIS minor program here!  

Another Major

Cal is a great university with many wonderful majors, some of which may offer better experience and preparation for a career in industry than pure CS. 

The following majors in L&S share lower division technical prerequisites and/or some of the upper division CS courses toward major requirements: