CS Major Lower Division Degree Requirements

 

GPA/Prerequisites to Declare the CS Major

Students must meet a GPA requirement in prerequisite courses to be admitted to the CS major. Prerequisite and GPA requirements are listed below, based on date of admission to UC Berkeley:

Date of Admission to UC Berkeley

Prerequisites required

GPA required

Before Fall 2015

CS 61A, 61B, 61C, 70; Math 1A, 1B, 54

3.0 overall GPA in those 7 courses

Fall 2015 or later

CS 61A, 61B, 70

3.30 overall GPA in those 3 courses

Major Declaration Policies

  • Per campus policy, students can retake and earn credit for a class in which they received a grade of D+ or lower. Beginning Spring 2017prerequisite 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). 
    • If a student receives an NP in a pre-req, it will be factored as an F (0.0 grade points) when their CS major application is reviewed. 
  • 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. 
  •  Students who do not meet the minimum prerequisite and GPA requirements for the Computer Science major, may choose 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.

Lower Division Requirements

All courses taken for the major must be taken for a letter grade. Students must complete all the lower division course requirements with a passing letter grade to graduate. 

Based on the date of admission to UC Berkeley, students have different options to complete their lower division requirements, as listed below:

Students admitted to UC Berkeley before Fall 2017:

The following courses are required: 

  • Math 1A (Calculus I) *can be satisfied with at least a “3” on the AP AB or BC Calculus exam, at least a “5” on the IB Math Higher Level, or at least a "B" on A-Level Math

  • Math 1B (Calculus II) *can be satisfied with a “5” on the AP BC Calculus exam or at least a "B" on A-Level Further Math

  • CS 61A (Structure and Interpretation of Computer Programs)

  • CS 61B/BL (Data Structures)

  • CS 61C (Machine Structures)

  • CS 70 (Discrete Mathematics and Probability Theory) *Math 55 is accepted for math/cs double-majors, but CS 70 is recommended.

Students can choose from the following options:

  1. EECS 16A (Designing Information Devices and Systems I)  and EECS 16B (Designing Information Devices and Systems II)
  2. Math 54 (Linear Algebra and Differential Equations) and EECS 16A (Designing Information Devices and Systems I) 
  3. Math 54 (Linear Algebra and Differential Equations) and  EECS 16B (Designing Information Devices and Systems II)

Students admitted to UC Berkeley Fall 2017 or later:

  • Math 1A (Calculus I) *can be satisfied with at least a “3” on the AP AB or BC Calculus exam, at least a “5” on the IB Math Higher Level, or at least a "B" on A-Level Math

  • Math 1B (Calculus II) *can be satisfied with a “5” on the AP BC Calculus exam or at least a "B" on A-Level Further Math

  • EECS 16A (Designing Information Devices and Systems I) or Math 54 (Linear Algebra and Differential Equations)

  • EECS 16B (Designing Information Devices and Systems II)

  • CS 61A (Structure and Interpretation of Computer Programs)

  • CS 61B/BL (Data Structures)

  • CS 61C (Machine Structures)

  • CS 70 (Discrete Mathematics and Probability Theory) *Math 55 is accepted for math/cs double-majors, but CS 70 is recommended. Math grade will be used in the GPA calculation. Students need to be declared in math first.

Recommendations for EECS 16A/B for students who took/are taking Math 54

  • Students who completed Math 54 with a passing letter grade, have a good background in circuits or self-studied that material in advance, and reviewed the EECS 16A homeworks with no significant difficulty completing them, should take EECS 16B.

  • Students who completed Math 54 with a passing letter grade and went through the linear algebra portions of the EECS 16A homeworks with no significant difficulty should self-study circuits and/or take EECS 47D, then take EECS 16B. EECS 47D serves only as a bridge course in preparation of EECS 16B. It does not satisfy the EE requirement, and thus can be taken p/np.

    • I passed Math 54 with a letter grade. How do I sign up for EECS 47D? After reviewing the EECS 16A homeworks, students should contact the EECS 16A faculty to obtain the EECS 47D class number and unit value, 1-3.

  • All others (including students who completed Math 54 with a passing letter grade, but don't feel comfortable enough with the material to do the EECS 16A homeworks),  should take EECS 16A (or EECS 47D if there is a unit issue), then take EECS 16B. EECS 16A can be taken p/np.

Spring 2020 Declaration & Degree Policies

The EECS department faculty have approved two policy changes related to degree programs administered by the department. Both are designed so that there is no benefit to electing a letter grade for any course in Spring 2020 with respect to declaration or graduation. You can keep the default grading option of P/NP in all of your courses without compromising your graduation plans or reducing your chances of declaring the L&S CS major.

  1. P grades for all courses taken in Spring 2020 can be used to fulfill degree requirements that would normally require a letter grade for the following:
    • Electrical Engineering and Computer Science (EECS) Major
    • Letters & Sciences Computer Science (L&S CS) Major
    • Electrical Engineering and Computer Science (EECS) Minor
    • Computer Science (CS) Minor
    • Electronic Intelligent Systems (EIS) Minor
  2. Regarding the GPA used to evaluate applications to the L&S Computer Science major (below called the "declaration GPA"), which normally includes all grades from CS 61A, CS 61B (or CS 47B), and CS 70 (or CS 47F) that are taken at UC Berkeley:
    1. Students may choose to exclude their Spring 2020 grades in CS 61A, CS 61B, and/or CS 47B from their declaration GPA as long as their declaration GPA includes a grade from at least one of CS 61A, CS 61B, or CS 47B.
      Examples:
      1. A student receives a P in CS 61A in Spring 2020 and takes CS 61B and CS 70 in future semesters; the student may choose to exclude the CS 61A grade and use only grades from CS 61B and CS 70.
      2. A student receives an NP in CS 61A in Spring 2020 and takes all three courses in future semesters; the student may choose to exclude the NP in CS 61A and use only grades from CS 61A, 61B, and 70 in future semesters.
      3. A student receives a P in both CS 61A and 61B in Spring 2020; the student has two options: appeal to declare the major, in which case other grades will be considered, or use provision D below.

    2. Students may choose to substitute for their Spring 2020 grade in CS 70 using one of (i) their grade in EECS 16A taken before Spring 2020, (ii) their grade in EECS 16B (taken any time), or (iii) their grade in CS 70 retaken in a future semester. This substitution only applies to Spring 2020 grades in CS 70 of P or letter grades of C- and above.
      Examples:
      1. A student receives an A in EECS 16A in Fall 2019 and a P in CS 70 in Spring 2020; the student may choose to substitute the A for the P in their declaration GPA.
      2. A student receives a P in CS 70 in Spring 2020 but has not taken EECS 16A; the student may choose to take either EECS 16B or retake CS 70 in a future semester and substitute either of those grades for their P in their declaration GPA.
      3. A student receives a P in CS 70 and a P in EECS 16B in Spring 2020 and has never taken EECS 16A; the student should appeal to declare the major, and other grades will be considered.

    3. Students may choose to exclude their Spring 2020 grade in CS 70 of NP, F, D-, D, or D+ from their declaration GPA.
      Example:
      • A student receives an NP in CS 70 in Spring 2020 and then retakes CS 70 in a future semester; the student may choose to exclude the NP from their declaration GPA.

    4. Students who receive a grade of P in any of CS 61A, CS 61B, or CS 70 in Spring 2020 may request to know what letter grade they would have received had they elected letter grading, and they may choose to use this letter grade in place of the P in their declaration GPA.
      Example:
      • A student receives a P in CS 70; they request to know what letter grade they would have received, and the instructor says that they would have received an A. They may include this A in their declaration GPA in place of the P.

Additional Information

  • Students must complete (with a passing grade) all major prerequisite courses (61A, 61B, 70 or equivalent) to apply to the L&S CS major. (This information isn't new, but some students were confused; this policy only affects the declaration GPA calculation, not the set of required courses.)

  • Transfer students who have completed all major prerequisite courses (61A, 61B, 70 or equivalent) but do not have all letter grades needed to declare (e.g., they have no letter grade in CS 70 or any allowed substitute) may appeal to declare in Spring 2020, and the department will consider their other coursework. In most cases, we expect that the appeal will be denied, in which case the student should apply to declare again in a future semester once they have a full set of letter grades.

  • Math/CS double major students taking Math 55 in Spring 2020 who receive either a P or a letter grade of C- or better may substitute for their Math 55 grade in any of the ways described in policy 2B above. Retaking Math 55 in a future semester is not an allowed substitute; take EECS 16B or CS 70 instead.

  • Within the College of Engineering, change-of-major applicants may choose whether or not to include each Spring 2020 grade in their EECS GPA. Students need at least two letter grades in EECS courses to apply for a change of major.

Students can book an appointment with a CS Major advisor or email cs-advising@cs.berkeley.edu to discuss their individual cases and determine their next steps toward completing the prerequisites and declaring L&S Computer Science.