M.S. Plan II Comprehensive Exam, Standard Option
MS Plan II: Comprehensive Exam, Standard Option
Computer Science or Computer Engineering
40 units
BREADTH (12 units)
 Computer Science majors must take one course from each of the three breadth areas: Theory, Systems, and Applications.
 Computer Engineering majors must take two courses from the Systems area AND one course from either Theory or Applications.
 Courses must be taken for a letter grade and completed with a grade of B or higher.
Theory  Systems  Applications 




DEPTH (12 units)
 Computer Science majors must take three courses (12 units) from one depth area on this list.
 Computer Engineering majors must take three courses (12 units) from the Computer Engineering depth area only.
 Courses must be taken for a letter grade.
 Artificial Intelligence

 CSE 203B /CSE 291: Convex Optimization (*students that completed ECE273 or Math 245B will not be eligible to enroll in CSE 203B or count the course)
 CSE 250A  AI: Probabilistic Reasoning and Learning
 CSE 251A (formerly CSE 250B)  AI: Learning Algorithms
 CSE 251B (formerly CSE 253)  Neural Networks/Pattern Recognition
 CSE 251C (Formery CSE 250C) Machine Learning Theory
 CSE 252C  Advanced Computer Vision (Prof. Chandraker's Section)
 CSE 254  Statistical Learning
 CSE 255  Data Mining and Predictive Analysis
 CSE 256  Statistical Natural Language Processing
 CSE 257 (Formerly CSE 291) Search and Optimization
 CSE 258  Recommender Systems and Web Mining
 CSE 258A  Cognitive Modeling
 CSE 291  3DCentric Machine Learning
 CSE 291  Advanced Statistical NLP
 CSE 291  Advances in 3D Reconstruction
 CSE 291  Advanced DataDriven Text Mining
 CSE 291  Advanced Deep Learning (*Cottrell Section Only)
 CSE 291  Adv. Analytics and ML Systems
 CSE 291  Algorithms for Big Data
 CSE 291  Automated Reasoning in AI
 CSE 291  Continual Learning
 CSE 291: Data Systems for Machine Learning
 CSE 291  Deep Learning for Sequences
 CSE 291  Graph Mining/Network Analysis
 CSE 291  Latent Variable Models
 CSE 291  Machine Learning on 3D Data
 CSE 291 Machine Learning on Geometrical Data
 CSE 291 Machine Learning Meets Geometry
 CSE 291  Probabilistic Approaches to Unsupervised Learning
 CSE 291  Recommender Systems
 CSE 291 (Renumbered to CSE 257) Search and Optimization
 CSE 291  Statistical Learning Theory
 CSE 291  Statistical Learning and Combinatorics
 CSE 291  Topics in Statistical NLP
 CSE 291  Trustworthy Machine Learning (Chaudhuri)
 CSE 291 Unsupervised Learning
 COGS 243  Statistical Data Analysis
 COGS 225 (Formerly COGS260)  Image Recognition (w/ Z. Tu)
 DSC 291 Data Science: Scientists/Engineers (Yoav Freund)
 ECE 273  Convex Optimization and Applications
 ECE 276C  Robot Reinforcement Learning
 ECE 285  Intel Vehicles/Asst Systems
 ECE 285 SpecTopic/Signal&Imag/Robotic Machine Learning/Image Process
 MAE 242  Robot Motion Planning
 Computer Engineering

 CSE 231  Advanced Compiler Design
 CSE 237A  Introduction to Embedded Computing
 CSE 237B  Software for Embedded Systems
 CSE 237C  Validation and Testing of Embedded Systems
 CSE 237D  Design Automation and Prototyping for Embedded Systems
 CSE 240A  Principles of Computer Architecture
 CSE 240B  Parallel Computer Architecture
 CSE 240C  Advanced Microarchitecture
 CSE 240D  Application Specific Processors
 CSE 241A  VLSI Integration of Computing Circuitry
 CSE 243A  Introduction to Synthesis Methodologies in VLSI CAD
 CSE 244A  VLSI Test
 CSE 245  Computer Aided Circuit Simulation and Verification
 CSE 248  Algorithmic and Optimization Foundations for VLSI CAD
 CSE 260  Parallel Computation
 CSE 291  Memory/storage technologies and applications
 CSE 291  Topics in Embedded Computing and Communication
 ECE 260A  VLSI Digital System Algorithms & Architectures
 ECE 260B  VLSI Integrated Circuits & Systems Design
 ECE 260C  VLSI Advanced Topics
 ECE 284  Special Topics in Computer Engineering
 Computer Systems

 CSE 207B (Formerly CSE 291)  Applied Cryptography
 CSE 221  Operating Systems
 CSE 222A  Computer Communication Networks
 CSE 222B  Internet Algorithmics
 CSE 223A  Principles of Distributed Computing
 CSE 223B  Distributed Computing and Systems
 CSE 224 (formerly CSE 291)  Graduate Networked Systems
 CSE 227  Computer Security
 CSE 260  Parallel Computation
 CSE 262  System Support for Applications of Parallel Computation
 CSE 291  Adv. Analytics & ML Systems
 CSE 291  Cloud Computing
 CSE 291  Data Systems for Machine Learning
 CSE 291  Distributed Systems
 CSE 291 Language Based Security
 CSE 291  Memory/storage technologies and applications
 CSE 291  Storage Systems
 CSE 291  Topics in Embedded Computing and Communication
 CSE 291  Virtualization
 Database Systems

 CSE 232  Principles of Database Systems
 CSE 232B  Database System Implementation
 CSE 233  Database Theory
 CSE 291  Advanced Analytics
 CSE 291  MGMT LargeScale Graph Data
 CSE 291: Adv. Analytics and ML Systems
 CSE 291: Advanced Topic: Data Models in Big Data Era
 CSE 291: Data Systems for Machine Learning
 Graphics and Vision

 CSE 163  Advanced Comp Graphics
 CSE 168  Comp Graphics II Rendering
 CSE 252A  Computer Vision I
 CSE 252B  Computer Vision II
 CSE 252C  Selected Topics in Vision and Learning
 CSE 252D  Advanced Computer Vision
 CSE 272  Advanced Image Synthesis
 CSE 274  Selected Topics in Graphics
 CSE 291  3DCentric Machine Learning
 CSE 291: Advances in 3D Reconstruction
 CSE 291  Computational Photography
 CSE 291: Deep Learning for Sequences
 CSE 291  Pattern Recognition
 CSE 291: Physical Simulation
 CSE 291: Recent Advances in Computer Vision
 COGS 260  Image Recognition
 HumanComputer Interaction

 CSE 170/COGS 120  Interaction Design
 CSE 216  Research Topics in HCI
 CSE 218  Advanced Topucs in Software Engineering
 CSE 250A  AI: Probabilistic Reasoning and Learning
 CSE 291  HCI for Health
 CSE 291  Computer Science Education Research
 COGS 220  Information Visualization
 COGS 231 Human Centered Programming
 COGS 260  Crowdsourcing Research
 COGS 260  Foundations for Future User Interfaces
 CSE 219  1 unit seminar (recommended but does NOT fulfill the depth requirement)
 Programming Languages, Compilers, and Software Engineering

 CSE 210  Principles of Software Engineering
 CSE 218  Advanced Topics in Software Engineering
 CSE 230  Principles of Programming Languages
 CSE 231  Advanced Compiler Design
 CSE 291  Program Synthesis
 Bioinformatics

 CSE 280A  Algorithms in Computational Biology
 CSE 282  Bioinformatics II: Sequence and Structure Analysis  Methods and Applications
 CSE 283  Bioinformatics III: Functional Genomics
 CSE 284  Personal Genomics
 MATH 283  Statistical Methods in Bioinformatics
 Theoretical Computer Science

 CSE 200  Computability and Complexity
 CSE 201A  Advanced Complexity
 CSE 202  Algorithm Design and Analysis
 CSE 203A  Advanced Algorithms
 CSE 205  Logic in Computer Science
 CSE 206A  Lattice Algorithms and Applications
 CSE 207  Modern Cryptography
 CSE 207B (Formerly CSE 291)  Applied Cryptography
 CSE 208  Advanced Cryptography
 CSE 291  Communication Complexity
 CSE 291 Topics in Advanced Cryptography
 Robotics

Mandatory:
 CSE 276A Introduction to Robotics
Choose One or Two Courses:
 CSE 276B Human Robot Interaction
 CSE 276C Mathematics for Robotics
 CSE 276D Healthcare Robotics
Choose Zero or One Courses:
 CSE 251A (Formerly CSE 250B)Artificial Intelligence
 CSE 252B Computer Vision
ELECTIVES AND RESEARCH (16 Units)
 Electives are chosen from graduate courses in CSE, ECE and Mathematics, or from other departments as approved, per the ELECTIVES EXCEPTION LIST.
 Elective courses must be completed for letter grade.
 A Maximum of ONE undergraduate CSE upperdivision course from approved ELECTIVES EXCEPTION LIST is permitted towards Electives.
 Note, Graduate/Undergraduate Course Restriction policies below. In addition, seats are not guaranteed for approved list of CSE undergraduate course. Undergraduate students receive priority seating. Please direct questions regarding exception list to csemsadvisors@eng.ucsd.edu
 These requirements are the same for both Computer Science and Computer Engineering majors.
 Students electing Plan II may choose to pursue a research project with an adviser while enrolled in four units of research, normally CSE 293. A maximum of four units of research may be applied to the Electives and Research requirement.
 Seminar and teaching units may not count toward the Electives and Research requirement, although both are encouraged.
Graduate/Undergraduate Course Restrictions
 MS Students who completed one of the following six undergraduate versions of the course at UCSD are not allowed to enroll or count the graduate version of the course. For example, if a student completes CSE 130 at UCSD at UCSD, they may not take CSE 230 for credit toward their MS degree.
 MS students may not attempt to take both the undergraduate and graduate version of these six courses for degree credit. In order words, only one of these two courses may count toward the MS degree (if eligible under current breadth, depth, or electives).
CSE118/CSE218 (Instructor Dependent/ If completed by same instructor) 
CSE 124/224. (MS students are permitted to enroll in CSE 224 only) 
CSE130/230 (*Only Sections previously completed with Sorin Lerner are restricted under this policy) 
CSE 150/250A **(Only sections previously completed with Lawrence Saul are restricted under this policy) 
CSE 158/258 
CSE 176A/276D. 
Comprehensive Plan: Capstone
Per this plan, the student must pass the comprehensive examinations designed to test the student’s knowledge in fundamental computer science material. The comprehensive exam is a practical exam designed to evaluate each student's ability to apply what they have learned. In order to ensure that the exam is relevant and presented in context, it is integrated into host courses.