Information for Current and Prospective L&S CS Students
|CS at Berkeley||Petitioning||Major Requirements||CS Minor||Alternatives to CS||CS Advisors|
Computer Science at Berkeley
Why Study CS?
Most students majoring in CS want to prepare themselves for careers as computer professionals. A bachelor's degree in CS qualifies one for a diverse variety of interesting positions. Some CS graduates join design teams on large systems projects. Others work alone in petition programming or technical writing. Some work in computer graphics and animation. Others take positions that are only partly technical, in computer marketing and sales. Some work for Fortune 500 companies, some work for small Silicon valley start-ups, and still others prefer to be self employed. For a list of what many of our graduates are doing, visit the Career Center web page What Can I Do with a Major In...?
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 Berkeley, or may be employed in the research department of a corporation. The preparation for a research career generally includes graduate school, leading to a Ph.D. degree. Graduate school can also give students a more specific intellectual background in a particular area, in preparation for more technical programming jobs.
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!
Berkeley CS Emphasizes Science
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.
As a result, studying computer science at Berkeley requires much more mathematical sophistication, and more understanding of the ideas from electrical engineering, than some other CS programs. If you want to study CS at Berkeley, you should enjoy mathematics! You should also be prepared for hard work and long hours of programming.
How does my choice of programs affect future career or academic growth?
An interest in hardware suggests the EECS route; an interest in double majoring (for example, in math or cognitive science) suggests the L&S route. There is no difference in the CS content between the two programs. The difference is in what else you take: mainly engineering, or mainly humanities and social sciences.
Some students choose EECS because they feel that a B.S. degree is more prestigious than a B.A. This is not a good reason; any CS degree from Berkeley is prestigious enough! If, in addition to CS, you're also interested in philosophy, or literature, or mathematics, or music, you should probably choose the L&S CS curriculum. If, in addition to CS, you're also interested in physics, or electrical engineering, or biotechnology, then EECS may be the better choice.
|Back to top|
Petitioning to the Computer Science Major
Students entering UC Berkeley before fall 2015 must complete all 7 of the lower division course requirements with a cumulative GPA of at least 3.00 in order to petition for admission to the major.
Students entering UC Berkeley in fall 2015 or after fall 2015 must complete CS 61A, CS 61B, and CS 70 with a minimum cumulative GPA of 3.30 in order to petition for admission to the major.
We only use grades for courses completed at UC Berkeley for the GPA calculation. Students may petition for admission to the major during the semester in which the final technical prerequisites are being completed.
Computer Science Lower Division Requirements
You must complete all the lower division course requirements to graduate:
- CS 61A/AS (Structure and Interpretation of Computer Programs)
- 61B/BL (Data Structures)
- 61C (Machine Structures)
- Math 1A (can be satisfied with at least a 3 on the AP AB or BC Calculus exam)
- Math 1B (can be satisfied with a 5 on the AP BC Calculus exam)
- Math 54 (Linear Algebra and Differential Equations)
- CS 70 (Discrete Mathematics and Probability Theory)
- NOTE: Though there is no longer an EE prerequisite there is a major requirement; every student must take either EE 20 or EE 40 or EE 16A to graduate (Students who have taken EE42 in the past may use it to meet this requirement).
The Admissions Policy
- Students must attain the minimum prerequisite GPA (listed above under Petitioning to the Computer Science Major) in order to petition for admission to the major.
- Students who entered UC Berkeley before fall 2015 can apply for early declaration during the semester in which they are completing 6 out of the 7 prerequisites, and have at least 3.4 prerequisite GPA (i.e. currently taking prerequisite #5 and #6, and only need the last prerequisite next semester).
- Transfer students should plan complete their technical prerequisites and apply for the major at the end of their first or second semester at UC Berkeley.
- Repeating courses to get higher grades is strongly discouraged. You may repeat a course only if you received a NP or grade below C-, and can only retake a particular prerequisite ONCE with the repeated grade being final. You can only retake a maximum of 12 units.
The Petition Process
- Petition Deadline is the last day of lecture in the semester you are completing your technical prerequisites.
- Complete the Major Application Form.
- Applications will be processed after grades are posted and you will be notified via email.
- For double or triple majors within the College of Letters & Science: complete the Double Major Application Packet.
- 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.
L&S CS Pre-Major GPA Calculator
Please enter letter grades for each course (only uppercase letters and +/- symbols work) and leave courses not taken on campus or cleared via AP credit blank.
This free script modified by Satish Rao
- 3, 3.5, and 4 Year Sample Programs for Incoming Freshmen
- Sample Programs for Incoming Transfer Students
|Back to top|
The Upper Division
All upper division Computer Science course enrollments are restricted. If you are a declared CS or EECS major, you may be allowed to enroll in upper division courses during TeleBears. If you are not in one of these categories, then you will have to put your name on the waiting list for the course(s) you hope to take. See the Course Enrollment Policy for specific information.
Required Courses for Satisfaction of the CS Major
1 Lower Division Electronics course:
- EE 20, 40 (Last offering Fall 15), or 16A
- 20 Upper Division Units*
One Design Course from the following:
- CS 149, 150, 152, 160, 162, 164, 169, 184, 186 or
- EE 125, 128, 130, 140, 141, 143, 149, 192
- Two upper-division CS courses*
- Two upper division CS or EE courses*
7 units of Upper Division Technical Electives:
- can be upper division CS or EE courses*
- or from our approved technical electives list
* Denotes that all courses for the major must be technical in nature. 199, 198, 197, 195, select 194, and various seminars do not count. If you are unsure, please check with the CS Advisors (cs-advising@cs).
Note: All courses taken for the major must be at least 3 units and taken for a letter grade. All upper division courses applied toward the major must be completed with an overall GPA of 2.0 or above. The prerequisites for upper division courses are listed in the Berkeley Bulletin.
CS 150 (Digital Systems), 152 (Computer Architecture), 162 (Operating Systems), 164 (Programming Languages and Compilers) 169 (Software Engineering), 170 (CS Theory), and 184 (Computer Graphics) are known to have heavy workloads. It is not recommended to take these courses in combination.
The L&S College 36-unit requirement
In order to graduate as an L&S student, you must complete a minimum of 36 upper division units. At least 6 of these upper division units must be outside your major department (this includes EECS courses not taught by CS faculty!). See the L&S unit requirements for more information on this.
The CS Division single-course restriction
The CS Division allows majors to satisfy at most one upper division course requirement at another four-year institution. Occasional exceptions are made. In either case, you need to make prior arrangements. Please note that upper division courses from other four-year institutions can be used toward the upper division unit requirement set by the College of Letters and Science.
|Back to top|
Alternatives to the Computer Science Major
Basic Programming Skills for Entry Level Employment
If you are planning a CS career, you should take at least CS 61A/AS, 61B/BL, and 61C. CS 10 is useful as preparation for CS61A/AS if you have little or no previous programming background. As for math background, the one crucial requirement is discrete math (CS 70). Other math courses are helpful for specific areas within CS; for example, computer graphics uses a lot of linear algebra. Apparently, there are still more programming jobs than good programmers. So if you have good programming skills you can find a job. There are many levels of sophistication required for different jobs, so whatever you learn will be helpful, but even having completed CS61ABC is enough for many jobs. Also, you can go on to graduate school in CS after completing the minor program here!
Those majors in L&S that share lower division technical prerequisites and/or some of the upper division CS courses toward major requirements are:
- Cognitive Science
- Applied Mathematics
- Interdisciplinary Studies Field (ISF)
- Physical Sciences
- Operations Research and Management Science
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.
|Back to top|
Send questions to: cs-advising@cs
|Back to top|
|Information for Prospective Undergraduates|