Course Notes for GSIs

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 selfscheduled programming laboratory. Average of three hours selfscheduled 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 onehalf hours of discussion and one and onehalf hours of selfpaced programming laboratory per week.
 CS 61AS. The Structure and Interpretation of Computer Programs (SelfPaced)

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 inlaboratory exercises designed to help students develop skills needed for writing and debugging C and assembly language programs, and for simulating hardware using schematic diagrambased 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 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 semesterlong 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. LargeScale 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. SelfPace 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 Computers
 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: Onehour 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.5hour lectures and one threehour laboratory per week are mandatory. A onehour 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 oneandhalfhour lectures and one threehour laboratory per week.
 EE C106A/206A. Introduction to Robotics
 EE C106B. 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 twohour lectures and one onehour recitations per week.

EE 121. Introduction to Digital Communication Systems
Class/laboratory schedule: Three onehour lectures and onehour discussion per week.

EE 122. Introduction to Communication Networks
Class/laboratory schedule: Two ninetyminute lectures and one discussion section per week.

EE 123. Digital Signal Processing
Class/laboratory schedule: Three hours lecture, onehour discussion and onehour 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. IntegratedCircuit 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 onehour minilaboratories.
 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 frontend 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 ComputerAided 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 194. Power Systems Engineering
 EE 198. Directed Group Study for Advanced Undergraduates
 EE 219A. Numerical Simulation and Modeling
 EE 219B. Logic Synthesis for Hardware Systems
 EE 219C. ComputerAided 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 AnalogDigital 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 ComputerAided 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)