CS 231A: Computer Vision: From 3D Reconstruction to Recognition
(Formerly 223B) An introduction to the concepts and applications in computer vision. Topics include: cameras and projection models, lowlevel image processing methods such as filtering and edge detection; midlevel vision topics such as segmentation and clustering; shape reconstruction from stereo, as well as highlevel vision tasks such as object recognition, scene recognition, face detection and human motion categorization. Prerequisites: linear algebra, basic probability and statistics.
Terms: not given this year, last offered Winter 2018

Units: 34

Grading: Letter or Credit/No Credit
CS 231N: Convolutional Neural Networks for Visual Recognition
Computer Vision has become ubiquitous in our society, with applications innsearch, image understanding, apps, mapping, medicine, drones, andnselfdriving cars. Core to many of these applications are the tasks of image classification, localization and detection. This course is a deep dive into details of neural network architectures with a focus on learning endtoend models for these tasks, particularly image classification. During the 10week course, students will learn to implement, train and debug their own neural networks and gain a detailed understanding of cuttingedge research in computer vision. The final assignment will involve training a multimillion parameter convolutional neural network and applying it on the largest image classification dataset (ImageNet). We will focus on teaching how to set up the problem of image recognition, the learning algorithms (e.g. backpropagation), practical engineering tricks for training and finetuning the networks and guide the students thr
more »
Computer Vision has become ubiquitous in our society, with applications innsearch, image understanding, apps, mapping, medicine, drones, andnselfdriving cars. Core to many of these applications are the tasks of image classification, localization and detection. This course is a deep dive into details of neural network architectures with a focus on learning endtoend models for these tasks, particularly image classification. During the 10week course, students will learn to implement, train and debug their own neural networks and gain a detailed understanding of cuttingedge research in computer vision. The final assignment will involve training a multimillion parameter convolutional neural network and applying it on the largest image classification dataset (ImageNet). We will focus on teaching how to set up the problem of image recognition, the learning algorithms (e.g. backpropagation), practical engineering tricks for training and finetuning the networks and guide the students through handson assignments and a final course project. Much of the background and materials of this course will be drawn from the ImageNet Challenge:
http://imagenet.org/challenges/LSVRC/2014/index. Prerequisites: Proficiency in Python; familiarity with C/C++;
CS 131 and
CS 229 or equivalents;
Math 21 or equivalent, linear algebra.
Terms: Spr

Units: 34

Grading: Letter or Credit/No Credit
Instructors:
Johnson, J. (PI)
;
Li, F. (PI)
;
Yeung, S. (PI)
;
Agrawal, S. (TA)
;
Bindhi, M. (TA)
;
CAI, M. (TA)
;
Cao, K. (TA)
;
Dornadula, A. (TA)
;
Fan, J. (TA)
;
Garzon, P. (TA)
;
Gupta, A. (TA)
;
Han, A. (TA)
;
Hsu, T. (TA)
;
Jebe, L. (TA)
;
Le Cleac'h, S. (TA)
;
Lin, P. (TA)
;
Liu, B. (TA)
;
Morales, D. (TA)
;
Nabulsi, Z. (TA)
;
Pan, B. (TA)
;
Pokle, A. (TA)
;
Sharma, P. (TA)
;
Shen, W. (TA)
;
Wang, O. (TA)
;
Xu, D. (TA)
CS 232: Digital Image Processing (EE 368)
Image sampling and quantization color, point operations, segmentation, morphological image processing, linear image filtering and correlation, image transforms, eigenimages, multiresolution image processing, noise reduction and restoration, feature extraction and recognition tasks, image registration. Emphasis is on the general principles of image processing. Students learn to apply material by implementing and investigating image processing algorithms in Matlab and optionally on Android mobile devices. Term project. Recommended:
EE261,
EE278.
Terms: Win

Units: 3

Grading: Letter (ABCD/NP)
CS 233: Geometric and Topological Data Analysis (CME 251)
Mathematical computational tools for the analysis of data with geometric content, such images, videos, 3D scans, GPS traces  as well as for other data embedded into geometric spaces. Global and local geometry descriptors allowing for various kinds of invariances. The rudiments of computational topology and persistent homology on sampled spaces. Clustering and other unsupervised techniques. Spectral methods for geometric data analysis. Nonlinear dimensionality reduction. Alignment, matching, and map computation between geometric data sets. Function spaces and functional maps.Networks of data sets and joint analysis for segmentation and labeling. The emergence of abstractions or concepts from data. Prerequisites: discrete algorithms at the level of 161; linear algebra at the level of
CME103.
Terms: not given this year, last offered Spring 2018

Units: 3

Grading: Letter or Credit/No Credit
CS 234: Reinforcement Learning
To realize the dreams and impact of AI requires autonomous systems that learn to make good decisions. Reinforcement learning is one powerful paradigm for doing so, and it is relevant to an enormous range of tasks, including robotics, game playing, consumer modeling and healthcare. This class will briefly cover background on Markov decision processes and reinforcement learning, before focusing on some of the central problems, including scaling up to large domains and the exploration challenge. One key tool for tackling complex RL domains is deep learning and this class will include at least one homework on deep reinforcement learning. Prerequisites: proficiency in python,
CS 229 or equivalents or permission of the instructor; linear algebra, basic probability.
Terms: Win

Units: 3

Grading: Letter or Credit/No Credit
Instructors:
Brunskill, E. (PI)
;
Cho, P. (TA)
;
Darke, E. (TA)
;
Gupta, A. (TA)
;
Keramati, R. (TA)
;
Liu, B. (TA)
;
Seshadri, S. (TA)
;
Sidrane, C. (TA)
;
Whang, J. (TA)
;
Wu, Y. (TA)
;
Zanette, A. (TA)
CS 236: Deep Generative Models
Generative models are widely used in many subfields of AI and Machine Learning. Recent advances in parameterizing these models using neural networks, combined with progress in stochastic optimization methods, have enabled scalable modeling of complex, highdimensional data including images, text, and speech. In this course, we will study the probabilistic foundations and learning algorithms for deep generative models, including Variational Autoencoders (VAE), Generative Adversarial Networks (GAN), and flow models. The course will also discuss application areas that have benefitted from deep generative models, including computer vision, speech and natural language processing, and reinforcement learning. Prerequisites: Basic knowledge about machine learning from at least one of
CS 221, 228, 229 or 230. Students will work with computational and mathematical models and should have a basic knowledge of probabilities and calculus. Proficiency in some programming language, preferably Python, required.
Terms: Aut

Units: 3

Grading: Letter or Credit/No Credit
Instructors:
Ermon, S. (PI)
;
Grover, A. (PI)
;
Choi, K. (TA)
;
Chu, C. (TA)
;
Khandwala, N. (TA)
;
Shu, R. (TA)
;
Song, J. (TA)
;
Song, Y. (TA)
CS 238: Decision Making under Uncertainty (AA 228)
This course is designed to increase awareness and appreciation for why uncertainty matters, particularly for aerospace applications. Introduces decision making under uncertainty from a computational perspective and provides an overview of the necessary tools for building autonomous and decisionsupport systems. Following an introduction to probabilistic models and decision theory, the course will cover computational methods for solving decision problems with stochastic dynamics, model uncertainty, and imperfect state information. Topics include: Bayesian networks, influence diagrams, dynamic programming, reinforcement learning, and partially observable Markov decision processes. Applications cover: air traffic control, aviation surveillance systems, autonomous vehicles, and robotic planetary exploration. Prerequisites: basic probability and fluency in a highlevel programming language.
Terms: Aut

Units: 34

Grading: Letter or Credit/No Credit
Instructors:
Kochenderfer, M. (PI)
;
Carroll, H. (TA)
;
Choudhury, S. (TA)
...
more instructors for CS 238 »
Instructors:
Kochenderfer, M. (PI)
;
Carroll, H. (TA)
;
Choudhury, S. (TA)
;
Dressel, L. (TA)
;
Gupta, J. (TA)
;
Ma, X. (TA)
;
Menda, K. (TA)
;
Morton, J. (TA)
CS 239: Advanced Topics in Sequential Decision Making (AA 229)
Survey of recent research advances in intelligent decision making for dynamic environments from a computational perspective. Efficient algorithms for single and multiagent planning in situations where a model of the environment may or may not be known. Partially observable Markov decision processes, approximate dynamic programming, and reinforcement learning. New approaches for overcoming challenges in generalization from experience, exploration of the environment, and model representation so that these methods can scale to real problems in a variety of domains including aerospace, air traffic control, and robotics. Students are expected to produce an original research paper on a relevant topic. Prerequisites:
AA 228/
CS 238 or
CS 221.
Terms: not given this year, last offered Winter 2018

Units: 34

Grading: Letter or Credit/No Credit
CS 240: Advanced Topics in Operating Systems
Recent research. Classic and new papers. Topics: virtual memory management, synchronization and communication, file systems, protection and security, operating system extension techniques, fault tolerance, and the history and experience of systems programming. Prerequisite: 140 or equivalent.
Terms: Spr

Units: 3

Repeatable for credit

Grading: Letter or Credit/No Credit
CS 241: Embedded Systems Workshop (EE 285)
Projectcentric building hardware and software for embedded computing systems. Students work on an existing project of their own or join one of these projects. Syllabus topics will be determined by the needs of the enrolled students and projects. Examples of topics include: interrupts and concurrent programming, deterministic timing and synchronization, statebased programming models, filters, frequency response, and highfrequency signals, low power operation, system and PCB design, security, and networked communication. Prerequisite:
CS107 (or equivalent).
Terms: not given this year, last offered Autumn 2017

Units: 2

Repeatable for credit

Grading: Letter or Credit/No Credit
Filter Results: