B.S. Computer Science

CS 26 FA23 Homepage

Updated April 3rd, 2025

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.

If you were admitted to CS26 before Fall 2023 and want to switch to the New Fall 2024 curriculum, you will need to fill out the Intent to Change Degree Audit FA23 form first to review the updated major requirements and policies. Once you complete the form, please message us in the VAC and mention you would like to switch to the FA24 curriculum.

If you were admitted to CS26 in FA23 and would like to switch to the FA24 requirements, please send us a VAC message to CSE Advising to let us know that you would like your degree audit updated. Students may request this starting September 1st 2024. FA23 admits do not need to complete the Intent to Change Degree Audit form.

This is CSE’s biggest major, preparing students to contribute to the profound societal changes being brought about by innovations in computing. The lower-division course requirements of CS26 are designed to provide a strong foundation in mathematics, programming methodology and skills, and computer organization. Upper-division core courses deal with the theory and design of algorithms and designing and building software systems at scale. 

Once students have taken our Core Courses, their choice of elective courses allows students to explore multiple paths to graduation and dive into areas of specialization integrating

  • (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

Focus sheets: We offer this tool to help students explore a specific focus in computer science. Nonetheless, CS26 majors on the FA23 curriculum may choose any elective course tagged in each elective category that meets your interests and academic goals. The Computer Science major at UC San Diego does not offer official specializations: students who complete the courses outlined on this worksheet will not earn an official designation of this specialization on their degree. This tool should be used as a starting point for exploring your interests and making informed decisions about your college coursework. Please connect with your CSE major advisor through the Virtual Advising Center to build your long-term plan, ensure that your coursework aligns with your academic goals, and answer questions about your degree audit and tagged electives.

Degree Plan Checklist:

  • BS Computer Science Checklist (Fall 2025 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). 
    • A maximum of 12 units of P/NP courses may count, chosen from: a maximum of 8 units of CSE 109, CSE 198 or CSE 199 or 199H; a maximum of 4 units of CSE 197.
      • Students may use 8 units of CSE 198 or CSE 199 or CSE 199H towards CSE elective requirements.
      • Students may use up to 8 units of ENG 100D/ENG 100L courses towards upper division CSE Elective credits (as part of the 8 units maximum of CSE 198/199/199H Special Studies courses allowed). You are NOT able to take ENG 100D twice.
    • A maximum of 12 units of CSE 190 can be used towards Open CSE elective credit. May be repeated for credit max 3 times (maximum of 12 units; assuming courses taken for a different topic). 
      • Please visit the CSE 190 website for current offerings and to view the tag for each course.
    • Undergraduate students may use CSE graduate-level courses towards their major requirements, but may need a petition if they have taken the equivalent/similar undergraduate course. 
    • Undergraduate students must get instructor's permission and departmental approval (EASy request) to enroll in a graduate course.
    • CSE 291's are topics courses and are counted as part of the maximum of three CSE 190's allowed for CSE electives. 
    • Untagged upper division CSE courses that may be used as Open CSE Electives are CSE 109 (2 units), CSE 190 (tagged based on offering), CSE 192, CSE 195, CSE 197, CSE 198, CSE 199, CSE 199H. 
    • CSE courses that may not be used as Open CSE Electives courses toward the CS degree are: CSE 180, CSE 180R.

    BS Computer Science Checklist (FA24 and Prior):

    • BS Computer Science Checklist (Fall 2024 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). 
      • A maximum of 12 units of P/NP courses may count, chosen from: a maximum of 8 units of CSE 198 or CSE 199 or 199H; a maximum of 4 units of CSE 197.
        • Students may use 8 units of CSE 198 or CSE 199 or CSE 199H towards CSE elective requirements.
        • Students may use up to 8 units of ENG 100D/ENG 100L courses towards upper division CSE Elective credits (as part of the 8 units maximum of CSE 198/199/199H Special Studies courses allowed). You are NOT able to take ENG 100D twice.
      • A maximum of 12 units of CSE 190 can be used towards Open CSE elective credit. May be repeated for credit max 3 times (maximum of 12 units; assuming courses taken for a different topic). 
        • Please visit the CSE 190 website for current offerings and to view the tag for each course.
      • Undergraduate students may use CSE graduate-level courses towards their major requirements, but may need a petition if they have taken the equivalent/similar undergraduate course. 
      • Undergraduate students must get instructor's permission and departmental approval (EASy request) to enroll in a graduate course.
      • CSE 291's are topics courses and are counted as part of the maximum of three CSE 190's allowed for CSE electives. 
      • Untagged upper division CSE courses that may be used as Open CSE Electives are CSE 109 (2 units), CSE 190 (tagged based on offering), CSE 192, CSE 195, CSE 197, CSE 198, CSE 199, CSE 199H. 
      • CSE courses that may not be used as Open CSE Electives courses toward the CS degree are: CSE 180, CSE 180R.
    • 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). 
      • Any upper-division CSE course between CSE 100-190, 193, 194 that is not being used for another major requirement (and is taken for a letter grade) may be used towards an upper-division "Open CSE Elective".
      • A maximum of 12 units of P/NP courses may count, chosen from: a maximum of 8 units of CSE 198 or CSE 199 or 199H; a maximum of 4 units of CSE 197.
        • Students may use 8 units of CSE 198 or CSE 199 or CSE 199H towards CSE elective requirements.
        • Students may use up to 8 units of ENG 100D/ENG 100L courses towards upper division CSE Elective credits (as part of the 8 units maximum of CSE 198/199/199H Special Studies courses allowed). You are NOT able to take ENG 100D twice.
        • Students must take ENG 100L twice (2 units each time) to receive credit for one elective credit; students may not combine this course with another 2 unit or 6 unit course.
      • A maximum of 12 units of CSE 190 can be used towards Open CSE elective credit. May be repeated for credit max 3 times (maximum of 12 units; assuming courses taken for a different topic). 
        • Please visit the CSE 190 website for current offerings and to view the tag for each course.
      • Undergraduate students may use CSE graduate-level courses towards their major requirements, but may need a petition if they have taken the equivalent/similar undergraduate course. 
      • Undergraduate students must get instructor's permission and departmental approval (EASy request) to enroll in a graduate course.
      • CSE 291's are topics courses and are counted as part of the maximum of three CSE 190's allowed for CSE electives. 
      • Untagged upper division CSE courses that may be used as Open CSE Electives are CSE 109 (2 units), CSE 190 (tagged based on offering), CSE 192, CSE 195, CSE 197, CSE 198, CSE 199, CSE 199H. 
      • CSE courses that may not be used as Open CSE Electives courses toward the CS degree are: CSE 180, CSE 180R.
    • 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

     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 20*2

    MATH 20C

    Second Year

    CSE 21*3

    CSE 29

    CSE General Science 

     

    CSE 30

    CSE 100

    Math 18

     

     

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

    Open Elective

    CSE 100/100R

    CSE 110

    CSE 21*3

    CSE 101

    Systems Elective 

    CSE 29*1

    Statistics 

    Abstraction Elective 

     

    CSE 30

    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: Transfer students who have credit for CSE 11, CSE 12 and CSE 20 in Fall quarter ONLY may take CSE 29 and CSE 30 concurrently. An EASy request will be needed for approval after you are enrolled in CSE 29. 

    *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 29

    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  

     

    *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)