Four fundamental 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.120A6.042A
Discrete Mathematics and Proof for Computer Science
, 6.12006.042
Mathematics for Computer Science

6.12106.006
Introduction to Algorithms

One of 6.1903
Introduction to Low-level Programming in C and Assembly
, 6.1904
Introduction to Low-level Programming in C and Assembly
Two math subjects
One of 6.S084
Special Subject in Electrical Engineering and Computer Science
, 18.C06
Linear Algebra and Optimization
, 18.06
Linear Algebra

One of 6.37006.041
Introduction to Probability
, 6.38006.008
Introduction to Inference
, 18.05
Introduction to Probability and Statistics
Four system design subjects
6.19106.004
Computation Structures

6.20006.002
Electrical Circuits: Modeling and Design of Physical Systems

6.31006.302
Dynamical System Modeling and Control Design

6.90006.010
Engineering for Impact
Six elective subjects
Two from an EE Track
Two additional from a different 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 CIM2
EECS CI-M subjects
list
At least one of your completed subjects must be from the PLAB
Project-Based Design Laboratory for 6-2 (new) and 6-5
list
Notes
Students are welcome to petition custom EE Tracks, which may include non-EECS classes. Here are some illustrative examples:
  • RF circuit design: two of 6.2300[6.013], 6.2080[6.300], 6.6020[6.776]
  • Hardware Verification: 6.205[6.111], 6.S965(Fall 2024)
  • Semiconductor process modeling: 6.2600[6.152] and either 6.3900[6.036] or 6.3720[6.401]
  • Mechatronics: Many combinations make sense, but we recommend 6.221, and/or one of 6.3100/2.14/2.737, and/or 2.145/2.72/2.70, and/or one of 6.2222/6.6220, and/or one of 2.12/2.017/6.4210.
Students may also petition non-EECS classes for the EECS electives. Every petition is evaluated individually; these classes are not necessarily appropriate for every student. Remember that it's a good idea to submit a petition before you have registered for the class(es) in question.