B.S. Computer Science

CS 26 FA23 Homepage

Updated Feb 15, 2024

Curriculum Update: CSE 15L (2 units) will be replaced with CSE 29 (4 units) in Spring 2024. A new updated version of CSE 30 will be offered Fall 2024. For students admitted in FA24, to accommodate the two additional units for CSE 29, the General Science requirement will be reduced by one course and the Computer Science and Engineering lower-division elective will be increased by two units.

This is CSE’s core major, preparing students to contribute to the profound societal changes being brought about by innovations in computing. Students interested in a hardware emphasis might want to consider Computer Engineering (CS25).  The CSE program provides three majors in all, with numerous electives, allowing flexibility to explore your academic and career interests. The lower-division course requirements are designed to provide a strong foundation in mathematics, physics, programming methodology and skills, and computer organization. Upper-division core courses deal with the theory and design of algorithms, hardware, and software as well as applying your knowledge to the computing world. Electives allow students to gain additional breadth and/or depth in computer science and engineering.

Effective Fall 2023, the Computer Science (CS26) major curriculum has been updated. The FA23 curriculum is designed to ensure flexibility and adaptability for first year students and transfer students with the goal of ensuring students are prepared for the growing breadth known as Computer Science. Our lower division requirements remain unchanged while the Upper Division core requirements reflect the following topics: Data Structure and Programming, Algorithms, and Software Engineering. Once students have taken our Core Courses, our elective courses allow students to explore multiple paths to graduation and dive into these areas of specialization:

  • (Systems) The implementation of abstractions behind, and security of, computer hardware, software, and networking.
  • (Theory/Abstraction) Abstract computational ideas using mathematical or formal tools.
  • (Applications of Computing) Applying appropriate computing knowledge and problem-solving techniques to guide and shape the impact of computing on the world. 

UCSD- CSE General Catalog

Degree Plan Checklist:

  • BS Computer Science Checklist (Fall 2023 Curriculum): a checklist for all major requirements for students on the Fall 2023 Curriculum
    • All major requirements must be taken for a letter grade AND passed with a C- or better (with the exceptions of: CSE 91, CSE 95, CSE 197, CSE 198, and CSE 199). 
    • Students will notice that some tagged elective courses are bolded. These bolded courses indicate that students who have completed the lower-division CSE coursework and the CS26 FA23 core courses (CSE 100/100R, CSE 101, and CSE 110) have fulfilled the prerequisites for these bolded courses.

BS Computer Science Checklist (FA22 and Prior):

  • BS Computer Science Checklist (Fall 2022 Curriculum): a checklist of all major requirements for students on the Fall 2022 curriculum
    • All major requirements must be taken for a letter grade AND passed with a C- or better (with the exception of CSE 91, CSE 95, 197, 198, and 199). 
  • BS Computer Science Checklist (Fall 2021 Curriculum): a checklist of all major requirements for students on the Fall 2021 curriculum
    • All major requirements must be taken for a letter grade AND passed with a C- or better (with the exception of CSE 95, 197, 198, and 199). 
  • BS Computer Science Checklist (Fall 2020 Curriculum): a checklist of all major requirements for students on the Fall 2020 curriculum
    • All major requirements must be taken for a letter grade AND passed with a C- or better (with the exception of CSE 95, 197, 198, and 199). 
  • BS Computer Science Checklist (Fall 2019 Curriculum): a checklist of all major requirements for students on the Fall 2019 curriculum
    • All major requirements must be taken for a letter grade AND passed with a C- or better (with the exception of CSE 95, 197, 198, and 199). 
  • BS Computer Science Checklist (Fall 2017 Curriculum): a checklist of all major requirements for students on the Fall 2017 curriculum
    • All major requirements must be taken for a letter grade (with the exception of CSE 95, 197, 198, and 199).
    • For CSE majors on an old degree curriculum, if you want to switch to Fall 2017 requirements, please send a request to advising through the Virtual Advising Center (VAC) or come in to meet with an advisor

Four Year Plans

  • Academic Planning Worksheet (link to copy a Google Sheet): blank worksheet for students to be able to create a sample long term plan which can be brought to an advising meeting 

  • Sample Plans By College: sample long term plan that includes college requirements

Sample 4 Year Plan (Fall 2023 Curriculum)

 These plans only include CSE major requirements. For questions regarding your college and university requirements, please check with your college.

 

YEAR

FALL

WINTER

SPRING

First Year

CSE 8A or 11*1

MATH 20A

 

 

 

CSE 8B*1

MATH 20B

 

 

 

CSE 12

CSE 15L 

CSE 20*2

MATH 20C

Second Year

CSE 21*3

CSE 30

CSE General Science 

 

CSE 100

Math 18

CSE General Science 

 

CSE 101

CSE 110

Statistics 

 

Third Year

Systems Elective

Theory/Abstraction Elective

Applications Elective 
 

Systems Electives

Theory/Abstraction Elective

Applications Elective

 

Systems Elective 

Theory/Abstraction Elective 

Applications Elective


 

Fourth Year

Open CSE Elective*4 

Open CSE Elective*4

 

Open CSE Elective*4

Open CSE Elective*4

Open CSE Elective*4

 

Open CSE Elective*4

Elective  

*1: Students who do not have programming experience should begin with the two-track course: CSE 8A (take CSE 8B in the second quarter). Students who have programming experience may begin with CSE 11 (take CSE 12 and CSE 15L in the second quarter).

*2: CSE 20 may be substituted with MATH 109 or MATH 31CH. This is a manual update an advisor needs to make. Send a message through the Virtual Advising Center (VAC).

*3: CSE 21 may be substituted with MATH 154 or MATH 184. This is a manual update an advisor needs to make. Send a message through the Virtual Advising Center (VAC). *Effective Winter 2023: CSE 21 may be substituted with MATH 154 or MATH 184 or MATH 188*

*4: Open CSE Electives: CSE UD courses, including Special Studies along with any non-CSE courses that have any of the above tags. For a full list of policies and limitations on Open CSE Electives, please visit the CSE Electives website

 

Transfer Students

Transfer students are in a special situation where the credits they come in with vary vastly from one student to another. To assist transfer students with their long term plans for completing major requirements, we have created different long term plans with different entry points depending on the CSE credits students typically come in with. These plans only include CSE major requirements, for questions regarding your college and university requirements, please check with your college.

*These plans only focus on CSE coursework. For a list of all CSE Major requirements (including math and general science courses needed), please see the BS Computer Science Checklist above. 

Incoming Computer Science (CS26) Majors with Transfer Credit for CSE 11, 12 and 20, click here for Sample Long-Term Plan

 

Fall Quarter - Year One

Winter Quarter - Year One

Spring Quarter - Year One

CSE 30

CSE 100/100R

CSE 110

CSE 21*3

CSE 101

Systems Elective 

CSE 15L

Statistics 

Abstraction Elective 

 

 

Application Elective 

Fall Quarter - Year Two

Winter Quarter - Year Two

Spring Quarter - Year Two

Systems Electives 

Systems Elective 

Open CSE Electives*4  

Open CSE Electives*4  

Abstraction Elective 

Open CSE Elective*4  

Application Electives 

Applications Electives 

Open CSE Electives*4  

Abstraction Elective 

Open CSE Electives*4  

Open CSE Electives*4  

 

*1: Students who do not have programming experience should begin with the two-track course: CSE 8A (take CSE 8B in the second quarter). Students who have programming experience may begin with CSE 11 (take CSE 12 and CSE 15L in the second quarter).

*2: CSE 20 may be substituted with MATH 109 or MATH 31CH. This is a manual update an advisor needs to make. Send a message through the Virtual Advising Center (VAC).

*3: CSE 21 may be substituted with MATH 154 or MATH 184. This is a manual update an advisor needs to make. Send a message through the Virtual Advising Center (VAC). *Effective Winter 2023: CSE 21 may be substituted with MATH 154 or MATH 184 or MATH 188*

*4: Open CSE Electives: CSE UD courses, including Special Studies along with any non-CSE courses that have any of the above tags. For a full list of policies and limitations on Open CSE Electives, please visit the CSE Electives website

Incoming Computer Science (CS26) Majors with Transfer Credit for CSE 11, 12, 20, and 30 click here for Sample Long-Term Plan

 

Fall Quarter - Year One

Winter Quarter - Year One

Spring Quarter - Year One

CSE 21*3

CSE 100/100R

CSE 110

CSE 15L

CSE 101

Systems Elective 

 

Statistics 

Abstraction Elective 

 

 

Application Elective 

Fall Quarter - Year Two

Winter Quarter - Year Two

Spring Quarter - Year Two

Systems Electives 

Systems Elective 

Open CSE Electives*4  

Open CSE Electives*4  

Abstraction Elective 

Open CSE Elective*4  

Application Electives 

Applications Electives 

Open CSE Electives*4  

Abstraction Elective 

Open CSE Electives*4  

Open CSE Electives*4  

 

*1: Students who do not have programming experience should begin with the two-track course: CSE 8A (take CSE 8B in the second quarter). Students who have programming experience may begin with CSE 11 (take CSE 12 and CSE 15L in the second quarter).

*2: CSE 20 may be substituted with MATH 109 or MATH 31CH. This is a manual update an advisor needs to make. Send a message through the Virtual Advising Center (VAC).

*3: CSE 21 may be substituted with MATH 154 or MATH 184. This is a manual update an advisor needs to make. Send a message through the Virtual Advising Center (VAC). *Effective Winter 2023: CSE 21 may be substituted with MATH 154 or MATH 184 or MATH 188*

*4: Open CSE Electives: CSE UD courses, including Special Studies along with any non-CSE courses that have any of the above tags. For a full list of policies and limitations on Open CSE Electives, please visit the CSE Electives website

 


FALL 2022 Curriculum and Prior Sample Plans


Four-Year Plans:

  • Academic Planning Worksheet (link to copy a Google Sheet): blank worksheet for students to be able to create a sample long term plan which can be brought to an advising meeting 

  • Sample Plans By College: sample long term plan that includes college requirements

  • Sample 4-year Plan (Fall 2022 Curriculum)

    Sample 4-year Plan (Fall 2022 Curriculum): 

    YEAR

    FALL

    WINTER

    SPRING

    First Year

    CSE 8A or 11*1

    MATH 20A

    GE

    LDE

    CSE 8B*1

    MATH 20B

    GE

    GE

     

    CSE 12

    CSE 15L 

    CSE 20*2

    MATH 20C

    Second Year

    CSE 21*3

    CSE 30

    CSE General Science 

    CSE 100

    CSE 105

    CSE General Science 

    CSE 101

    CSE 110

    MATH 18

     

    Third Year

    CSE 140

    CSE 140L

    Statistics 

    Systems/Networks

    CSE 141 or 142*2

    CSE 141L or 142L*2

     

    Language/Databases 

    Learning/Vision/Graphics

    CSE Elective 

     


     

    Fourth Year

    Security/Cryptography

    CSE Elective

    CSE Elective (CSE 197)

    CSE Elective*4

    CSE Elective*4

     

     

    CSE Elective (or Technical Elective) *4

    CSE Elective (or Technical Elective)

    *1: Students who do not have programming experience should begin with the two-track course: CSE 8A (take CSE 8B in the second quarter). Students who have programming experience may begin with CSE 11 (take CSE 12 and CSE 15L in the second quarter).

    *2: CSE 20 may be substituted with MATH 109 or MATH 31CH. This is a manual update an advisor needs to make. Send a message through the Virtual Advising Center (VAC).

    *3: CSE 21 may be substituted with MATH 154 or MATH 184. This is a manual update an advisor needs to make. Send a message through the Virtual Advising Center (VAC). *Effective Winter 2023: CSE 21 may be substituted with MATH 154 or MATH 184 or MATH 188*

    *4: Students must either take CSE 141 + 141L or  CSE 142 + 142L.

    *Electives: Students are permitted to take any of these pre-approved courses to fulfill their CSE Electives and Technical Electives requirements.  Please note that courses on this list may not automatically populate in the correct area of a student's degree audit.  In order to update the audit, please contact the CSE major advisors through the Virtual Advising Center (VAC). 

    Major restrictions - The following majors may NOT double major or minor in CSE: 

    - Any majors that fall under the Jacob's School of Engineering

    - Data Science majors (DS25)

    - Math-Computer Science majors (MA30)

 

Transfer Students:

Transfer students are in a special situation where the credits they come in with vary vastly from one student to another. To assist transfer students with their long term plans for completing major requirements, we have created different long term plans with different entry points depending on the CSE credits students typically come in with. These plans only include CSE major requirements, for questions regarding your college and university requirements please check with your college.

*These plans only focus on CSE coursework. For a list of all CSE Major requirements (including math and general science courses needed), please see the BS Computer Science Checklist above.   

Incoming Computer Science (CS26) majors with transfer credit for CSE 8A and CSE 20, click here for sample long-term plan.

Fall Quarter - Year One

Winter Quarter - Year One

Spring Quarter - Year One

CSE 11

CSE 12

CSE 30

CSE 21

CSE 15L

Systems

Technical Elective

CSE Elective

CSE Elective

 

Technical Elective

 

Fall Quarter - Year Two

Winter Quarter - Year Two

Spring Quarter - Year Two

CSE 100

CSE 101

CSE 120/123/124

CSE 140  

CSE 130/CSE 132A

CSE 141 or 142 

CSE 140L

CSE 110

CSE 141L or 142L

Statistics 

CSE Electives

CSE Electives

Fall Quarter - Year Three

CSE 107/127

CSE 150/151/152/158/167

CSE Elective 

Incoming Computer Science (CS26) majors with transfer credit for CSE 11 and CSE 20, click here for sample long-term plan. 

Fall Quarter - Year One

Winter Quarter - Year One

Spring Quarter - Year One

CSE 12

CSE 30

CSE 100

CSE 15L

CSE 105

CSE 140

CSE 21

Technical Elective

CSE 140L

 

Technical Elective

CSE Elective 

Fall Quarter - Year Two

Winter Quarter - Year Two

Spring Quarter - Year Two

CSE 101

CSE 141 or CSE 142L

CSE 120/123/124

CSE 110

CSE 141L or 142L

CSE 141 or 142 

Statistics

CSE 120/123/124

CSE 141L or 142L

 

CSE Electives

CSE Electives

Fall Quarter - Year Three

CSE 107/127

CSE 150/151/152/158/167

CSE Elective 

Incoming Computer Science (CS26) majors with transfer credit for CSE 11,  CSE 12  and CSE 20, click here for sample long-term plan.

Fall Quarter - Year One

Winter Quarter - Year One

Spring Quarter - Year One

CSE 15L

CSE 100/100R

CSE 101

CSE 21

CSE 105

CSE 110

CSE 30

CSE 140

CSE Elective

 

CSE 140L

Technical Elective 

Fall Quarter - Year Two

Winter Quarter - Year Two

Spring Quarter - Year Two

CSE 120/123/124 

CSE 130/132A 

CSE 107/127  

Statistics  

CSE 141 or 142 

CSE 150/151/152/158/167 

CSE Elective  

CSE 141L or 142L 

CSE Elective   

CSE Elective  

Technical Elective   

CSE Elective

*1: Students who do not have programming experience should begin with the two-track course: CSE 8A (take CSE 8B in the second quarter). Students who have programming experience may begin with CSE 11 (take CSE 12 and CSE 15L in the second quarter).

*2: CSE 20 may be substituted with MATH 109 or MATH 31CH. This is a manual update an advisor needs to make. Send a message through the Virtual Advising Center (VAC).

*3: CSE 21 may be substituted with MATH 154 or MATH 184. This is a manual update an advisor needs to make. Send a message through the Virtual Advising Center (VAC). *Effective Winter 2023: CSE 21 may be substituted with MATH 154 or MATH 184 or MATH 188*

*4: Open CSE Electives: CSE UD courses, including Special Studies along with any non-CSE courses that have any of the above tags. For a full list of policies and limitations on Open CSE Electives, please visit the CSE Electives website

 

Major restrictions - The following majors may NOT double major or minor in CSE: 

- Any majors that fall under the Jacob's School of Engineering

- Data Science majors (DS25)

- Math-Computer Science majors (MA30)