Two programming skills subjects
One of 6.100A6.0001
Introduction to Computer Science Programming in Python
, 6.100L6.000L
Introduction to Computer Science and Programming

One of 6.1903
Introduction to Low-level Programming in C and Assembly
, 6.1904
Introduction to Low-level Programming in C and Assembly
One discrete math subject
6.12006.042
Mathematics for Computer Science
One 6-3 math subject
18.05
Introduction to Probability and Statistics

18.06
Linear Algebra

18.C06
Linear Algebra and Optimization
6.37006.041
Introduction to Probability

6.38006.008
Introduction to Inference

6.C06
Linear Algebra and Optimization
Three foundation subjects
6.10106.009
Fundamentals of Programming

6.12106.006
Introduction to Algorithms

6.19106.004
Computation Structures
Three header subjects
6.10206.031
Software Construction

One of 6.14006.045
Computability and Complexity Theory
, 6.12206.046
Design and Analysis of Algorithms

6.18006.033
Computer Systems Engineering
Six elective subjects
Two additional from a CS Track
Two additional from a different AI+D, CS, or EE Track
Two additional from EECS
All subjects of at least 12 units that satisfy departmental undergraduate requirements in 6-1, 6-2, 6-3, 6-4, or 6-5
list

Additional Constraints
At least two of your completed subjects must be from the AUS2
Advanced undergraduate subject
list
At least two of your completed subjects must be from the CIM2
EECS CI-M subjects
list
At least one of your completed subjects must be from the II
Independent inquiry
list
Notes
Starting in Fall 2023, the following subjects can be petitioned as substitutions for the 6.1800[6.033] systems header requirement:Note that none of these alternative subjects are CI-M, so you will need to satisfy the CI-M additional constraint with other EECS department CI-Ms.