Prerequisites for CSE Undergraduate Classes
Updated May 25th, 2023
Granting exceptions to prerequisites is rare and requires documentation of extenuating circumstances.
*An assigned letter grade of "D" is considered sufficient for meeting a course prerequisite unless otherwise noted.
*An assigned letter grade of "F", "NP", or an incomplete in a course are NOT considered sufficient for meeting a course prerequisite.
Students who need courses for their CSE major graduation requirements have priority enrollment. Petition approval does not give priority enrollment in the class.
***For courses restricted to certain academic levels or majors, all other students will be allowed as space permits. Students may use Enrollment Authorization System (EASy) to request clearance to be able to enroll/waitlist. These requests will only be reviewed if there is space in the course***
Undergraduates will receive priority for undergraduate courses. Graduate student requests to enroll in undergraduate courses will be reviewed at the end of week 1 of the quarter and only after all undergraduate requests have been processed.
Students may use the following ^ for CSE course prerequisite substitution purposes (no petition required, Enrollment Authorization System (EASy) request may be required if not explicitly listed in the approved course list):
^CSE 20 - MATH 109 or MATH 31CH may be used
^CSE 21 - MATH 184 or MATH 188 or MATH 154 or MATH 158 may be used
If you are using MATH 31CH for a change of major application, you must submit a petition.
CSE Course |
Title |
Prerequisite(s) |
||
CSE 3 |
Fluency in Information Technology |
None ***Not restricted to certain majors / academic standings.*** |
||
CSE 4GS |
Mathematical Beauty In Rome Lab |
Math 10A or Math 20A. Co-requisite with CSE 6GS Clearance only issued to students approved by the program. |
||
CSE 6GS |
Mathematical Beauty in Rome Lab |
Math 10A or Math 20A. Co-requisite with CSE 4GS. Clearance only issued to students approved by the program. |
||
CSE 6R | Introduction to Computer Science and Object-Oriented Programming: Python |
A familiarity with high school-level algebra is expected, but this course assumes no prior programming knowledge. ***Restricted to undergraduates.*** A student may not receive credit for CSE 6R after receiving credit for CSE 8A, CSE 8B, CSE 11, or COGS 18. |
||
CSE 8A |
Introduction to Programming and Computational Problem Solving - 1 |
No prior programming experience is assumed, but comfort using computers is helpful. Students should consult the "CSE Course Placement Advice" web page for assistance in choosing which CSE course to take first. ***Restricted to undergraduates.*** Effective Spring 2022: Students may only receive credit for one of the following: BILD 62, COGS 18, CSE 8A, or CSE 6R. |
||
CSE 8B |
Introduction to Programming and Computational Problem Solving - 2 |
CSE 8A or permission from the instructor Permission from the instructor received through CSE petition process. Effective Spring 2023: Students may request permission to enroll in CSE 8B without having completed the CSE 8A prerequisite. Students must submit an EASy request for prerequisite clearance to enroll/waitlist the course. ***Restricted to undergraduates.*** |
||
CSE 11 |
Introduction to Computer Science and Object-Oriented Programming: Java Title Effective Fall 2020: Introduction to Programming and Computational Problem Solving - Accelerated Pace |
Significant prior programming experience (for example, high school AP CSA). Students should consult the CSE Course Placement Advice webpage for assistance in choosing a first CSE course. ***Restricted to undergraduates.*** Zero units of credit offered for CSE 11 if CSE 8B taken previously or concurrently. |
||
CSE 12 |
Basic Data Structures and Object-Oriented Design |
CSE 8B or CSE 11 ***Restricted to undergraduates.*** |
||
CSE 15L |
Software Tools and Techniques Laboratory |
CSE 11 or CSE 12 or CSE 8B or DSC 30 ***Restricted to undergraduates.*** |
||
CSE 20 |
Introduction to Discrete Mathematics |
*CSE11 or CSE6R or CSE8A or CSE8B or ECE15 *CSE 11 may be taken concurrently with CSE 20. AFTER enrolling in CSE 11, students should submit a Enrollment Authorization System (EASy) to be cleared to enroll in CSE 20. Students who have completed Math 109 may not receive credit for CSE 20. Credit not offered for both Math 15A and CSE 20. Equivalent to Math 15A. Students may take MATH 109 or MATH 31CH to meet the CSE 20 course prerequisite for CSE courses. EASy request may be required. Students may use MATH 109 or MATH 31CH towards CSE 20 CSE major/minor requirements, but MATH 109 or MATH 31CH must be taken for a letter grade and students need to submit a VAC request to manually move the course to cover the major /minor requirement *** Restricted to undergraduates.*** |
||
CSE 21 |
Mathematics for Algorithms and Systems |
CSE 20 or MATH 15A or MATH 31CH Students who have completed MATH 154 or MATH 184 or MATH 188 previously or concurrently may not receive credit for CSE 21. ***Restricted to undergraduates.*** |
||
CSE 30 |
Computer Organization and Systems Programming |
CSE 12 and CSE 15L *** Restricted to undergraduates.*** |
||
CSE 86 |
C++ for Java Programmers |
CSE 12 with a passing grade of C- or better. ***Not restricted to certain majors / academic standings.*** |
||
CSE 87 |
Freshman Seminars |
None; Priority is given to incoming Freshmen. ***Restricted to Freshman academic standing.*** |
||
CSE 90 |
Undergraduate Seminar |
Consent of instructor. ***Not restricted to certain majors / academic standings.*** |
||
CSE 91 |
Perspective in Computer Science and Engineering |
***Restricted to Computer Science and Engineering majors only.*** |
||
CSE 95 |
Tutor Apprenticeship |
For those serving as CSE Tutors for the first time. ***Department approval is required. If you are given a tutor position, you will be cleared to add to CSE 95.*** |
||
CSE 99 |
Independent Study in Computer Science and Engineering |
Lower-division standing. Completion of 30 units at UCSD with a UCSD GPA of 3.0. Department approval required. ***Consent of the instructor and approval of the department.*** |
||
CSE 100 |
Advanced Data Structures |
(CSE21 or MATH154 or MATH158 or MATH184 or MATH188) and (CSE12) and (CSE15L) and (CSE30 or ECE15) ***Restricted to undergraduates.*** Students may not receive credit for both CSE 100R and CSE 100. |
||
CSE 100R | Advanced Data Structures |
(CSE21 or MATH154 or MATH158 or MATH184 or MATH188) and (CSE12) and (CSE15L) and (CSE30 or ECE15) ***Restricted to undergraduates.*** ***This course is a Distance Education (fully remote) course.*** Students may not receive credit for both CSE 100R and CSE 100. |
||
CSE 101 |
Design and Analysis of Algorithms |
(CSE21 or MATH154 or MATH158 or MATH184 or MATH188) and (CSE12 or DSC30) *** Restricted to undergraduates.*** |
||
CSE 103 |
A Practical Introduction to Probability and Statistics |
(MATH20A) and (MATH20B) and (CSE21 or MATH154 or MATH158 or MATH184 or MATH188) ***Restricted to undergraduates within the CS25, CS26, CS27, and CS28 majors.*** |
||
CSE 105 |
Theory of Computability |
(CSE12) and (CSE15L) and (CSE20 or MATH109 or MATH15A or MATH31CH) and (CSE21 or MATH100A or MATH103A or MATH154 or MATH158 or MATH184 or MATH188) |
||
CSE 106 |
Discrete and Continuous Optimization |
(MATH18 or MATH31AH) and (MATH20C or MATH31BH) and (CSE21 or DSC40B or MATH154 or MATH158 or MATH184 or MATH188) |
||
CSE 107 |
Introduction to Modern Cryptography |
(CSE21 or MATH154 or MATH158 or MATH184 or MATH188) and (CSE101) and (CSE105) *** Restricted to CS25, CS26, CS27, CS28, and EC26 majors. *** |
||
CSE 109 | Introduction to Programming Contests |
CSE 30 Effective Winter 2023: CSE 30 or permission of Instructor ***Restricted to undergraduates.*** |
||
CSE 110 |
Software Engineering |
CSE 100 or CSE 100R ***Restricted to junior or senior standing within the CS25, CS26, CS27, CS28, and EC26 majors.*** Sophomores who meet the course prerequisites may request course clearance through the Enrollment Authorization System (EASy).
|
||
CSE 112 |
Advanced Software Engineering |
CSE 110 ***Restricted to CS25, CS26, CS27, and EC26 majors.*** |
||
CSE 118 |
Ubiquitous Computing |
Any course from the following: CSE 131, CSE 132B, COGS 102C, COGS 121, COGS 184, COMT 111B, COMT 115, ECE 111, ECE 118, ECE 191, ECE 192, or ICAM 160B; or consent of instructor. All prereq's must be completed with a passing grade of C- or better. Grade of P will not be sufficient for prereq's ***Not restricted to certain majors / academic standings.*** |
||
CSE 120 |
Principles of Computer Operating Systems |
(CSE 30) and (CSE 101) and (CSE 110) *** Restricted to CS25, CS26, CS27, and EC26 majors *** |
||
CSE 121 |
Operating Systems: Architecture and Implementation |
CSE 120 ***Not restricted to certain majors / academic standings.*** |
||
CSE 123 |
Computer Networks |
(CSE 30) and (CSE 101) and (CSE 110) ***Restricted to SO, JR, SR standing within the CS25, CS26, CS27, CS28, and EC26 majors.*** Credit may not be received for both CSE 123 and ECE 158A. |
||
CSE 124 |
Networked Services |
(CSE 30) and (CSE 101) and (CSE 110) *** Restricted to CS25, CS26, CS27, CS28, and EC26 majors.*** Credit may not be received for both CSE 124 and ECE 158B. |
||
Software System Design and Implementation |
Senior standing with substantial programming experience, and consent of instructor. Department approval required. |
|||
CSE 127 |
Introduction to Computer Security |
(CSE21 or MATH154 or MATH158 or MATH184 or MATH188) and (CSE120 or CSE123 or CSE124) ***Restricted to junior or senior standing the CS25, CS26, CS27, CS28, and EC26 majors.*** |
||
CSE 130 |
Programming Languages: Principles and Paradigms |
(CSE12) and (CSE100) and (CSE105) Effective Spring 2023: (CSE12) and (CSE100 or CSE100R) and (CSE105) ***Restricted to CS25, CS26, CS27, and EC26 majors.*** |
||
CSE 131 |
Compiler Construction |
CSE 100 or CSE 100R) and (CSE 105) and (CSE 130) May be co-scheduled with CSE 231. ***Restricted to CS25, CS26, CS27, and EC26 majors.*** |
||
CSE 132A |
Database System Principles |
CSE 100 ***Restricted to Sophomore, Junior, and Senior standing of CS25, CS26, CS27, CS28, and EC26 majors.*** Effective Winter 2023: CSE 100 or CSE 100R |
||
CSE 132B |
Database System Applications |
CSE 132A ***Restricted to CS25, CS26, CS27, and EC26 majors*** |
||
CSE 132C |
Database System Implementation |
CSE 132A or DSC 102 C++ programming knowledge is required; CSE 132B is recommended ***Restricted to Sophomore, Junior, and Senior standing of CS25, CS26, CS27, CS28, and EC26 majors.*** |
||
CSE 134B |
Web Client Languages |
CSE 100 or CSE 100R ***Restricted to CS25, CS26, CS27, and EC26 majors*** |
||
CSE 135 |
Online Database Analytics Applications |
CSE 100 or CSE 100R ***Restricted to CS25, CS26, CS27, CS28, and EC26 majors.*** |
||
CSE 136 |
Enterprise-class Web Applications |
CSE 135 ***Not restricted to certain majors / academic standings.*** |
||
CSE 140 |
Components and Design Techniques for Digital Systems |
(CSE20 or MATH109 or MATH15A or MATH31CH) and (CSE30); CSE 140L should be taken concurrently. ***Restricted to CS25, CS26, CS27, and EC26 majors.*** |
||
CSE 140L |
Digital Systems Laboratory |
(CSE20 or MATH109 or MATH15A or MATH31CH) and (CSE30); CSE 140 should be taken concurrently. ***Restricted to CS25, CS26, CS27, and EC26 majors.*** |
||
CSE 141 |
Introduction to Computer Architecture |
(CSE30) and (CSE140) and (CSE140L) ***Restricted to CS25, CS26, CS27, and EC26 majors.*** Two units of credit offered for CSE 141 if CSE 142 taken previously. |
||
CSE 141L |
Project in Computer Architecture |
(CSE 30) and (CSE 140) and (CSE 140L); CSE 141 should be taken concurrently. ***Restricted to CS25, CS26, CS27, CS28, and EC26 majors*** |
||
CSE 142 |
Comp Arch Software Perspective |
(CSE 30) and (CSE 100or CSE 100R); CSE 142L should be taken concurrently. ***Restricted to students within the CS25, CS26, CS27, CS28, and EC26 majors.*** Two units of credit offered for CSE 142 if CSE 141 taken previously or concurrently. |
||
CSE 142L |
Software Proj Comp Arch |
(CSE 30) and (CSE 100 or CSE 100R); CSE 142 should be taken concurrently. ***Restricted to students within the CS25, CS26, CS27, CS28, and EC26 majors.***
|
||
CSE 143 |
Microelectronic System Design |
CSE 140 ***Restricted to CS25, CS26, CS27, and EC26 majors.*** |
||
CSE 144 |
Computer-Aided Design of VLSI Circuits |
(CSE 140) and (CSE 140L) ***Not restricted to certain majors / academic standings.*** |
||
CSE 145 |
Embedded System Design Project |
Application required ***Not restricted to certain majors / restricted to junior/senior standing.*** |
||
CSE 148 |
Advanced Processor Architecture Design Project |
(CSE 141) and (CSE 141L) |
||
CSE 150A |
Introduction to Artificial Intelligence: Probabilistic Reasoning and Decision-Making |
(CSE 12 or DSC 40B) and (CSE 15L or DSC 80) and (COGS 118D or CSE 103 or ECE 109 or ECON 120A or MATH 180A or MATH 183) and (MATH 20A) and (MATH 18 or MATH 31AH) ***Restricted to students with sophomore, junior or senior standing within the CS25, CS26, CS27, CS28, EC26, and DS25 majors.*** **NOTE: Students who have taken CSE 150 with the same instructor will not receive credit/passing grade for taking CSE 150A. |
||
CSE 150B |
Introduction to Artificial Intelligence: Search and Reasoning |
(CSE12 or DSC40B) and (CSE15L or DSC80) and (COGS118D or CSE103 or ECE109 or ECON120A or MATH180A or MATH183) and (CSE100 or CSE100R). No academic level restrictions. ***Restricted to students with sophomore, junior or senior standing within the CS25, CS26, CS27, CS28, EC26, and DS25 majors.*** **NOTE: Students who have taken CSE 150 with the same instructor will not receive credit/passing grade for taking CSE 150B. |
||
CSE 151A |
Introduction to Machine Learning |
(CSE12 or DSC40B) and (CSE15L or DSC80) and (COGS118D or CSE103 or ECE109 or ECON120A or MATH181A or MATH183) and (MATH18 or MATH31AH) and (MATH20C or MATH31BH) *** Restricted to students within the CS25, CS26, CS27, CS28, EC26, and DS25 majors.*** Students may not receive credit for both CSE 151A and COGS 188, nor may they receive credit for both CSE 151A and CSE 151. |
||
CSE 151B |
Deep Learning |
(MATH20C or MATH31BH) and (BENG134 or COGS118D or CSE103 or ECE109 or ECON120A or MAE108 or MATH181A or MATH183 or MATH186) ***Restricted to students with sophomore, junior or senior standing within the CS25, CS26, CS27, CS28, EC26, and DS25 majors.*** Renumbered from CSE 154. Students may receive credit for one of the following: CSE 151B, CSE 154, or COGS 181. |
||
CSE 152A |
Introduction to Computer Vision I |
(MATH 18 or MATH 31AH) and (CSE 12 or DSC 30) and (CSE 15L or DSC 80) ***Restricted to students within the CS25, CS26, CS27, CS28, and EC26 majors.*** Students may not receive credit for both CSE 152A and CSE 152. |
||
CSE 152B |
|
CSE152 or CSE152A or CSE166 Python programming experience recommended. **Restricted to students within the CS25, CS26, CS27, CS28, and EC26 majors.** |
||
CSE 156 |
Statistical Natural Language Processing |
(CSE12 or DSC40B) and (CSE15L or DSC80) and (BENG134 or COGS118D or CSE103 or ECE109 or ECON120A or MATH180A or MATH181A or MATH183 or MATH186)
|
||
CSE 158 |
Recommender Systems & Web Mining |
(CSE12 or DSC40B) and (CSE15L or DSC80) and (BENG100 or BENG134 or COGS118D or CSE103 or ECE109 or ECON120A or MATH180A or MATH181A or MATH183 or MATH186) ***Restricted to CS25, CS26, CS27, CS28, EC26, and DS25 majors.*** May be co-scheduled with CSE 258. Students may not receive credit for CSE 158 and CSE 158R or DSC 148. |
||
CSE 158R | Recommender Systems & Web Mining |
(CSE12 or DSC40B) and (CSE15L or DSC80) and (BENG100 or BENG134 or COGS118D or CSE103 or ECE109 or ECON120A or MATH180A or MATH181A or MATH183 or MATH186) ***Restricted to CS25, CS26, CS27, CS28, EC26, and DS25 majors.*** May be co-scheduled with CSE 258R. Students may not receive credit for CSE 158R and CSE 158 or DSC 148. This will be a fully online class based on extensive educational materials and an online educational platform. |
||
CSE 160 |
Introduction to Parallel Programming |
CSE 100 or CSE 100 R ***Restricted to CS25, CS26, CS27, and EC26 majors.***
|
||
CSE 163 |
Advanced Computer Graphics |
CSE 167 ***Restricted to CS25, CS26, CS27, and EC26 majors.*** |
||
CSE 165 |
3D User Interaction |
CSE 167 Program or material fees may apply. ***Restricted to CS25, CS26, CS27, and EC26 majors.*** |
||
CSE 166 |
Image Processing |
(DSC40B or MATH18 or MATH31AH) and (CSE100 or DSC80) Effective Spring 2023: (DSC40B or MATH18 or MATH31AH) and (CSE100 or CSE100R or DSC80) |
||
CSE 167 |
Computer Graphics |
CSE 100 or CSE 100R **Students may not receive credit for CSE 167 and MATH 155A.** ***Restricted to CS25, CS26, CS27, and EC26 majors.*** |
||
CSE 168 |
Computer Graphics II: Rendering |
CSE 167 ***Restricted to CS25, CS26, CS27, and EC26 majors*** |
||
CSE 169 |
Computer Animation |
CSE 167 Recommended preparation: an understanding of linear algebra ***Restricted to CS25, CS26, CS27, and EC26 majors*** |
||
CSE 170 |
Interaction Design |
(COGS108 or CSE12 or DSC30) and (COGS1 or COGS10 or DSGN1 or ENG100D) Students may not receive credit COGS 120 and CSE 170. Recommended Preparation: Basic familiarity with HTML ***Not restricted to certain majors / academic standings.*** |
||
CSE 175 |
Successful Entrepreneurship for Engineers |
By application only. Instructor approval required to ensure sufficient project experience to be successful in the course. No credit offered for CSE 175 if ECE 150 taken previously or concurrently. Students who previously completed CSE 190 Successful Entrepreneurship with Dr. Rakesh Kumar will NOT be allowed to enroll or receive credit for CSE 175 |
||
CSE 176A |
Maker Topics: Healthcare Robotics |
COGS120 or CSE110 or CSE170 Application required **Restricted to junior/senior standing** Program or Material Fees may apply. May be co-scheduled with CSE 276D. |
||
CSE 176E |
Robot Systems Design and Implementation |
Application required ***Restricted to junior/senior standing*** Program or Material Fee may apply. May be co-scheduled with CSE 276E. |
||
CSE 180 |
Biology Meets Computing |
BILD1 or BILD4 or CSE11 or CSE3 or CSE8A or CSE8B CSE majors may not use this course towards UD CSE Electives Students may not receive credit for CSE 180 and CSE 180R. ***Not restricted to certain majors / academic standings.*** |
||
CSE 180R | Biology Meets Computing |
BILD1 or BILD4 or CSE11 or CSE3 or CSE8A or CSE8B Students may not receive credit for CSE 180 and CSE 180R. This will be a fully online class based on extensive educational materials and online educational platform Stepik developed with HHMI, NIH, and ILTI support. |
||
CSE 181 |
Molecular Sequence Analysis |
(CSE 100 or CSE 100R) and (CSE 101) and (BIMM 100 or CHEM 114C) ***Restricted to Bioinformatics undergraduates.*** Students may receive credit for one of the following: CSE 181, BIMM 181 or BENG 181. |
||
CSE 182 |
Biological Databases |
CSE 100 or CSE 100R ***Restricted to Bioinformatics undergraduates. *** Students may receive credit for one of the following: CSE 182, BIMM 182 or BENG 182. |
||
CSE 184 |
Computational Molecular Biology |
(BENG 181 or BIMM 181 or CSE 181) and (BENG 182 or BIMM 182 or CHEM 182 or CSE 182) **Restricted to Bioinformatics undergraduates.** |
||
CSE 185 |
Advanced Bioinformatics Laboratory |
(CSE11 or CSE8B) and (CSE12) and (MATH20C or MATH31BH) and (BILD1) and (BIEB123 or BILD4 or BILD70 or BIMM101 or CHEM109) **Restricted to Bioinformatics undergraduates** Students may not receive credit for CSE 185 and BIMM 185. |
||
CSE 190 |
Topics in Computer Science and Engineering |
Prerequisites vary per course per instructor. Please see the CSE 190 web page to review specific course requirements. May be taken for credit up to three times. May be co-scheduled with CSE 291. |
||
CSE 191 |
Seminar in Computer Science and Engineering |
Consent of instructor required. ***Restricted to CS25, CS26, CS27, and EC26 majors*** |
||
CSE 192 |
Senior Seminar |
Upper-division standing; department stamp and/or consent of instructor |
||
CSE 194 | Race, Gender and Computing |
(AAS10 or CSE12 or ECE35 or ETHN3 or HILD7A or LTEN27) and (CAT125 or CAT125R or CAT3 or DOC3 or HUM2 or MCWP125 or MCWP125R or MCWP50 or MCWP50R or MMW121 or MMW121R or MMW122 or MMW13 or SYN2 or WCWP100 or WCWP10B) Use of MCWP 125 or WCWP 100 or SYN 100 for course prerequisite may be used via EASy request CSE 194 is approved to fulfill the University Diversity, Equity, and Inclusion (DEI) requirement. For questions about applying CSE 194 toward both your Major and University requirements, please contact your College Advisors through the VAC for clarification. |
||
|
||||
CSE 197 |
Field Study in Computer Science and Engineering |
Consent of the instructor and department approval required. Students may receive credit for one of the following: CSE 197 or CSE 197C. ***Restricted to CS25, CS26, CS27, and CS28 majors only.*** |
||
CSE 197C | Cooperative Practicum in Computer Science and Engineering |
Consent of the instructor and department approval required. Students may receive credit for one of the following: CSE 197 or CSE 197C. ***Restricted to CS25, CS26, and CS27 majors only*** |
||
CSE 198 |
Directed Study Group |
Consent of instructor. Department approval required. |
||
CSE 199 |
Independent Study for Undergraduates |
Consent of instructor. Department approval required. |
||
CSE 199H |
CSE Honors Thesis Research for Undergraduates |
Admission to the CSE Department Honors program. Consent of instructor. Department approval required. |