-
CS 3L. Introduction to Symbolic Programming
Class/laboratory schedule: One hour of lecture and six hours of laboratory per week and approximately five hours of self-scheduled programming laboratory. Average of three hours self-scheduled programming laboratory.
- CS C8. Foundations of Data Science
- CS 10. The Beauty and Joy of Computing
- CS 39J. The Art and Science of Photography: Drawing with Light
- CS 39K. Information Technology Goes to War
- CS 39N. The Beauty and Joy of Computing
-
CS 61A. Structure and Interpretation of Computer Programs
Class/laboratory schedule: Three hours lecture, one and one-half hours of discussion and one and one-half hours of self-paced programming laboratory per week.
- CS 61AS. The Structure and Interpretation of Computer Programs (Self-Paced)
-
CS 61B/61BL. Data Structures
Class/laboratory schedule: Three hours lecture, one hour of discussion, two hours of programming laboratory and an average of six hours or self scheduled programming laboratory per week. Recently, more and more students have been able to do laboratory work on their home systems.
-
CS 61CL/61C. Great Ideas of Computer Architecture (Formerly Machine Structure)
Class/laboratory schedule: Three hours of lecture, one hour of discussion, and two hours of in-laboratory exercises designed to help students develop skills needed for writing and debugging C and assembly language programs, and for simulating hardware using schematic diagram-based design and simulation.
-
CS 70. Discrete Math & Probability
Class/laboratory schedule: Three hours of lecture per week, or three hours of lecture and two hours of discussion per week.
- CS 88. Computational Structures in Data Science
- CS C100. Principles & Techniques of Data Science
-
CS 152. Computer Architecture & Engineering
Class/laboratory schedule: Three hours of lecture and one hour of discussion per week and one large design project.
-
CS 160. User Interfaces
Class/laboratory schedule: The course meets three hours a week for lectures covering assigned readings and new material. A one hour discussion section will be held each week
- CS 161. Computer Security
-
CS 162. Operating Systems and System Programming
Class/laboratory schedule: Three hours lecture and one hour of discussion per week.
-
CS 164. Programming Languages and Compilers
Class/laboratory schedule: Three hours lecture and one hour discussion per week. The lectures focus on fundamental techniques for language design and compiler implementation. The course also includes a significant semester-long project, in which teams of two students build a complete compiler.
- CS 168. Introduction to the Internet: Architecture and Protocols
-
CS 169. Software Engineering
Class/laboratory schedule: Three hours of lecture and one hour of discussion per week.
-
CS 170. Introduction to CS Theory
Class/laboratory schedule: Three hours lecture and one hour discussion per week.
-
CS 172. Computers and Complexity
Class/laboratory schedule: Three hours lecture and one hour discussion per week.
-
CS 174. Combinatorics and Discrete Probability
Class/laboratory schedule: Three hours of lecture and one hour of discussion per week.
- CS 176. Algorithms for Computational Biology
-
CS 184/284A. Foundations of Computer Graphics
Class/laboratory schedule: Three hours of lecture, one hour of discussion, and three hours of laboratory per week. This course provides a capstone design experience.
-
CS 186. Introduction to Database Systems
Class/laboratory schedule: Three hours of lecture and one hour of discussion per week.
-
CS 188. Introduction to Artificial Intelligence
Class/laboratory schedule: Three hours of lecture and one hour of discussion per week
- CS 189/289A. Introduction to Machine Learning
-
CS C191. Quantum Information Science and Technology
Class/laboratory schedule: Three hours of lecture per week.
- CS 194. Advanced Digital Animation
- CS 194. Advanced Operating Systems Structures and Implementation
- CS 194/294. Cellphones as a Computing Platform
- CS 194. Concurrency
- CS 194. Distributed Systems
- CS 194. Engineering Parallel Software
- CS 194. Hackatorium: Agile Software Development Lab
- CS 194/294. Image Manipulation and Computational Photography
- CS 194/294. Internet of Everyday Things
- CS 194. Introduction to Computer Systems
- CS 194/294. Introduction to Data Science
- CS 194. Introduction to Machine Learning
- CS 194/294. Large-Scale Decision Making in Complex Environments
- CS 194. Next Generation Technologies for Personalized, Interactive, Digital Learning
- CS 194. Programming the Cloud
- CS 194. Security
- CS 194. Self-Pace Pilot: Structure and Interpretation of Computer Programs
- CS 194/294. Software Engineering for Scientific Computing
- CS 194. The Art and Science of Digital Photography
- CS 194/294. The Art of Animation
- CS 195. Social Implications of Computing
- CS 250. VLSI Systems Design
- CS 252. Grad Computer Architecture
- CS 260B. User Interfaces to Computer Systems
- CS 262A/262B. Advanced Topics in Computer Systems
- CS C267. Applications of Parallel Computing
- CS 270. Combinatorial Algorithms and Data Structures
- CS 271. Randomness and Computation
- CS 273. Foundations of Parallel Computation
- CS 276. Cryptography
- CS C280. Computer Vision
- CS C281A. Statistical Learning Theory
- CS 281B. Advanced Topics in Learning and Decision Making
- CS 283. Advanced Computer Graphics
- CS 286B. Implementation of Data Base Systems
- CS 287. Advanced Robotics
- CS 288. Artificial Intelligence Approach to Natural Language Processing
- CS 294. Behavioral Data Mining
- CS 294. Interactive Device Design
- CS 294. Interactive Device Design
- CS 294. Randomized Algorithms for Matrices and Data
- CS 294. Social and Information Networks: theory and practice
- CS 301. Teaching Techniques
- CS 375. Teaching Techniques
-
EE 1. EECS: The First Course
Class/laboratory schedule: One-hour lecture and two hours lab per week.
- EE 16A. Designing Information Devices and Systems I
- EE 16B. Designing Information Devices and Systems II
-
EE 20. Structure and Interpretation of Systems and Signals
Class/laboratory schedule: Two 1.5-hour lectures and one three-hour laboratory per week are mandatory. A one-hour weekly discussion is optional.
-
EE 40. Introduction to Microelectronic Circuits
Class/laboratory schedule: Three one hour lectures and one three hour laboratory per week. One hour discussion per week.
-
EE 42/100. Introduction to Digital Electronics
Class/laboratory schedule: Two 1.5 hour lectures, one 1 hour discussion per week. Homework is 12%, and exams are 88% of the course grade. Students are strongly encouraged to take EE43 concurrently as exams cover concepts seen in EE43.
- EE 104. Linear and Nonlinear Circuits
-
EE 105. Microelectronic Devices and Circuits
Class/laboratory schedule: Two one-and-half-hour lectures and one three-hour laboratory per week.
- EE C106A/206A. Introduction to Robotics
- EE C106B/206B. Robotic Manipulation and Interaction
- EE 113. Power Electronics
-
EE 117. Electromagnetic Fields and Waves
Class/laboratory schedule: Three one hour classes per week and five minilabs (approximately one hour long each) to be completed during the course.
-
EE 118/218A. Introduction to Optical Engineering
Class/laboratory schedule: Two 90 minute lectures and a one hour discussion section per week. Seven half hour lab demonstration sessions per semester.
-
EE 120/120L. Signals and Systems
Class/laboratory schedule: Two two-hour lectures and one one-hour recitations per week.
-
EE 121. Introduction to Digital Communication Systems
Class/laboratory schedule: Three one-hour lectures and one-hour discussion per week.
-
EE 122. Introduction to Communication Networks
Class/laboratory schedule: Two ninety-minute lectures and one discussion section per week.
-
EE 123. Digital Signal Processing
Class/laboratory schedule: Three hours lecture, one-hour discussion and one-hour lab per week.
-
EE C125/C215A. Introduction to Robotics
Class/laboratory schedule: Three hours of lecture and one hour of recitation per week.
-
EE 126. Probability in Electrical Engineering and Computer Science
Class/laboratory schedule: 3 hours of lecture plus 1 hour of discussion per week.
- EE 127/227AT. Optimization Models in Engineering
- EE 128. Feedback Control Systems
-
EE 128. Feedback Control Theory
Class/laboratory schedule: Three hours lecture, three hours lab per week.
-
EE 130/230A. Integrated-Circuit Devices
Class/laboratory schedule: Three hours lecture and one hour discussion per week.
-
EE 131. Semiconductor Electronics
Class/laboratory schedule: Three hours lecture per week plus several one-hour mini-laboratories.
- EE 134. Fundamentals of Photovoltaic Devices
- EE 137A. Introduction to Electric Power Systems
- EE 137B. Introduction to Electric Power Systems
-
EE 140/240A. Analog Integrated Circuits
Class/laboratory schedule: Three hours of lecture and one hour lab per week.
-
EE 140/240A. Linear Integrated Circuits
Class/laboratory schedule: Three hours of lecture and one hour lab per week.
-
EE 142/242A. Integrated Circuits for Communication
Class/laboratory schedule: Three hours lecture and one hour discussion. There is an optional laboratory where students design, build, and test 900 MHz front-end building blocks such as amplifiers, mixers, and oscillators. Graduate students are required to do a challenging design project.
-
EE 143. Microfabrication Technology
Class/laboratory schedule: Three hours lecture and three hours lab per week.
- EE 144. Fundamental Algorithms for Systems Modeling, Analysis, and Optimization
- EE 144. Introduction to Computer-Aided Design of Integrated Circuits
- EE 145A. Sensors, Actuators and Electrodes
- EE C145B. Medical Imaging Signals and Systems
-
EE C145M/145M. Introductory Microcomputer Interfacing Laboratory
Class/laboratory schedule: Three hours lab and two hour lecture per week.
- EE 147/247A. Introduction to Microelectromechanical Systems
- EE 147. Introduction to Microelectromechanical Systems (MEMS)
-
EE 192. Mechatronic Design Laboratory
Class/laboratory schedule: 1 1/2 hour lecture, 1 hour lab demo and typically 10 hours lab work per week to complete weekly design checkpoints.
- EE 219A. Numerical Simulation and Modeling
- EE 219B. Logic Synthesis for Hardware Systems
- EE 219C. Computer-Aided Verification
- EE 221A. Linear System Theory
- EE 221B. Multivariable Feedback Systems
- EE 222. Nonlinear Systems - Analysis, Stability and Control
- EE 225A. Digital Signal Processing
- EE 225B. Digital Image Processing
- EE 225C. VLSI Signal Processing
- EE C225E. Principles of Magnetic Resonance Imaging
- EE 226A. Random Processes in Systems
- EE 227A. Introduction to Convex Optimization
- EE 227BT. Convex Optimization
- EE C227C. Convex Optimization and Approximation
- EE 229B. Error Control Coding
- EE 230B. Solid State Devices
- EE 232. Lightwave Devices
- EE C235. Nanoscale Fabrication
- EE 236A/236B. Quantum and Optical Electronics
- EE 240B. Advanced Analog Integrated Circuits
- EE 240C. Analysis and Design of VLSI Analog-Digital Interface Integrated Circuits
-
EE 241/241B. Advanced Digital Integrated Circuits
10 hour GSI only
- EE W242A. Advanced Integrated Circuits for Communications
- EE 246. Microelectromechanical Systems
- EE C247B. Intro to MEMS Design
- EE 249. Embedded System Design: Models, Validation, and Synthesis
- EE/CS C249A. Introduction to Embedded Systems
- EE C249B. Embedded Systems Design: Models, Validation and Synthesis
- EE 290A. Advanced Topics in Computer-Aided Design
- EE 290C. Advanced Topics in Circuit Design
- EE 290P. Advanced Topics in Bioelectronics
- EE 290Q. Advanced Topics in Communication Networks
- EE C291E. Hybrid Systems and Intelligent Control
- EE 301. Teaching Techniques for Electrical Engineering
- EE 375. Teaching Techniques for Electrical Engineering
- EECS 149. Introduction to Embedded Systems
- EECS 151. Introduction to Digital Design and Integrated Circuits
- Advanced Topics in Artificial Intelligence
- DS 10 (Data Sciences)
- Power Systems Engineering