Prerequisites for CSE Undergraduate Classes

Updated 10/21/2020

The CSE Department enforces all course prerequisites.  Please plan accordingly!

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

***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 184A or MATH 184 or MATH 154 may be used

If you are using the substitutes for a minor or 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 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.***

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.

***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, co-requisite of CSE 15L

***Restricted to undergraduates.***

CSE 15L

Software Tools and Techniques Laboratory

CSE 8B or CSE 11, co-requisite of CSE 12

***Restricted to undergraduates.***

CSE 20

Introduction to Discrete Mathematics

CSE11* or CSE5A or CSE8A or CSE8B

*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 to meet the CSE 20 course prerequisite for CSE courses. EASy request may be required. 

Students may use MATH 109 towards CSE 20 CSE major/minor requirements, but MATH 109 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

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

CSE 12 and CSE 15L and (CSE 21 or MATH 154 or MATH 184 or MATH 184A) and (CSE 5A or CSE 30 or ECE 15 or MAE 9)

***Restricted to undergraduates.***

*Effective Fall 2021: 

(CSE21 or MATH154 or MATH184) and (CSE12) and (CSE15L) and (CSE30 or ECE15)

CSE 101

Design and Analysis of Algorithms

CSE 100 or Math 176

*** Restricted to undergraduates.***

CSE 103

A Practical Introduction to Probability and Statistics

MATH20A and MATH20B and (CSE21 or MATH154 or MATH184 or MATH184A)

***Restricted to undergraduates within the CS25, CS26, CS27, and CS28 majors.***

CSE 105

Theory of Computability

Current: CSE12 and CSE15L and (CSE20 or MATH109 or MATH15A or MATH31CH) and (CSE21 or MATH100A or MATH103A or MATH184 or MATH184A)

Students may use MATH 154 in place of CSE 21 course prerequisite. Students will need to submit a course clearance through the Enrollment Authorization System (EASy).

Effective SP21: CSE 12 and CSE 15L and (CSE 20 or MATH 15A or MATH 31CH or MATH 109) and (CSE 21 or MATH 154 or MATH 100A or MATH 103A or MATH 184 or MATH 184A)

***Restricted to Sophomore, Junior, and Senior standing.***

CSE 106

Discrete and Continuous Optimization

Course prerequisites effective Fall 2020: (MATH 18 or MATH 31AH) and (MATH 20C or MATH 31BH) and (CSE 21 or DSC 40B or MATH 154 or MATH 184A or MATH 184)

CSE 107

Introduction to Modern Cryptography

(MATH184 or CSE 21 or MATH 154 ) and CSE 101 and CSE 105

*** Restricted to CS25, CS26, CS27, CS28, and EC26 majors. ***

CSE 110

Software Engineering

CSE 100

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

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, CSE 101, and CSE 110

*** Restricted to CS25, CS26, CS27, CS28, and EC26 majors.***

CSE 125

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 MATH184 or MATH184A) and (CSE120 or CSE123 or CSE124)

***Restricted to SO, JR, SR standing within the CS25, CS26, CS27, CS28, and EC26 majors.***

CSE 130

Programming Languages: Principles and Paradigms

(CSE12) and (CSE100 or MATH176) and (CSE105 or MATH166)

Restricted to CS25, CS26, CS27, and EC26 majors.

CSE 131

Compiler Construction

CSE 100 and CSE 105 and CSE 130

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

CSE 132B

Database System Applications

CSE 132A

***Restricted to CS25, CS26, CS27, and EC26 majors***

CSE 132C

Database System Implementation

CSE 132A

CSE 134B

Web Client Languages

CSE 100

***Restricted to CS25, CS26, CS27, and EC26 majors***

CSE 135

Online Database Analytics Applications

CSE 100 or Math 176

***Restricted to Sophomore, Junior, and Senior standing of 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

 (CSE 20 or MATH 15A or MATH 109) and CSE 30; CSE 140L must be taken concurrently.

Students may use MATH 31CH in place of CSE 20 course prerequisite. Students will need to submit a course clearance through the Enrollment Authorization System (EASy).

Effective SP21: (CSE20 or MATH109 or MATH15A or MATH31CH) and (CSE30); CSE 140L must be taken concurrently.

Restricted to CS25, CS26, CS27, and EC26 majors. 

CSE 140L

Digital Systems Laboratory

Current: (CSE20 or MATH109 or MATH15A) and (CSE30); CSE 140 must be taken concurrently. 

Students may use MATH 31CH in place of CSE 20 course prerequisite. Students will need to submit a course clearance through the Enrollment Authorization System (EASy).

Effective SP21: (CSE20 or MATH109 or MATH15A or MATH31CH) and (CSE30); CSE 140 must 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 must be taken concurrently.

Restricted to CS25, CS26, CS27, CS28, and EC26 majors

CSE 142

Comp Arch Software Perspective

CSE 30 and CSE 100; CSE 142L must 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; CSE 142 must be taken concurrently.

Restricted to students within the CS25, CS26, CS27, CS28, and EC26 majors.

CSE 143

Microelectronic System Design

CSE 140 or CSE 170A or ECE 81

***Not restricted to certain majors / academic standings.***

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 / academic standings.***

CSE 148

Advanced Processor Architecture Design Project

CSE 141 and CSE 141L

***Restricted to sophomore, junior, or senior standing.***

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)

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

Introduction to Computer Vision II

 

CSE152 or CSE152A or CSE166

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 (BENG100 or BENG134 or COGS118D or CSE103 or ECE109 or ECON120A or MATH180A or MATH181A or MATH183 or MATH186)

*Restricted to SO, JR, and SR students and CS25, CS26, CS27, CS28, EC26 majors***

CSE 158

Recommender Systems & Web Mining

(CSE 12 or DSC 40B) and (CSE 15L or DSC 80) and (CSE 103 or ECE 109 or ECON 120A or MATH 183 or MATH 181A)

Restricted to CS25, CS26, CS27, CS28, EC26, and DS25 majors. 

CSE 160

Introduction to Parallel Programming

CSE 100 or Math 176

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

Restricted to CS25, CS26, CS27, and EC26 majors.

CSE 166

Image Processing

(DSC40B or MATH18 or MATH20F or MATH31AH) and (CSE100 or DSC80 or MATH176)

*Restricted to SO, JR, and SR students.*

CSE 167

Computer Graphics

CSE 100 or Math 176 with a C- or better 

Effective SP20: 

CSE 100 or Math 176

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

Restricted to CS25, CS26, CS27, and EC26 majors

CSE 170/ COGS 120

 Interaction Design

(CSE11 or CSE8B or DSC30) and (COGS1 or COGS187A or DSGN1)

***Not restricted to certain majors / academic standings.***

CSE 175

Successful Entrepreneurship for Engineers

By application only 

CSE 176A

Maker Topics: Healthcare Robotics 

COGS120 or CSE110 or CSE170

*Restricted to SO, JR, and SR students.***

CSE 176E

Robot Systems Design and Implementation

Application required

CSE 180

Biology  Meets Computing

BILD 1

CSE majors may not use this course towards UD CSE Electives

***Not restricted to certain majors / academic standings.***

CSE 181

Molecular Sequence Analysis

(CSE100 or MATH176) and (CSE101) and (BIMM100 or CHEM114C) 

**Restricted to Bioinformatics undergraduates. ***

CSE 182

Biological Databases

CSE 100 or Math 176

**Restricted to Bioinformatics undergraduates. ***

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 BIMM101 or CHEM109) 

**Restricted to Bioinformatics majors with a JR or SR standing**

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. 

CSE 191

Seminar in Computer Science and Engineering

Restricted to CSE majors. Consent of instructor required. 

CSE 192

Senior Seminar

Upper-division standing; department stamp and/or consent of instructor 

CSE 195

Teaching

Department stamp required

CSE 197

Field Study in Computer Science and Engineering

Restricted to CSE majors. Consent of the instructor and department approval required.  

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.