Information for Current and Prospective L&S CS Students

CS at Berkeley Alternatives to CS Petitioning Major Requirements CS Minor 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  

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 10 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!

Another Major

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

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

L&S students may petition to enter the L&S CS major once they have completed the seven technical prerequisites (below) with a GPA of 3.0 or higher. 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:

  • 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 BC Calculus Exam Score of 5)
  • 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 EE20 or EE40 to graduate (Students who have taken EE42 in the past may use it to meet this requirement).

Sample Programs

The Admissions Policy

  • The CS 61 series and CS 70 (Discrete Math & Probability) are the courses most seriously considered for admission
  • Students need to have a GPA of 3.0 for admission to the major
  • 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 on 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.

You are encouraged to submit a personal statement, especially under the following circumstances:

  • Personal circumstances have affected your academic performance.
  • You are working full or part-time, and this has affected the number of units you've taken each semester.
  • You feel your academic performance doesn't represent your ability.

The Petition Process

  • Petition Deadline is the last day of lecture in the semester you are completing your technical prerequisites.
  • There is no deadline for submission of the Minor petition. Minor petitions are accepted year-round.
  Back to top  

The Upper Division

Enrollment Policy

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. One Lower Division EE Course:
    • EE 20, 40, 16A
  2. L&S CS majors must take at least 27 units in upper-division technical courses, including:
    • One Design course from the following lists:
      • CS 149, 150, 152, 160, 162, 164, 169, 184 or
      • EE 125, 128, 130, 140, 141, 143, 149, 192;
    • Any two additional upper-division CS courses*
    • Any two additional upper-division CS or EE courses*
    • At least 7 units of upper-division Technical Electives*:

* 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.berkeley.edu).

Note: All courses taken for the major must be at least 3 units and taken for a letter grade. The prerequisites for upper division courses are listed in the course catalog.

Workload

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. 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  

CS Advisors

Send questions to: cs-advising@cs

Christopher Hunn
377 Soda Hall
(510) 642-7214

Lily Zhang
379 Soda Hall
(510) 664-4436

  Back to top  


Information for Prospective Undergraduates