MS PLAN II: Comprehensive Exam, Standard Option

M.S. Plan I - Thesis 

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
  • CSE 200 - Computability Complexity
  • CSE 201A - Advanced Complexity
  • CSE 202 - Algorithm Design and Analysis
  • CSE 203A - Advanced Algorithms
  • CSE 203B - Convex Optimization (*students that completed ECE273 or Math 245B will not be eligible to enroll or count the course)
  • CSE 205A - Logic in Computer Science
  • CSE 207A - Modern Cryptography
  • CSE 220 - Operating  Systems Concepts (not permitted for students that previously completed CSE 120).
  • CSE 221 - Operating Systems
  • CSE 222A - Computer Communication Networks
  • CSE 223B - Distributed Computing and Systems
  • CSE 224  - Graduate Networked Systems
  • CSE 231 - Advanced Compiler Design
  • CSE 234 - Data Systems for Machine Learning
  • CSE 237A - Embedded Systems
  • CSE 237B - Embedded Software
  • CSE 237C - Validation/Testing of Embedded Systems
  • CSE 237D - Embedded Systems 
  • CSE 240A - Principles of Computer Architecture
  • CSE 241A - VLSI Integration of Computing Circuitry
  • CSE 243A - VLSI CAD
  • CSE 244A - VLSI Test
  • CSE 210 - Principles of Software Engineering
  • CSE 216 - Human-Computer Interaction
  • CSE 218 - Advanced Topics in Software Engineering
  • CSE 230 - Principles of Programming Languages
  • CSE 232 - Principles of Database Systems
  • CSE 250A - AI: Probabilistic Reasoning and Learning
  • CSE 251A  - AI: Learning Algorithms
  • CSE 252A - Computer Vision I
  • CSE 252B - Computer Vision II
  • CSE 256 - Statistical NLP
  • CSE 260 - Parallel Computation
  • CSE 280A - Algorithms in Computational Biology
  • CSE 284 - Personal Genomics for Bioinformaticians

 

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- Convex Optimization (*students that completed ECE273 or Math 245B will not be eligible to enroll in CSE 203B or count the course)
  • CSE 234 - Data Systems for Machine Learning
  • CSE 250A - AI: Probabilistic Reasoning and Learning
  • CSE 251A - AI: Learning Algorithms
  • CSE 251B - Deep Learning
  • CSE 251C  -Machine Learning Theory
  • CSE 251U (formerly CSE 291) - Unsupervised Learning
  • CSE 252D  - Advanced Computer Vision (Prof. Manmohan Chandraker's Section Only)
  • CSE 254 - Statistical Learning
  • CSE 255 -  Data Mining  and Analytics
  • CSE 256 - Statistical Natural Language Processing
  • CSE 257 - Search and Optimization
  • CSE 258 - Recommender Systems and Web Mining
  • CSE 275 - Deep Learning for 3D data (recently renumbered from CSE 291)
  • CSE 291 - Advanced Data-Driven Text Mining
  • CSE 291 - Structured Prediction for Natural Language Processing 
  • CSE 291 - Deep Generative Models
  • CSE 291 - Generative AI
  • CSE 291- Machine Learning for Robotics
  • COGS 225 - Image Recognition (w/ Z. Tu)
  • ECE 273 - Convex Optimization and Applications
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/ECE 260B  - VLSI Integrated Circuits & Systems Design
  • 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 260C - VLSI Advanced Topics
  • ECE 284 - Special Topics in Computer Engineering 
Computer Systems
  • CSE 207B - Applied Cryptography 
  • CSE 220 - Operating Systems Concepts(not permitted for students that previously completed CSE 120).
  • CSE 221 - Operating Systems
  • CSE 222A - Computer Communication Networks
  • CSE 223B - Distributed Computing and Systems
  • CSE 224 - Graduate Networked Systems
  • CSE 227 - Computer Security 
  • CSE 234 - Data Systems for Machine Learning
  • CSE 260 - Parallel Computation 
  • CSE 262 - System Support for Applications of Parallel Computation 
  • CSE 291 - Adv. Analytics & ML Systems
  • CSE 291 - Adv. Topics in Classical Operating Systems
  • CSE 291 - Blockchain
  • CSE 291 - Cloud Computing
  • CSE 291 - Cloud Application Dependability
  • CSE 291 - Data Center Dependability
  • CSE 291 - Distributed Systems
  • CSE 291 - Internet Data Science for Cybersecurity
  • CSE 291-  Language Based Security
  • CSE 291 - Memory/storage technologies and applications
  • CSE 291 - Operating Systems in Datacenters 
  • CSE 291 - Quantum Computing System
  • CSE 291 - Storage Systems
  • CSE 291 - Topics in Embedded Computing and Communication
  • CSE 291 - Virtualization
  • CSE 291-  Wireless and Communication/Internet of Things 
Database Systems
  • CSE 232 - Principles of Database Systems
  • CSE 232B - Database System Implementation 
  • CSE 233 - Database Theory
  • CSE 234  - Data Systems for Machine Learning
  • CSE 291 - Management of Large-Scale Graph Data
  • CSE 291: Advanced Topic: Data Models in Big Data Era 
Graphics and Vision
  • CSE 163 - Advanced Comp Graphics
  • CSE 168 -Cmp 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 270 - Discrete Differential Geometry
  • CSE 272 - Advanced Image Synthesis
  • CSE 273 - Computational Photography
  • CSE 274 - Selected Topics in Graphics
  • CSE 275 - Deep Learning for 3D data 
  • CSE 291- Advances in 3D Reconstruction
  • CSE 291- Deep Learning for Sequences
  • CSE 291- Domain Adaptation in Computer Vision
  • CSE 291- Physical Simulation 
  • COGS 260 - Image Recognition
Human-Computer Interaction
  • CSE 165 - VR User Interaction and Technology
  • CSE 170/COGS 120 - Interaction Design
  • CSE 210 - Principles of Software Engineering
  • CSE 216/COGS 230 -  Topics in HCI
  • CSE 217 - Human-Centered Computing for Health (HC4H)
  • CSE 218 - Advanced Topics in Software Engineering
  • CSE 276B - Human Robot Interaction
  • CSE 276D - Healthcare Robotics
  • CSE 291 - Anti-Social Computing (Vaccaro)
  • CSE 291 - Critical Anaylsis and Computing (Pannuto)
  • CSE 291 - Design and Deployment of Internet of Things Devices
  • CSE 291 - Introduction to Computing Education Research
  • CSE 291 - Programmers are People Too (Coblenz)
  • CSE 291 - Security, Privacy, and User Experience 
  • CSE 291 - Towards Human-Centered Al
  • CSE 291 - Usable Security and Privacy
  • COGS 220 - Information Visualization 
  • COGS 231- (Design Seminar) Human Centered Programming (must be 4 units)
  • COGS 234 (previously COGS 260)-  Foundations for Future User Interfaces
  • COGS 260 - Crowdsourcing 
  • DSC 291 - Privacy-sensitive Data Systems
  • DSGN 201 - Design and Complex Sociotechnical Systems 
  • ECE 284: Mobile Health Device Design

EXCEPTIONS for Students that entered in fall 2022 or earlier ONLY: CSE 291 - Social Computing  (Vaccaro), CSE 291 - HCI for Health, CSE 250A - AI: Probabilistic Reasoning and Learning

Programming Languages, Compilers, and Software Engineering
  • CSE 210 - Principles of Software Engineering
  • CSE 211 - Software Testing and Analysis
  • CSE 218 - Advanced Topics in Software Engineering 
  • CSE 230 - Principles of Programming Languages
  • CSE 231 - Compiler Construction (formerly Advanced Compiler Design)
  • CSE 291-  Program Synthesis
  • CSE 291 - Programmers are People Too (Coblenz)
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 203B - Convex Optimization Formulations and Algorithms
  • CSE 205A - Logic in Computer Science
  • CSE 206A - Lattice Algorithms and Applications
  • CSE 207A - Modern Cryptography 
  • CSE 208 - Advanced Cryptography 
  • CSE 291 - Communication Complexity
  • CSE 291 - Quantum Complexity Theory
  • CSE 291 - Semidefinite Programming & Approximation Algorithms
  • CSE 291 -Topics in Advanced Cryptography

Exceptions for students that entered in fall 2021 or earlier: CSE 207B  - Applied Cryptography 

Robotics

Required:

  • CSE 276A Introduction to Robotics

Select Two Courses from the following:

  • CSE 276B Human-Robot Interaction
  • CSE 276C Mathematics for Robotics
  • CSE 276D Healthcare Robotics 
  • CSE 276E Robotic System Design and Implementation
  • CSE 276F Machine Learning for Robotics
  • CSE 251A  AI: Learning Algorithms
  • CSE 252B Computer Vision II

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. 
  • Maximum of ONE undergraduate CSE upper-division 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 cse-ms-advisors@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 (*must be completed for 4 units in one quarter. Units cannot be divided for 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.  
  • CSE 291 courses not counted toward breadth or depth are eligible for the MS Electives. CSE 291 must be 4 units exactly.
  • CSE 291 Navigating the Academic Job Market is NOT eligible for the MS Electives. This course will not count for the MS Degree requirements.

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, 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).

CSE-118/CSE-218 (Instructor Dependent/ If completed by same instructor)

CSE 120/CSE 220 (all instructors)

CSE 124/224. (MS students are permitted to enroll in CSE 224 only)
CSE-130/230 (*Only Sections previously completed with Sorin Lerner are restricted under this policy)
CSE 150A and CSE 150B, CSE150/ 250A **(Only sections previously completed with Lawrence Saul are restricted under this policy)
CSE 158/258 and DSC 190 Intro to Data Mining
CSE 176A/276D.

Comprehensive Plan: Capstone

Comp Exam Guidelines

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. 

CSE 293 and Research Units POLICIES

CSE 293 and/or Research Enrollment Pre-Approval

  • CSE 293 or Enrollment in other Research Sections (for example, an outside department by petition) must be pre-approved by the CSE MS Program. Please email cse-ms-advisors@ucsd.edu in advance of the enrollment to receive permission. This is the case even if the student is not counting the course for the MS Electives, the enrollment still requires pre-approval.
  • CSE 293 (4 units) or the petitioned research section is eligible to count once toward the MS Electives for the Comprehensive Degree Plan
  • The permitted units for CSE 293, or a pre-approved research section is exactly 4 units per quarter 
  • (Note, students are not permitted to enroll in CSE 299 (PhD students only) OR CSE 298 (Thesis Plan only)
  • Enrollment in other research sections (for example, an outside department) must be pre-approved by the CSE MS Program. Please email cse-ms-advisors@ucsd.edu in advance of the enrollment.