Information for Current and Prospective L&S CS Students
|CS at Berkeley||Alternatives to CS||Petitioning||Major Requirements||CS Minor|
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|
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, 61B, and 61C. CS 3 is useful as preparation for CS61A 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|
Petitioning to the Computer Science Major
All students can petition to this major once they have have completed all technical prerequisites with a gpa of 2.0 or above. All upper division courses applied toward the major, must also be completed with a technical gpa of 2.0 or above.
The Computer Science Prerequisites
You must complete all the lower division course requirements before you will be considered for admission to the major. These are:
- CS 61A (Structure and Interpretation of Computer Programs), 61B (Data Structures), 61C (Machine Structures)
- Math 1A and Math 1B (can be satisfied with Advanced Placement),
- Math 54 (Linear Algebra and Differential Equations)
- CS 70 (Discrete Mathematics and Probability Theory)
- EECS 42 (Digital Electronics). (We highly recommend taking EECS 43, a one-unit laboratory course taken P/NP, during the same semester as EECS 42.)
The Admissions Policy
- The CS 61 series, CS 70 (Discrete Math & Probability) and EE 42 (Introduction to Digital Electronics) are the courses most seriously considered for admission
- Students need to have a GPA of 2.0 for admission
- Transfer students are required to complete their technical prerequisites and declare the major at the end of their first or second semester at UC Berkeley
- The admissions committee looks favorably upon students who challenge themselves
- In general, the committee expects students to assess their own abilities, establish high goals for themselves and plan their schedule accordingly
- How well students do in all courses at Berkeley – not just technical requirements – carries positive weight with the admissions committee. The CS faculty has made it clear that they are looking for students with strong communication skills. Evidence for this comes in large part from grades in humanities courses
- Repeating courses to get high grades is strongly discouraged.
Students are encouraged to submit a personal statement only in cases where:
- there have been personal circumstances affecting academic performance;
- they are working full or part-time and this affects the number of units taken each semester.
The Petition Process
Submit a CS Major petition to 377 Soda Hall during the semester that all technical prerequisites are being completed.
- Complete Major Petition AND Declaration of Major Form.
- There is no deadline for submission of the Minor petition. Minor petition are accepted year round.
Petition Deadline is the last day of classes the semester you are completing technical prerequisites.
|Back to top|
The Upper Division
All upper division Computer Science course enrollments are restricted. If you are a declared CS or EECS major, or an identified CS minor 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
L&S CS majors must earn 27 units in upper division technical courses, including:
- Required Courses:
- Breadth courses choose two from the following:
- Any two additional Upper Division Computer Science courses.
Any upper division CS or EECS course provided it is graded is automatically approved. See the list of other approved non-CS technical electives.
Note: All courses taken for the major must be taken for a letter grade. Refer to Prereq Chart in EECS Handbook for prerequisites for upper division CS courses.
CS 150 (Digital Systems), 152 (Computer Architecture), 162 (Operating Systems) and 184 (Computer Graphics) are known to have heavy workloads. It is recommended that you not 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. You are expected to complete 27 upper division technical units at Berkeley. 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|
|Information for Prospective Undergraduates|