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!

Admissions to the CS Major is Changing

In the coming years, the admissions process to enter the CS major will drastically change. You can read more about the new High Demand Majors Policy from the College of Letters & Science (L&S), and the Undergrad FAQ from the College of Computing, Data Science, and Society (CDSS). Please read the following carefully as the pathway into the major depends on several factors. If you’re unsure about which pathway applies to you, please book an appointment to speak to an advisor.


Applied High Demand Computer Science:  Admitted Fall 2023 students who select “Computer Science” on their UC Berkeley application.

CS-intended: Admitted Fall 2023 students who did not select “Computer Science” on their UC Berkeley application.

Group 1: Admitted Fall 2022 or earlier as Transfer Student or Frosh

Students who entered UC Berkeley between Fall 2015 and Fall 2022 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.

Group 3: Admitted Fall 2023 as Transfer Student

  • Students who select “Computer Science” on their College of Letters and Science (L&S) application and are offered admission to L&S will be directly admitted into the Computer Science major. No additional steps are required to be admitted to the major. Students must maintain a 2.0 GPA in order to be in good academic standing in L&S.
  • Transfer students who did NOT select “Computer Science” on their L&S application and are offered admission to Berkeley will have until the end of Summer 2024 to declare the major.
    • These students need to earn at least a 3.3 GPA in CS61A, CS61B, and CS70 by the end of Summer 2024.
    • After Summer 2024, transfer students will not be able to switch to CS.

Group 2: Admitted Fall 2023 as Frosh

  • Admitted to UC Berkeley, Applied High Demand Computer Science:
    • Complete CS 61A, CS 61B, and CS 70 with a minimum cumulative GPA of 2.0 in those 3 courses and be in good academic standing to apply to the major.
  • Admitted to UC Berkeley, CS-intended:

Group 4: Admitted Fall 2024 as Transfer Student or Frosh

  • It is very important to select “Computer Science” on your UC Berkeley application if you want to pursue Computer Science as your major. If you do not select “Computer Science” on your application, it may not be possible for you to declare this major at a later date.
  • Students whose requested major falls under the new College of Computing, Data Science, & Society, including “Computer Science,” will have a seat reserved for them in the primary major indicated on their application if they are offered admission to UC Berkeley.
  • Frequently asked questions: Undergraduate Students in Computer Science, Data Science, and Statistics.

(Updated Nov 2, 2023)

Sample Program Plans for Freshmen

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 students also pursue a second major of interest. For students pursuing other majors, we also offer an EECS minorCS Minor and EIS MinorMeet with a CS Advisor to discuss if these are possible.

Have a Question?

See the L&S CS Major FAQ

You can contact us at:  cs-advising@cs.berkeley.edu

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

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.


Applying to the CS Major

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,61BL (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 sympa@lists.eecs.berkeley.edu 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 cs-advising@cs.berkeley.edu
  • 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 – 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: