## 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 2017**, prerequisite 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:

- EECS 16A (Designing Information Devices and Systems I) and EECS 16B (Designing Information Devices and Systems II)
- Math 54 (Linear Algebra and Differential Equations) and EECS 16A (Designing Information Devices and Systems I)
- 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.