Updated July 10th, 2026
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 B.S. Computer Science major 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.
Focus sheets: We offer this tool to help students explore a specific focus in computer science. Computer Science majors on the FA23 or later 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.
Note: If you were admitted to B.S. Computer Science major 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. Please review the updated major requirements and policies on the Fall 2023 Major Curriculum Homepage. Once you complete the Intent to Change Degree Audit FA23 form, please message us in the VAC and mention you would like to switch to the FA24 curriculum.
If you were admitted to B.S. Computer Science in Fall 2023 and would like to switch to the Fall 2024 requirements, please send us a VAC message to CSE Advising to let us know that you would like your degree audit updated. FA23 admits do not need to complete the Intent to Change Degree Audit form.
Degree Planning:
B.S. Computer Science Checklist (Fall 2026 Curriculum): a checklist for all major requirements for students on the Fall 2026 Curriculum
- CSE-BS-002 Major Policies
-
- All major requirements must be taken for a letter grade and passed with a C- or better (with the exceptions of: CSE-089, CSE-091, CSE-095, CSE-109, 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 (TEA 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.
2026-2027 B.S. Computer Science Electives:
Please see your degree checklist for your admit year to find more information about the upper division elective requirements.
- Computer Science and Engineering
-
Any upper-division CSE course between CSE-100 to 190, 193, 194 that is not being used for another major requirement (and is taken for a letter grade and passed with a C- or better) may be used towards an upper-division "CSE Elective".
Each CSE Elective course is “tagged” as Systems, Theory, Applications of Computing, and/or Open CSE Electives. Students may view the full list of tagged CSE courses on the CSE Undergraduate Program Catalog.
- Cognitive Science
-
COGS-108 - Data Science in Practice (4) - Applications of Computing
COGS-109 - Modeling and Data Analysis (4) - Applications of Computing
COGS-118A - Supervised Machine Learning Algorithms (4) - Applications of Computing
COGS-118B - Introduction to Machine Learning II (4) - Applications of Computing
COGS-118C - Neural Signal Processing (4) - Applications of Computing
COGS-120 - Interaction Design (5) - Applications of Computing
COGS-121 - Human Computer Interaction Portfolio Design Studio (4) - Applications of Computing
COGS-122 - Start-up Studio (4) - Applications of Computing
COGS-123 - Social Computing (4) - Applications of Computing
COGS-124 - HCI Technical Systems Research (4) - Applications of Computing
COGS-125 - Advanced Interaction Design (4) - Applications of Computing
COGS-126 - Thinking with Computers (4) - Applications of Computing
COGS-127 - Data-Driven UX/Product Design (4) - Applications of Computing
COGS-181 - Neural Networks and Deep Learning (4) - Applications of Computing
COGS-185 - Advanced Machine Learning Methods (4) - Applications of Computing
COGS-186 - Genetic Algorithms (4) - Applications of Computing
COGS-187A - Usability and Information Architecture (6) - Applications of Computing
COGS-187B - Practicum in Professional Web Design (4) - Applications of Computing
COGS-188 - Artificial Intelligence Algorithms (4) - Applications of Computing
COGS-189 - Brain Computer Interfaces (4) - Applications of Computing
Please use the UC San Diego Triton Enrollment Authorization (TEA) system for COGS course clearance.
- Data Science
-
DSC-100 - Introduction to Data Management (4) - Applications of Computing
DSC-102 - Systems for Scalable Analytics (4) - Systems
DSC-120 - Signal Processing for Data Analysis (4) - Systems
DSC-123A- Optimization Methods for Data Science I (4) - Theory
DSC-123B- Optimization Methods for Data Science II (4) - Theory
- Design
-
DSGN-100 - Prototyping (4) - Applications of Computing
- Economics
-
ECON-172A - Operations Research A (4) - Theory or Applications of Computing
ECON-172B - Operations Research B (4) - Theory or Applications of Computing
- Education Studies
-
EDS-124AR - Teaching Computation in the Digital World (4) - Applications of Computing
EDS-124BR - Teaching Computational Thinking for Everyone (4) - Applications of Computing
- Electrical & Computer Engineering (ECE)
-
ECE-111 - Advanced Digital Design Project (4) - Systems
ECE-140A - The Art of Product Engineering I (4) - Systems or Applications of Computing
ECE-140B - The Art of Product Engineering II (4) - Systems or Applications of Computing
ECE-148 - Introduction to Autonomous Vehicles (4) - Applications of Computing - may be used as a CSE Elective for B.S. Computer Science majors on the FA23 or later curriculum plans; pre-FA23 B.S. Computer Science majors may use it as a Technical Elective.
- Engineering (Global Ties)
-
ENG-100D/ENG-100L: Principles of Team Engineering: globalties.ucsd.edu
- 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 may request to have their degree audit updated by contacting the Virtual Advising Center.
- Linguistics
-
LIGN-165 - Computational Linguistics (4) - Applications of Computing
LIGN-167 - Deep Learning for Natural Language Understanding (4) - Applications of Computing
- Mathematics
-
MATH-114 - Introduction to Computational Stochastics (4) - Applications of Computing
MATH-155A - Geometric Computer Graphics (4) - Applications of Computing
MATH-170A - Introduction to Numerical Analysis: Linear Algebra (4) - Theory
MATH-170B - Introduction to Numerical Analysis: Approximation and Nonlinear Equations (4) - Theory
MATH-170C - Introduction to Numerical Analysis: Ordinary Differential Equations (4) - Theory
MATH-171A - Introduction to Numerical Optimization: Linear Programming (4) - Theory or Applications of Computing
MATH-171B - Introduction to Numerical Optimization: Nonlinear Programming (4) - Theory or Applications of Computing
MATH-173A - Optimization Methods for Data Science I (4) - Theory
MATH-173B - Optimization Methods for Data Science II (4) - Theory
MATH-181D - Statistical Learning (4) - Theory
MATH-185 - Introduction to Computational Statistics (4) - Theory
MATH-187A - Introduction to Cryptography (4) - Theory
MATH-189 - Exploratory Data Analysis and Inference (4) - Applications of Computing
- Music
-
MUS-171 - Computer Music I (4) - Applications of Computing
MUS-172 - Computer Music ll (4) - Applications of Computing
MUS-177 - Music Programming (4) - Applications of Computing
- Visual Arts
-
VIS-141A - Computer Programming for the Arts I (4) - Applications of Computing
VIS-141B - Computer Programming for the Arts II (4) - Applications of Computing
Academic 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-008A or CSE-011*
MATH-020A
Lower Division Elective (LDE)*
CSE-011*
MATH-020B
Lower Division Elective (LDE)
CSE-012
CSE-020*
MATH-020C
Second Year
CSE-021*
CSE-029
CSE General Science
CSE-030
CSE-100
MATH-018
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*
Open CSE Elective*
Open CSE Elective*
Open CSE Elective*
Open CSE Elective*
Open CSE Elective*
*1: Students who do not have programming experience should begin with the two-track course sequence: CSE-08A, then take CSE-011 in the second quarter. Students who have programming experience may begin with CSE-011 (take CSE-012 and CSE-029 in the second quarter).
*2: If CSE-008A is taken, the Lower Division Elective (LDE) requirement will be fulfilled.
*3: CSE-020 may be substituted with MATH-109 or MATH-031CH. This is a manual update an advisor needs to make. Send a message through the Virtual Advising Center (VAC).
*4: CSE-021 may be substituted with MATH-154 or MATH-184 or MATH-188. This is a manual update an advisor needs to make. Send a message through the Virtual Advising Center (VAC).
*5: Open CSE Electives: CSE UD courses, including Special Studies along with any non-CSE courses that have any of the above tags.
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 Majors with Transfer Credit for CSE-011, 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-021*
CSE-101
Systems Elective
CSE-029
Statistics
Abstraction Elective
CSE-030
Application Elective
Fall Quarter - Year Two
Winter Quarter - Year Two
Spring Quarter - Year Two
Systems Electives
Systems Elective
Open CSE Electives*
Open CSE Electives*
Abstraction Elective
Open CSE Elective*
Application Electives
Applications Electives
Open CSE Electives*
Abstraction Elective
Open CSE Electives*
Open CSE Electives*
*1: CSE-021 may be substituted with MATH-154 or MATH-184 or MATH-188. This is a manual update an advisor needs to make. Send a message through the Virtual Advising Center (VAC).
*2: Open CSE Electives: CSE UD courses, including Special Studies, along with any non-CSE courses that have any of the above tags.
- Incoming Computer Science Majors with Transfer Credit for CSE-011, 12, 20, and 30 click here for Sample Long-Term Plan
-
Fall Quarter - Year One
Winter Quarter - Year One
Spring Quarter - Year One
CSE-021*
CSE-100/100R
CSE-110
CSE-029
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*
Open CSE Electives*
Abstraction Elective
Open CSE Elective*
Application Electives
Applications Electives
Open CSE Electives*
Abstraction Elective
Open CSE Electives*
Open CSE Electives*
*1: CSE-021 may be substituted with MATH-154 or MATH-184 or MATH-188. This is a manual update an advisor needs to make. Send a message through the Virtual Advising Center (VAC).
*2: Open CSE Electives: CSE UD courses, including Special Studies along with any non-CSE courses that have any of the above tags.
Fall 2025 Curriculum and Prior
- Major Checklists and Policies
-
BS Computer Science Checklist (Fall 2025 Curriculum)
- All major requirements must be taken for a letter grade AND passed with a C- or better (with the exceptions of: CSE-091, CSE-095, 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 the instructor's permission and departmental approval (TEA 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.
- All major requirements must be taken for a letter grade AND passed with a C- or better (with the exceptions of: CSE-091, CSE-095, 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 (TEA 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.
- CSE-015L (2 units) will be replaced with CSE-029 (4 units) in Spring 2024. A new updated version of CSE-030 will be offered Fall 2024. For students admitted in FA24, to accommodate the two additional units for CSE-029, 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.
- All major requirements must be taken for a letter grade AND passed with a C- or better (with the exceptions of: CSE-091, CSE-095, CSE-197, CSE-198, and CSE-199).
- All major requirements must be taken for a letter grade AND passed with a C- or better (with the exception of CSE-091, CSE-095, 197, 198, and 199).
- All major requirements must be taken for a letter grade AND passed with a C- or better (with the exception of CSE-095, 197, 198, and 199).
- All major requirements must be taken for a letter grade AND passed with a C- or better (with the exception of CSE-095, 197, 198, and 199).
- 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).
- All major requirements must be taken for a letter grade (with the exception of CSE-095, 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
Fall 2022 Curriculum and Prior Sample 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-008A or 11*
MATH-020A
GE
Lower Division Elective (LDE)*
CSE-008B*
MATH-020B
GE
GE
CSE-012
CSE-015L
CSE-020*
MATH-020C
Second Year
CSE-021*
CSE-030
CSE General Science
CSE-100
CSE-105
CSE General Science
CSE-101
CSE-110
MATH-018
Third Year
CSE-140
CSE-140L
Statistics
Systems/Networks
CSE-141 or 142*
CSE-141L or 142L*
Language/Databases
Learning/Vision/Graphics
CSE Elective
Fourth Year
Security/Cryptography
CSE Elective
CSE Elective (CSE-197)
CSE Elective*
CSE Elective*
CSE Elective (or Technical Elective) *
CSE Elective (or Technical Elective)
*1: Students who do not have programming experience should begin with the two-track course: CSE-008A (take CSE-008B or CSE-011 in the second quarter). Students who have programming experience may begin with CSE-011 (take CSE-012 and CSE-015L in the second quarter).
*2: If CSE-008A is taken, the Lower Division Elective (LDE) requirement will be fulfilled.
*3: CSE-020 may be substituted with MATH-0109 or MATH-031CH. This is a manual update an advisor needs to make. Send a message through the Virtual Advising Center (VAC).
*4: CSE-021 may be substituted with MATH-0154 or MATH-0184. This is a manual update an advisor needs to make. Send a message through the Virtual Advising Center (VAC). *Effective Winter 2023: CSE-021 may be substituted with MATH-154 or MATH-184 or MATH-188*
*5: 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 (DSC-BS-001)
- Math-Computer Science majors (MATH-BS-003)
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 majors with transfer credit for CSE-008A and CSE-020, click here for sample long-term plan.
-
Fall Quarter - Year One
Winter Quarter - Year One
Spring Quarter - Year One
CSE-011
CSE-012
CSE-030
CSE-021
CSE-015L
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 majors with transfer credit for CSE-011 and CSE-020, click here for sample long-term plan.
-
Fall Quarter - Year One
Winter Quarter - Year One
Spring Quarter - Year One
CSE-012
CSE-030
CSE-100
CSE-015L
CSE-105
CSE-140
CSE-021
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 majors with transfer credit for CSE-011, CSE-012 and CSE-020, click here for sample long-term plan.
-
Fall Quarter - Year One
Winter Quarter - Year One
Spring Quarter - Year One
CSE-015L
CSE-100/100R
CSE-101
CSE-021*
CSE-105
CSE-110
CSE-030
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
*CSE-021 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-021 may be substituted with MATH-154 or MATH-184 or MATH-188*
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 (DSC-BS-001)
- Math-Computer Science majors (MATH-BS-003)