Prerequisites for CSE Undergraduate Classes
CSE Courses, Effective Spring 2013
| CSE Course | Title | Prerequisite | Notes |
| CSE 3 | Fluency in Information Technology |
None |
|
| CSE 4GS | Mathematical Beauty In Rome Lab | Math 10A or Math 20A.Co-requisite with CSE 6GS | |
| CSE 5A |
Introduction to Programming I |
A familiarity with high-school level algebra is expected, but this course assumes no prior programming knowledge. | |
| CSE 6GS | Mathematical Beauty in Rome Lab | Math 10A or Math 20A. Co-requisite with CSE 4GS. | |
| CSE 7 | Intro to Scientific Computation and Programming | ||
| CSE 8A |
Introduction to Computer |
Co-requisite of CSE 8AL | |
| CSE 8AL | Introduction to Computer Science: Java Lab | High School Algebra | |
| CSE 8B | Introduction to Computer Science: Java | CSE8A (pending) | |
| CSE 11 | Introduction to Computer Science and Object-Oriented Programming: Javva | High school algebra and a course in programming in a compiled language | |
| CSE 12 | Basic Data Structures and Object-Oriented Design | CSE 8B or CSE 11, co-requisite of CSE 15L | |
| CSE 15L | Software Tools and Techniques Laboratory | CSE 8B or CSE 11, co-requisite of CSE 12 | |
| CSE 20 | Discrete Mathematics |
CSE 8A or 8B or CSE 11. CSE 8B or CSE 11 may be taken concurrently with CSE 20/Math 15A. Equivalent to Math 15A |
|
| CSE 21 | Mathematics for Algorithm and Systems | CSE 20 or Math 15A. Credit not offered for both Math 15B and CSE 21. Equivalent to Math 15B | |
| CSE 30 | Computer Organization and Systems Programming | CSE 12, CSE 15L | |
| CSE 80 | UNIX Lab | CSE 8B or CSE 11 | |
| CSE 86 | C++ for Java Programmers | CSE 12 | |
| CSE 87 | Freshman Seminars | None | |
| CSE 90 | Undergraduate Seminar | Instructor permission is required | |
| CSE 91 | Perspective in Computer Science and Engineering | None | |
| CSE 92 | Fundamental Ideas in CSE | CSE 12 | |
| 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 21 or Math 15B | |
| CSE 101 | Design and Analysis of Algorithms | CSE 12, CSE 21or Math 15B or Math 100A or Math 103A and CSE 100 or Math 176 | |
| CSE 102 | File and Storage Structures | CSE 100 or Math 176, CSE 120, CSE 123A | |
| CSE 103 | A Practical Introduction to Probablilty and Statistics | Math 20A, Math 20B | |
| CSE 104 | Computational Linear Algebra | Math 20C | |
| CSE 105 | Theory of Computability | CSE 12 and CSE 21 or Math 15B or Math 100A or Math 103A | |
| CSE 107 | Introduction to Modern Cryptography | CSE 21 or Math 15B, CSE 101 or Math 188, CSE 105 or Math 166. | |
| CSE 110 | Software Engineering | CSE 12, CSE 21 or Math 15B | |
| CSE 111 | Object Oriented Software Design | CSE 70 or CSE 110 | |
| CSE 112 | Advanced Software Engineering | CSE 111 | |
| CSE 118 | Ubiquitous Computing | Successful completion of a major project course, including: CSE 131B, CSE 132B, Cog Sci 102C, Cog Sci 121, Cog Sci 184, ECE 111, ECE 118, ECE 191, ECE 192, COMT 111B, COMT 115, or ICAM 160B. Other project courses, experience, or accomplishments may be petitioned. | |
| CSE 120 | Principles of Computer Operating Systems | CSE 30, CSE 101 or Math 188, and CSE 70 or CSE 110 | |
| CSE 121 | Operating Systems: Architecture and Implementation | CSE 120 | |
| CSE 123 | Computer Networks | CSE 120 | |
| CSE 124 | Networked Services | CSE 120 | |
| CSE 125 | Software System Design and Implementation | Senior standing with substantial programming experience, and consent of instructor | |
| CSE 127 | Introduction to Computer Security | CSE 21 or Math 15B, and CSE 120 | |
| CSE 128 | Concurrency | CSE 120 | |
| CSE 130 | Programming Languages: Principles and Paradigms | CSE 12, CSE 21 or Math 15B, CSE 100 or Math 176, CSE 105 or Math 166 | |
| CSE 131 | Compiler Construction | CSE 100 or Math 176, CSE 105 or Math 166, CSE 130, and CSE 70 or 110. | |
| CSE 132A | Database System Principles | CSE 100 or Math 176 | |
| CSE 132B | Database System Applications | CSE 132 or CSE 132A | |
| CSE 134A | Web Server Languages | CSE 100 or Math 176 | |
| CSE 134B | Web Client languages | CSE 100 or Math 176 | |
| CSE 135 | Server-side Web Applications | CSE 100 or Math 176 | |
| CSE 136 | Enterprise-Class Web Applications | CSE 135 | |
| CSE 140 | Components and Design Techniques for Digital Systems | CSE 20 or Math 15A, and co-requisite with CSE 140L | |
| CSE 140L | Digital Systems Laboratory | CSE 20, and CSE 140 is a co-requisite | |
| CSE 141 | Introduction to Computer Architecture | CSE 140, CSE 140L. CSE 141L should be taken concurrently | |
| CSE 141L | Project in Computer Architecture | CSE 140, CSE 140L and CSE 110.CSE 141 should be taken concurrently | |
| CSE 142 | Advanced Digital Logic Design | CSE 140, CSE 140L | |
| CSE 143 | Microelectronic System Design | CSE 140, CSE 141 | |
| CSE 144 | Computer-Aided Design of VLSI Circuits | CSE 140, CSE 140L | |
| CSE 145 | Embedded System Design Project | ||
| CSE 146 | Introduction to Reliable Hardware | CSE 140 and CSE 140L | |
| CSE 148 | Advanced Processor Architecture Design Project | CSE 141 and CSE 141L | |
| CSE 150 | Introduction to Artificial Intelligence: Search and Reasoning | CSE 100 or Math 176 | |
| CSE 151 | Introduction to Artificial Intelligence | CSE 100 or Math 176 | |
| CSE 152 | Introduction to Computer Vision | Math 20F, CSE 100 or Math 176, CSE 101 or Math 188. Knowledge of C, C++ or Matlab programming | |
| CSE 153 | Cognitive Modeling | CSE 100 or Math. 176 | |
| CSE 155 | Computer Vision and Machine Learning | Consent of instructor | |
| CSE 160 | Introduction to Parallel Programming | CSE 100 or Math 176 | |
| CSE 166 | Image Processing | Math 20F, and CSE 100 or Math 176 | |
| CSE 167 | Computer Graphics | CSE 100, or Math 176 | |
| CSE 168 | Computer Graphics II: Rendering | CSE 167 | |
| CSE 169 | Computer Animation | CSE 167 | |
| CSE 181 | Molecular Sequence Analysis | CSE 100 or Math 176, CSE 101 or Math 188, BIMM 100 or Chem 114D | |
| CSE 182 | Biological Databases | CSE 100 or Math 176 | |
| CSE 184 | Computational Molecular Biology | BIOINF 181 and BIOINF 182 | |
| 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 | Consent of Instructor | |
| 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 | 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 |

