Computer Science (CS26) Fall 2023 Major Curriculum Homepage

 

Welcome to the Fall 2023 Computer Science (CS26) Major Homepage, your resource for detailed information on the updated Fall 2023 curriculum of the Computer Science and Engineering Department's B.S. in Computer Science program.

Here, students can access resources and information to successfully navigate their academic journey under the new Computer Science curriculum.

Effective FA23, the Computer Science (CS26) major curriculum has been updated. The goal of the FA23 Computer Science (CS26) curriculum is to increase the flexibility of the upper-division requirements to promote greater adaptability for both first-year admits and transfer students.

The updated curriculum emphasizes the thoughtful inclusion of more flexibility in the Computer Science program so that, after core courses are taken by all students, multiple paths lead to graduation with courses covering cutting-edge topics in areas of specialization by faculty. This curriculum will modernize the requirements and provide a framework to keep our CS 26 major up-to-date in this ever-changing field.

If you are a current Computer Science major and would like to change your CS26 degree audit to this new curriculum, please review this homepage and all of its content, including all of the FAQs that can be found below. You will need to fill out a Declaration of Intent Google Form before your degree audit can be updated. Current Computer Science students may reach out to CSE Advising via the VAC to change their curriculum to FA23 version after completing the "Intent to Change Degree Audit" Google Form.

Current CS26 Majors - "Intent to Change Degree Audit" Google Form

Already filled out the "Intent to Change Degree Audit" Google Form? Send CSE Advising a VAC message to notify us, and a CSE Advisor will update your degree audit within 1-3 business days.

 

Lower-Division Requirements

  1. Computer Science and Engineering: CSE 8B or CSE 11, CSE 12, CSE 15L, CSE 20 (or MATH 15A or MATH 31CH or MATH 109), CSE 21 (or MATH 154 or MATH 184), and CSE 30 (22 units)
  2. Computer Science and Engineering Lower Division Elective: minimum of two units chosen from CSE 3, CSE 4GS, CSE 6R, CSE 6GS, CSE 8A, CSE 42, CSE 86, CSE 90, CSE 91, CSE 95, CSE 99, CSE 180, CSE 180R, MAE 8, MAE 9, COGS 9, COGS 10, COGS 18, ECE 15, ENG 10, ENG 15, NANO 15, CENG 15, or any CSE upper-division course not used to fulfill other degree requirements. 
  3. Mathematics: MATH 20A, MATH 20B, MATH 20C (or MATH 31BH), and MATH 18 (or MATH 31AH) (16 units)
  4. General Science: Two courses chosen from PHYS 2A, PHYS 2B, PHYS 4A, PHYS 4B, CHEM 6A or CHEM 6AH, CHEM 6B or CHEM 6BH, BILD 1, BILD 2, BILD 3, BICD 100, BIMM 101, BIMM 121, COGS 107A, COGS 107B, COGS 115, ESYS 101, HDS 110, SIO 126, or SIO 128 (8 units).
  5. Probability and Statistics: MATH 181A or MATH 183 or ECE 109 or ECON 120A or CSE 103 (4 units).

Upper-Division Requirements: Students must complete 72 upper-division units (12 units of Core Courses and 60 units of Elective courses).

  1. Core Courses (12 units):
    1. Data Structures and Programming: CSE 100 or CSE 100R (4 units)
    2. Algorithms: CSE 101 (4 units)
    3. Software Engineering: CSE 110 (4 units)
  2. Electives: (60 units): Almost all upper division CSE courses that are not Core Courses or Special Studies courses are tagged with the Program-Level Outcome(s) with which they align. Electives give breadth across these outcomes:
    1. At least 12 units of courses tagged with Systems
      1. (Systems) The implementation of, abstractions behind, and security of, computer hardware, software, and networking.
    2. At least 12 units of courses tagged with Theory/Abstraction
      1. (Theory/Abstraction) Abstract computational ideas using mathematical or formal tools.
    3. At least 12 units of courses tagged with Applications of Computing
      1. (Applications of Computing) Applying appropriate computing knowledge and problem-solving techniques to guide and shape the impact of computing on the world.
    4. A minimum of 24 units of CSE upper-division or graduate courses or non-CSE classes that are tagged with one of the three tags, which are not used to satisfy the core or breadth elective requirements.

** For extended definitions of the Systems, Theory/Abstraction, and Applications of Computing tags please refer to the last FAQ on this page**

Important Notes:

  • 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; a maximum of 4 units of CSE 195.
  • CSE courses that may NOT be used as Open CSE electives courses toward the CS 26 degree are CSE 180 and CSE 180R.
  • Each offering of CSE 190 is tagged individually.
  • Students may use up to 8 units of ENG 100D/ENG100L courses towards upper division CSE Elective credits (as part of the 8 units maximum of CSE 198/199/199H Special Studies courses allowed)
  • Students must take ENG 100L twice (2 units each time) to receive one elective credit; students may not combine this course with another 2 unit or 6 unit course.
Systems Electives:  

CSE 120, CSE 123, CSE 124, CSE 127, CSE 132C, CSE 140, CSE 140L, CSE 141, CSE 141L, CSE 142, CSE 142L, CSE 143, CSE 145, CSE 148, CSE 160, DSC 102, ECE 111, ECE 140A, ECE 140B

12

Theory/Abstraction Electives:  

CSE 105, CSE 106, CSE 107, CSE 130, CSE 132A, CSE 140, CSE 150A, DSC 120, MATH 170A, MATH 170B, MATH 170C, MATH 171A, MATH 171B, MATH 181D, MATH 187A

12

Applications of Computing Electives:  

CSE 112, CSE 118, CSE 125, CSE 127, CSE 131, CSE 132B, CSE 134B, CSE 135, CSE 136, CSE 140, CSE 140L, CSE 142, CSE 142L, CSE 145, CSE 148, CSE 150B, CSE 151A, CSE 151B, CSE 152A, CSE 152B, CSE 156, CSE 158 or CSE 158R, CSE 163, CSE 165, CSE 166, CSE 167, CSE 168, CSE 169, CSE 170, CSE 175, CSE 176A, CSE 176E, CSE 181, CSE 182, CSE 184, CSE 185, CSE 193, CSE 194, COGS 108, COGS 109, COGS 118A, COGS 118B, COGS 118C, COGS 120, COGS 121, COGS 122, COGS 123, COGS 124, COGS 125, COGS 126, COGS 127, COGS 181, COGS 185, COGS 186, COGS 187A, COGS 187B, COGS, 188, COGS 189, DSGN 100,  ECON 172A, ECON 172B, ECE 140A, ECE 140B, ECE 148, ENG 100D/ENG 100L, EDS 124AR, EDS 124BR, LIGN 165, LIGN 167, MATH 114, MATH 155A, MATH 189, MUS 171, MUS 172, MUS 177, VIS 141A, VIS 141B

12

Open CSE Electives:  

CSE UD courses, including Special Studies along with any non-CSE courses that have any of the above tags.

  • Up to 12 units of CSE 190 can be used towards Open CSE elective credit. 
  • CSE 190 topics may vary from quarter to quarter; students may submit a petition for the topic to count in a tag. 
  • 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. 
  • Students may use up to 8 units of ENG 100D/ENG100L courses towards upper division CSE Elective credits (as part of the 8 units maximum of CSE 198/199/199H Special Studies courses allowed)
    • 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 of 6 unit course.
  • Students may request to have their degree audit updated by contacting the Virtual Advising Center.
  • Note: 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.
 

***On the checklists and resources for the FA23 CS26 Curriculum, students will notice that some tagged elective courses are bolded. Bolding is a visual aid that indicates courses that may be more easily available for enrollment due to fewer prerequisites or restrictions. Please check the catalog for up-to-date prerequisite and enrollment information.***

Advising Resources

CSE Curriculum Comparison Tool for Current Students

Attention FA22 admits and prior! We understand that the prospect of exploring and potentially switching into a brand new curriculum can be daunting. But please note that you have plenty of time to make this decision, and CSE Advising is here to support you. There's no need to rush into the new curriculum right away - we want you to utilize the available tools and resources to assess if it's the right fit for you.

CSE Advising strongly recommends conducting thorough research on the updated curriculum, checking your current degree audit and progress towards your CSE major requirements, carefully reviewing the FA23 CS26 checklist, and filling out the comparison tool linked below. After reviewing these resources, please feel free to check in with CSE Advising about your unique academic history and how it may be impacted by the transition to the FA23 CS26 curriculum, if you decide to change your degree audit. If you have quick or specific questions about the FA23 Curriculum, please message CSE Advising in the VAC. If you would like to review your comparison tool and ask questions about the tool to a CSE Advisor, please plan to attend drop-ins or schedule an appointment.

To help you navigate the CS26 FA23 curriculum, we're excited to introduce the "CSE Curriculum Comparison" tool. Follow the directions below (which are also attached to the tool) to plan your tagged electives from your completed CSE coursework and identify remaining courses. Need assistance or have questions about how the updated curriculum aligns with your degree requirements? Feel free to reach out to CSE Advising in the VAC or join our drop-in hours for personalized support.

Directions for the Comparison Tool: In each category, highlight the courses that you have already taken. After you have identified the courses that you have already taken under each tag, use the tagged course and units column to list the specific courses you would like to use to fulfill the requirements in each tagged electives section (Systems, Theory, Applications). Please note that some courses are tagged in multiple categories; for example, CSE 140 is tagged under all three categories, but each course can only be counted towards one of the tags on your degree audit. Fill out your Electives with eligible remaining courses - visit the 2023-2024 CSE Electives website and view the "Computer Science And Engineering (CS26 - Computer Science Major) *Fall 2023 Curriculum*" drop-down menu for more information about Open CSE Elective policies.

"CSE Curriculum Comparison" tool

How to Contact a CSE Academic Advisor

Please visit our CSE Student Affairs Office Hours website for instructions on how to get into contact with one of your CSE major advisors. On the CSE Advising website, you will see that you can contact CSE Advising via the VAC, drop-in advising, or through a pre-scheduled 30-45 minute, 1:1 advising appointment with your CSE major advisor.

CSE Virtual Town Hall - Fall 2023 Curriculum Updates

FAQs

I am a current CSE major admitted before Fall 2023 following a previous year’s curriculum - can I change my curriculum to the FA23 requirements?

Yes. CSE major students admitted before Fall 2023 may decide if they would like to change their curriculum and update their degree audit to follow the new Fall 2023 CS26 major requirements. To request an update to the Fall 2023 curriculum, students must first submit a Google Form (that will be linked here at the beginning of September) to CSE Advising expressing their intent to change their degree audit to the FA23 CS26 Curriculum. After submitting this Google Form, current CS26 majors may officially request your degree audit be changed by messaging CSE Advising in the Virtual Advising Center. CS25 and CS27 majors may contact CSE Advising via the Virtual Advising Center to discuss using the Major/Minor tool to change their major to CS26, if they are interested in switching to the new curriculum under a new major. Be advised: once your degree audit has been updated to the new FA23 curriculum you will not be permitted to switch back. Please review the next FAQ for more information. CSE Advising will not be able to officially change your degree audit until the beginning of fall quarter - please contact CSE Advising in the Virtual Advising Center with any questions.


Can I change my major back to my previous curriculum if I change my mind?

No, this is not permitted. Students will not be able to change back and forth between the different CS26 curriculum plans. CSE Advising will not revert any students’ degree audits to their original curriculum plan, once they have officially updated their degree audit to the FA23 curriculum. Please plan accordingly and connect with CSE Advising if you have questions about the new curriculum requirements before committing to change your curriculum. We suggest carefully reviewing the new curriculum and looking into the changes that were made to decide if this curriculum is the right fit for you by using the “CSE Curriculum Comparison Tool” that can be found on this page.


I am an admitted FA23 CS26 major. Can I switch back to a previous catalog year of the CS26 major curriculum?

No, switching to a previous catalog year of the CS26 major curriculum is not an option for students admitted in FA23 or later. Incoming students must follow the CSE major curriculum for the academic year in which they were admitted to UC San Diego.

 

I’m considering switching to the FA23 curriculum. How will I know if the FA23 curriculum is right for me?

Determining if the new CS26 curriculum is the right fit for you ultimately depends on your individual preferences and needs. This updated curriculum offers students greater flexibility in their upper-division courses within the CS26 major, enabling multiple pathways to graduation while covering cutting-edge topics.

Students should utilize the “CSE Curriculum Comparison Tool” to determine how their current completed coursework for the CS26 major would fulfill the new tagged requirements of the FA23 curriculum. This Curriculum Comparison Tool can be found under “Advising Resources.”

If you are currently in the process of completing your lower-division courses or haven't taken CSE 100, 105, and 110 yet, switching to the FA23 curriculum would provide you with increased flexibility in the upper-division courses. However, if you have already started taking upper-division courses, CSE Electives (and especially CSE technical electives), please feel free to reach out to the CSE advising team for personalized guidance. CSE Advising can provide personalized guidance based on your specific situation and help you make an informed decision about switching to the FA23 curriculum.


Can students submit a CSE Petition to request that a course be counted under a certain tag (Systems/Theory/Applications)?

No, the tags assigned to each course have been determined by CSE Faculty and cannot be re-tagged via petition. For example, CSE 105 is tagged “Theory/Abstraction” and, as such, cannot fulfill the requirements for the “Systems” or “Applications” tagged electives. Any petition requesting the re-tagging of an already tagged course will be automatically closed. Tagged courses only fulfill the requirements of their existing tags.

Students may not petition untagged “Open CSE Electives” to fulfill tagged requirements, including CSE 109 (2 units), CSE 192, CSE 195, CSE 197, CSE 198, CSE 199, CSE 199H. These courses can only be used to fulfill “Open CSE Elective” requirements.

Please note: Petitions are not the same as requesting a degree audit update.

 

If the same course counts in different tags, can I use this one course to apply to both tags?

Any course that is applied to your CSE major requirements will only be able to fulfill that one major requirement. Therefore, one course will not be able to be used to fulfill the units for more than one tagged elective category. For example, CSE 140L will fulfill either 2 units of Systems Electives or 2 units of Applications Electives or 2 units of Open CSE Electives.

If a course is listed under more than one tag (e.g. CSE 140L is tagged Systems and Applications), students can decide which tag they would like assigned to the course on their degree audit by contacting CSE Advising in the Virtual Advising Center and request a manual degree audit update.


How should I choose which electives to take in each tag? When should I make a long-term plan to map out my elective options?

When it comes to selecting the electives for each tag to fulfill your Computer Science major requirements, the choice should be guided by your personal interests and aspirations within the field. To navigate the elective options and make informed decisions, it is advisable to create a long-term plan outlining your elective choices to ensure that you plan for the prerequisites required to enroll in your preferred courses.

Ideally, you should begin crafting this long-term plan as early as possible in your academic journey, as you complete your lower-division coursework. By doing so, you will have a comprehensive overview of the courses you need to complete and can align them with your academic and career goals. Starting your long-term planning early will give you time to assess the offerings in the CSE catalog, identify your preferred classes, their prerequisites, and strategically chart a path to pursue the courses that align with your interests, thus maximizing the advantages of the new curriculum's flexibility. Proactive long-term planning will also help you to ensure a timely path to graduation.

For students who have already begun their upper-division coursework and are considering switching to the new FA23 curriculum, the "CSE Curriculum Comparison Tool" allows you to map out the courses you have already taken and compare them with the requirements of the new curriculum. This comparison will aid in determining whether it is beneficial for you to transition to the new curriculum or continue with your current course plan. If you are considering switching to the FA23 curriculum, we recommend connecting with a CSE Advisor to discuss your long-term plan and academic goals. You can find the FA23 Degree Plan checklist on our B.S. COMPUTER SCIENCE page.

Are Technical Electives still eligible to fulfill CS26 requirements?

Courses that are listed specifically under the “Technical Elective” section of the 2023-2024 CSE Electives website will no longer fulfill any major requirements for the Fall 2023 CS26 major curriculum or later. For example, MGT courses, PSYCH courses, and PHYS courses are listed specifically only as Technical Electives, and as such, cannot be petitioned for CSE Elective credit.

Spring 2024 Update: Technical Elective courses listed in a range (e.g. "Any 4 unit Math upper-division courses 100-194.") are eligible to be petitioned for CSE Elective credit, but there is no guarantee of approval. COGS, ECE, MATH, and MAE courses within their specified range from the CSE Technical Electives may be petitioned for CSE Elective credit. Please see the CSE Petition page for more information on how to submit a CSE Petition.

Please note that a few courses formerly listed as “Technical Electives” have been tagged under the FA23 CS26 curriculum. Please view the CSE Electives website for more information and carefully review the FA23 CS26 checklist for the most up-to-date list of courses tagged to fulfill CS26 major requirements.


Can I petition for a former Technical Elective to be considered for tagging?

Courses that are listed specifically under the “Technical Elective” section of the 2023-2024 CSE Electives website will no longer fulfill any major requirements for the Fall 2023 CS26 major curriculum or later. For example, MGT courses, PSYCH courses, and PHYS courses are listed specifically only as Technical Electives, and as such, cannot be petitioned for CSE Elective credit. Any CSE Petition requesting to use a Technical Elective specifically listed towards FA23 CS26 major requirements will be automatically closed.

Spring 2024 Update: Technical Elective courses listed in a range (e.g. "Any 4 unit Math upper-division courses 100-194.") are eligible to be petitioned for CSE Elective credit, but there is no guarantee of approval. COGS, ECE, MATH, and MAE courses within their specified range from the CSE Technical Electives may be petitioned for CSE Elective credit. Please see the CSE Petition page for more information on how to submit a CSE Petition.

 

When should I begin taking electives tagged under each category? When should I begin to take Open CSE Electives?

Students can begin taking any electives under any category, including Open CSE Electives, once they are able to meet the prerequisites and restrictions required for the courses that they would like to take. Please carefully review the CSE Prerequisite page for the most up-to-date information on CSE Prerequisites. Granting exceptions to CSE Prerequisites is rare and requires documentation of extenuating circumstances or coursework external to UC San Diego - please plan to complete prerequisites for CSE courses accordingly. For courses outside of the CSE Department, unless you are told otherwise by someone in the respective department, students should assume they will need to meet all prerequisites before being allowed to enroll in any course listed below.

Sample 2 year and 4 year plans for the CS26 FA23 Curriculum can be found on the B.S. Computer Science website. Please consult these plans for recommended timelines for the completion of CSE major requirements, including tagged electives.

On the checklists and resources for the FA23 CS26 Curriculum, students will notice that some tagged elective courses are bolded. Bolding is a visual aid that indicates courses that may be more easily available for enrollment due to fewer prerequisites or restrictions. Please check the catalog for up-to-date prerequisite and enrollment information.


Where can I find a four-year or two-year plan for this new Fall 2023 curriculum?

You can find a sample of the 4-year plan and 2-year plan on the B.S. Computer Science website. If you would like to review your long-term plan with a CSE Advisor, please visit the CSE Student Affairs Office Hours website for instructions on how to set up a 30 minute, 1:1 pre-scheduled advising appointment with your CSE major advisor.


I am a current student with a double major in Computer Science. I would like to switch my curriculum to the new Fall 2023 curriculum, would this require a revised Double Major Petition and Academic Planning Form?

Yes, current students admitted in FA22 or prior who have a double major in Computer Science will need to submit a revised double major petition and academic planning form, if they would like to switch to the FA23 CS26 major requirements. To account for the new CSE major requirements, students will also need to create a new long-term plan on their Academic Planning Form to reflect these curriculum changes. The revised Double Major Petition and Academic Planning Form must be approved before your degree audit can be officially updated to reflect the FA23 CS26 major requirements.

To review your revised Double Major Petition and Academic Planning form, please create an appointment with a CSE advisor. All revised double major petitions should be discussed with a CSE Advisor during a pre-scheduled appointment to review the new curriculum requirements and students’ updated long-term plan.

On your revised double major petition to switch to the FA23 curriculum, students should label each tagged elective course with the intended tag they would like to use for their major requirements (e.g. CSE 140 Theory) next to the course on the Double Major Petition.


I am not currently a CSE major, but I want to declare a double major in CSE under the new FA23 curriculum. What should I do to declare a double major in CSE?

Students who are interested in majoring in CSE would need to first apply through the capped major application, as all CSE majors are capped. Please carefully review the information that is on our CSE capped major process website.

Please note: Starting in Fall 2022, the CSE department will be increasing the number of students admitted directly into a CSE major as a first-year direct admit or transfer, while mostly eliminating the number of spots available for late switches to the major. The department does not anticipate that there will be any spots available beyond those used for these direct admissions in most years. In future academic years, the CSE Capped Major Application will only be open once per year in Summer.

Where can I find a list of the Open CSE electives?

Students can find the full list of Open CSE elective options and policies for the CS26 major on the CSE Elective website under the "Computer Science And Engineering (CS26 - Computer Science Major) *Fall 2023 Curriculum*" drop-down menu. In short, CSE upper-division or graduate courses or non-CSE classes that are tagged with one of the three tags (which are not used to satisfy the core or breadth elective requirements) may be used to fulfill the 24 units required of Open CSE Electives.

 

How are graduate-level courses tagged under the FA23 CS26 Curriculum?

Graduate level courses will be tagged according to their respective categories on the CSE MS Program website. CSE 291’s are tagged based on their offering and are counted as part of the maximum of three CSE 190's allowed for CSE electives. Please note: 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. To request to use a graduate-level course towards fulfilling your major requirements on your degree audit, please reach out to CSE Undergraduate Advising once you are officially enrolled in the course. 

For information about requesting enrollment in grad-level courses via EASy, please visit the Graduate Courses & Enrollment homepage.

 

Does the new Fall 2023 curriculum affect the requirement for the CS minor?

No, the changes made to the upper-division requirements of the Computer Science major curriculum does not affect the Computer Science minor coursework. Please refer to the CS Minor website for all of the requirements needed to successfully complete the Computer Science minor.

Please make sure to review the newly updated CSE Electives course options for the 2023-2024 academic year.


Is there more information about each “tag” and what I might learn from the courses in each tagged elective category? I am unsure on what the definitions of the tags mean.

Below we have provided a more detailed explanation of each of the tagged areas:


(Systems) The implementation of, abstractions behind, and security of, computer hardware, software, and networking.

Computing happens within and between devices and the physical world, and the domain of “systems” helps us understand how computing happens. Computational devices range from digital circuits to consumer laptops to global-scale internet infrastructure. In computing systems courses, students design, use, study, and create software and hardware systems that enable useful applications. Under this domain, we explore how to perform computational tasks, how a computer works, and how to overcome challenges experienced when trying to make computers work.

(Theory/Abstraction) Abstract computational ideas using mathematical or formal tools.

Theory and abstraction can be considered the “language” or the “math” of computer science. Theory and abstraction establishes a common core set of concepts used across many disciplines of computer science. In theory/abstraction courses, students develop their skills to think abstractly, break down complex problems, and apply mathematical reasoning. These problem-solving skills gained in theory/abstraction courses empower students to analyze, understand, and optimize how we perform computation.

(Applications of Computing) Applying appropriate computing knowledge and problem-solving techniques to guide and shape the impact of computing on the world.

Computing affects almost every part of our lives, and computer scientists use computing systems and theory to solve problems for people. In Applications of Computing courses, students study how computation is used to influence aspects of life outside of computer science. These courses apply computer science ideas to a variety of topics and domains to demonstrate how computer systems and theory/abstraction interact with our daily lives. In Applications of Computing courses, students will apply their knowledge and problem-solving skills to address practical problems and propose innovative solutions in different fields and industries.