xx: Undergraduate Lower Division Courses 1xx: Undergraduate Upper Divison Courses 2xx: Graduate/PhD-Level Courses Computer Science CS 61A: The Structure and Interpretation of Computer Programs CS 61B: Data Structures CS 61C: Great Ideas of Computer Architecture (Machine Structures) CS 161: Computer Security CS 162: Operating Systems and System Programming CS 169A: Software Engineering CS 170: Efficient Algorithms and Intractable Problems CS 186: Introduction to Database Systems CS 188: Introduction to Artificial Intelligence CS 189/289: Introduction to Machine Learning CS 280: Computer Vision CS 282A: Designing, Visualizing and Understanding Deep Neural Networks CS 285: Deep Reinforcement Learning, Decision Making, and Control EECS 16B: Designing Information Devices and Systems II EECS 126: Probability and Random Processes EECS 127/227A: Optimization Models in Engineering EECS 208: Computational Principles for High-dimensional Data Analysis Mathematics MATH 53: Multivariable Calculus MATH 54: Linear Algebra and Differential Equations MATH 55: Discrete Mathematics MATH 104: Introduction to Analysis MATH 110: Linear Algebra MATH 113: Introduction to Abstract Algebra MATH 128A: Numerical Analysis MATH 185: Introduction to Complex Analysis Others STAT 155: Game Theory COGSCI 126: Perception INDENG 160: Nonlinear and Discrete Optimization