Prerequisites for CSE Undergraduate Classes

Updated 2.8.2017

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

*An assigned letter grade of "D" is considered passing, unless otherwise noted.

***Restrictions on class enrollment***

CSE Course

Title

Prerequisite

CSE 3

Fluency in Information Technology

None  

***Currently not restricted to certain majors / academic standings.***

CSE 4GS

Mathematical Beauty In Rome Lab

Math 10A or Math 20A. Co-requisite with CSE 6GS 

***Currently Dept. Approval is required, please use the  Enrollment Authorization System (EASy) to request a seat.***

CSE 5A

Introduction to Programming I

A familiarity with high-school level algebra is expected, but this course assumes no prior programming knowledge.

***Currently restricted to undergraduates. Graduate students, please use  Enrollment Authorization System (EASy) to request a seat.***

CSE 6GS

Mathematical Beauty in Rome Lab

Math 10A or Math 20A. Co-requisite with CSE 4GS.

***Currently Dept. Approval is required, please use  Enrollment Authorization System (EASy) to request clearance to be able to enroll/waitlist.***

CSE 7

Intro to Programming with Matlab

None  

***Currently not restricted to certain majors / academic standings.***

CSE 8A

Introduction to Computer
Science: Java

High school Algebra and a familiarity with computing concepts. 

***Currently restricted to undergraduates. Graduate students, please use  Enrollment Authorization System (EASy) to request clearance to be able to enroll/waitlist.***

CSE 8B

Introduction to Computer Science: Java (II)

CSE 8A

***Currently restricted to undergraduates. Graduate students, please use  Enrollment Authorization System (EASy) to request clearance to be able to enroll/waitlist.***

CSE 11

Introduction to Computer Science and Object-Oriented Programming: Java

High school algebra and a familiarity with computing concepts and a course in a compiled language.

***Currently restricted to undergraduates. Graduate students, please use  Enrollment Authorization System (EASy) to request clearance to be able to enroll/waitlist.***

CSE 12

Basic Data Structures and Object-Oriented Design

CSE 8B or CSE 11, co-requisite of CSE 15L

***Currently restricted to undergraduates. Graduate students, please use  Enrollment Authorization System (EASy) to request clearance to be able to enroll/waitlist.***

CSE 15L

Software Tools and Techniques Laboratory

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

***Currently restricted to undergraduates. Graduate students, please use  Enrollment Authorization System (EASy) to request clearance to be able to enroll/waitlist.***

CSE 20

Introduction to Discrete Mathematics

CSE 8B or CSE 11 with a passing grade of C- or better.

CSE 8B or CSE 11 may be taken concurrently with CSE 20. Students should submit a  Enrollment Authorization System (EASy) to be cleared to enroll after enrolling in CSE 8B/11. 

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.

*** Restricted to undergraduates. Graduate students, please use  Enrollment Authorization System (EASy) to request clearance to be able to enroll/waitlist.***

CSE 21

Mathematics for Algorithms and Systems

CSE 20 or Math 15A 

***Effective WI18: Restricted to undergraduates. Graduate students, please use  Enrollment Authorization System (EASy) to request clearance to be able to enroll/waitlist.***

CSE 30

Computer Organization and Systems Programming

CSE 12 and CSE 15L

***Effective WI18: Restricted to undergraduates. Graduate students, please use  Enrollment Authorization System (EASy) to request clearance to be able to enroll/waitlist.***

CSE 80

UNIX Lab

CSE 8B or CSE 11

***Currently not restricted to certain majors / academic standings.***

CSE 86

C++ for Java Programmers

CSE 12 with a passing grade of C- or better.

***Currently not restricted to certain majors / academic standings.***

CSE 87

Freshman Seminars

None; Priority given to Freshmen.

***Currently restricted to Freshman academic standing.***

CSE 90

Undergraduate Seminar

Consent of instructor.

***Currently not restricted to certain majors / academic standings.***

CSE 91

Perspective in Computer Science and Engineering

***Currently restricted to Computer Science and Engineering majors only.***

CSE 95

Tutor Apprenticeship

For those serving as CSE Tutors for the first time.

***Currently Dept. 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.  Special Studies Form required.  Department stamp 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 184A ) and ( CSE 5A or MAE 9 or CSE 30 or ECE 15)

***Currently restricted to undergraduates. Graduate students, please use  Enrollment Authorization System (EASy) to request clearance to be able to enroll/waitlist.***

CSE 101

Design and Analysis of Algorithms

Effective WI18:

CSE 100 or Math 176

*** Restricted to undergraduates. Graduate students, please use  Enrollment Authorization System (EASy) to request clearance to be able to enroll/waitlist.***

CSE 103

A Practical Introduction to Probability and Statistics

Effective Spring 2018: Math 20A and Math 20B and (CSE 21 or MATH 184A or MATH 154)

***Effective Spring 2018 will be restricted to undergraduates within the CS25, CS26, CS27, and CS28 majors. Non-CSE majors will be allowed as space permits. Non-CSE majors please use  Enrollment Authorization System (EASy) to request clearance to be able to enroll/waitlist.***

 

CSE 105

Theory of Computability

CSE 12, and CSE 15L, and (CSE 20 or Math 15A or MATH 109), and (CSE 21 or Math 184A or Math 100A or Math 103A)

***Currently restricted to Sophomore, Junior, and Senior standing. Graduate students will be allowed as space permits. Please use  Enrollment Authorization System (EASy) to request clearance to be able to enroll/waitlist.***

CSE 107

Introduction to Modern Cryptography

(CSE 21 or Math 15B or MATH 154 or MATH 184A), and CSE 101, and (CSE 105 or Math 166) 

*** Currently restricted to CS25, CS26, CS27, CS28, and EC26 majors. Non-CSE majors will be allowed as space permits. Non-CSE majors please use  Enrollment Authorization System (EASy) to request clearance to be able to enroll/waitlist.***

CSE 110

Software Engineering

CSE 100

***Currently restricted to junior or senior standing within the CS25, CS26, CS27, CS28, and EC26 majors. 

Sophomores and non-CSE majors will be allowed as space permits. Please use  Enrollment Authorization System (EASy) to request clearance to be able to enroll/waitlist.***

CSE 112

Advanced Software Engineering

CSE 110

*** Currently restricted to junior or senior standing. Graduate students will be allowed as space permits. Please use  Enrollment Authorization System (EASy) to request clearance to be able to enroll/waitlist.***

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

***Currently not restricted to certain majors / academic standings.***

CSE 120

Principles of Computer Operating Systems

CSE 30 and CSE 101 and CSE 110

***Currently restricted to Sophomore, Junior, and Senior standing. All other students, please use  Enrollment Authorization System (EASy) to request clearance to be able to enroll/waitlist.***

CSE 121

Operating Systems: Architecture and Implementation

 CSE 120

***Currently not restricted to certain majors / academic standings.***

CSE 123

Computer Networks

CSE 30 and CSE 101 and CSE 110 

***Currently restricted to SO, JR, SR standing within the CS25, CS26, CS27, CS28, and EC26 majors. All other students, please use  Enrollment Authorization System (EASy) to request clearance to be able to enroll/waitlist.***

CSE 124

Networked Services

For Fall 2017: CSE 120

Effective WI18: CSE 30, CSE 101, and CSE 110

*** Effective WI18: Restricted to CS25, CS26, CS27, CS28, and EC26 majors. Non-CSE majors will be allowed as space permits. Non-CSE majors please use  Enrollment Authorization System (EASy) to request clearance to be able to enroll/waitlist.***

CSE 125

Software System Design and Implementation

Senior standing with substantial programming experience, and consent of instructor.  Department stamp required.

CSE 127

Introduction to Computer Security

(CSE 21 or MATH 154 or MATH 184A), and (CSE 120 or CSE 123 or CSE 124)

***Currently restricted to SO, JR, SR standing within the CS25, CS26, CS27, CS28, and EC26 majors. All other students, please use  Enrollment Authorization System (EASy) to request clearance to be able to enroll/waitlist.***

CSE 130

Programming Languages: Principles and Paradigms

CSE 12, and (CSE 100 or Math 176), and (CSE 105 or Math 166)

***Currently not restricted to certain majors / academic standings.***

CSE 131

Compiler Construction

(CSE 100 or Math 176), and (CSE 105 or Math 166),  and (CSE 70 or CSE 110), and CSE 130

***Effective SP18: Restricted to undergraduates. Graduate students, please use  Enrollment Authorization System (EASy) to request clearance to be able to enroll/waitlist.***

CSE 132A

Database System Principles

CSE 100

***Currently restricted to Sophomore, Junior, and Senior standing of CS25, CS26, CS27, CS28, and EC26 majors. All other students, please use  Enrollment Authorization System (EASy) to request clearance to be able to enroll/waitlist.***

CSE 132B

Database System Applications

CSE 132A

***Currently restricted to Sophomore, Junior, and Senior standing. All other students, please use  Enrollment Authorization System (EASy) to request clearance to be able to enroll/waitlist.***

CSE 134B

Web Client Languages

CSE 100 or Math 176

***Effective WI18, course will be restricted to sophomore, junior, or senior standing. Graduate students will be allowed as space permits. Graduate students may use  Enrollment Authorization System (EASy) to request clearance to be able to enroll/waitlist.***

CSE 135

Online Database Analytics Applications

CSE 100 or Math 176

***Currently restricted to Sophomore, Junior, and Senior standing of CS25, CS26, CS27, CS28, and EC26 majors. All other students, please use  Enrollment Authorization System (EASy) to request clearance to be able to enroll/waitlist.***

CSE 136

Enterprise-class Web Applications

CSE 135

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

***Currently restricted to sophomore, junior, or senior standing. Graduate students will be allowed as space permits. (effective FA17). Please use  Enrollment Authorization System (EASy) to request clearance to be able to enroll/waitlist.***

CSE 140L

Digital Systems Laboratory

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

***Currently restricted to sophomore, junior, or senior standing. Graduate students will be allowed as space permits. (effective FA17). Please use  Enrollment Authorization System (EASy) to request clearance to be able to enroll/waitlist.***

CSE 141

Introduction to Computer Architecture

CSE 30 and CSE 140 and CSE 140L; CSE 141L should be taken concurrently.

***Currently restricted to sophomore, junior, or senior standing. Graduate students will be allowed as space permits. Please use  Enrollment Authorization System (EASy) to request clearance to be able to enroll/waitlist.***

CSE 141L

Project in Computer Architecture

 CSE 30 and CSE 110 and CSE 140 and CSE 140L; CSE 141 should be taken concurrently. 

***Currently restricted to sophomore, junior, or senior standing. Graduate students will be allowed as space permits. Please use  Enrollment Authorization System (EASy) to request clearance to be able to enroll/waitlist.***

CSE 143

Microelectronic System Design

CSE 140 or CSE 170A or ECE 81

***Currently not restricted to certain majors / academic standings.***

CSE 144

Computer-Aided Design of VLSI Circuits

 CSE 140 and CSE 140L

***Currently not restricted to certain majors / academic standings.***

CSE 145

Embedded System Design Project

CSE 30 and application required 

***Currently not restricted to certain majors / academic standings.***

CSE 148

Advanced Processor Architecture Design Project

CSE 141 and CSE 141L

***Effective WI18, course will be restricted to sophomore, junior, or senior standing. Graduate students will be allowed as space permits. Graduate students may use  Enrollment Authorization System (EASy) to request clearance to be able to enroll/waitlist.***

CSE 150

Introduction to Artificial Intelligence: Search and Reasoning

CSE 100

***Currently restricted to Sophomore, Junior, and Senior standing of CS25, CS26, CS27, CS28, and EC26 majors. All other students, please use  Enrollment Authorization System (EASy) to request clearance to be able to enroll/waitlist.***

CSE 151

Introduction to Artificial Intelligence

CSE 100 or Math 176

 

***Effective WI18: Restricted to SO, JR, SR standing within the CS25, CS26, CS27, CS28, and EC26 majors. All other students, please use  Enrollment Authorization System (EASy) to request clearance to be able to enroll/waitlist.***

CSE 152

Introduction to Computer Vision 

Math 20F, and CSE 100 or Math 176, and CSE 101 or Math 188. Knowledge of C, C++ or Matlab programming

***Restricted to SO, JR, SR standing within the CS25, CS26, CS27, CS28, and EC26 majors. All other students, please use  Enrollment Authorization System (EASy) to request clearance to be able to enroll/waitlist.***

CSE 153

Cognitive Modeling

CSE 100 or Math 176

***Currently not restricted to certain majors / academic standings.***

CSE 156

Statistical Natural Language Processing

CSE 101 and (MATH 20C or MATH 31BH) and (MATH 18 or MATH 31AH) and (CSE 150 or CSE 151 or COGS 118A)

*Currently restricted to SO, JR, and SR students. Graduate students, please use  Enrollment Authorization System (EASy) to request clearance to be able to enroll/waitlist.***

CSE 158

Recommender Systems & Web Mining

CSE 100

**Currently restricted to undergraduates. Graduate students, please use  Enrollment Authorization System (EASy) to request clearance to be able to enroll/waitlist.***

CSE 160

Introduction to Parallel Programming

CSE 100 or Math 176

***Currently not restricted to certain majors / academic standings.***

CSE 163

Advanced Computer Graphics

CSE 167

**Currently restricted to Junior and Senior standing. Graduate students, please use  Enrollment Authorization System (EASy) to request clearance to be able to enroll/waitlist.***

CSE 164

GPU Programming

CSE 167

***Currently not restricted to certain majors / academic standings.***

CSE 165

3D User Interaction

CSE 167

***Currently not restricted to certain majors / academic standings.***

CSE 166

Image Processing

Math 20F, and CSE 100 or Math 176

***Currently not restricted to certain majors / academic standings.***

CSE 167

Computer Graphics

CSE 100 or Math 176 with a passing grade of C- or better

***Currently not restricted to certain majors / academic standings.***

CSE 168

Computer Graphics II: Rendering

CSE 167

***Currently not restricted to certain majors / academic standings.***

CSE 169

Computer Animation

CSE 167

***Currently not restricted to certain majors / academic standings.***

CSE 170/ COGS 120

 Interaction Design

CSE 8A or CSE 11, and COGS 1 or COGS 187A or DSGN 1

***Currently not restricted to certain majors / academic standings.***

CSE 180

Biology  Meets Computing

BILD 1

***Currently not restricted to certain majors / academic standings.CSE majors may not use this course towards UD CSE Electives***

CSE 181

Molecular Sequence Analysis

CSE 100 or Math 176, and CSE 101 or Math 188, and BIMM 100 or Chem 114C  

**Currently restricted to Bioinformatics undergraduates. ***

CSE 182

Biological Databases

CSE 100 or Math 176

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

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

**Currently restricted to Bioinformatics majors with a JR or SR standing**

CSE 190

Topics in Computer Science and Engineering

Prerequisites vary per course per instructor. Department stamp required

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 approval of the department. Department stamp required. An application for Special Studies must be filed with the Registrar's office after approval from the instructor and the department chair.

CSE 198

Directed Study Group

Consent of instructor. Department stamp required. An application for Special Studies must be filed with the Registrar's Office after approval from the instructor and the department chair.

CSE 199

Independent Study for Undergraduates

Consent of instructor. Department stamp required. An application for Special Studies must be filed with the Registrar's Office after approval from the instructor and the department chair.

CSE 199H

CSE Honors Thesis Research for Undergraduates

Admission to the CSE Department Honors program.  Consent of instructor. Department stamp required.