The Spring 2020 iteration of the course will be taught virtually for the entire duration of the quarter. (more information available here )
Unless otherwise specified the lectures are Tuesday and Thursday 12pm to 1:20pm.
Discussion sections will (generally) be Fridays 12:30pm to 1:20pm. Check Piazza for any exceptions.
Lectures and discussion sections will be both on Zoom, and they will be recorded for later access from Canvas.
This is the syllabus for the Spring 2020 iteration of the course.
The syllabus for the Spring 2019, Spring 2018, Spring 2017, Winter 2016
and Winter 2015 iterations of this course
are still available.
Event Type  Date  Description  Course Materials 

Lecture 1  Tuesday April 7 
Course Introduction Computer vision overview Historical context Course logistics 
[Course Overview] [History of Computer Vision] 
Lecture 2  Thursday April 9 
Image Classification The datadriven approach Knearest neighbor Linear classification I 
[slides]
[python/numpy tutorial] [image classification notes] [linear classification notes] 
Discussion Section  Friday April 10 
Python / numpy / Google Cloud 
[python/numpy tutorial] [Google Cloud tutorial] 
Lecture 3  Tuesday April 14 
Loss Functions and Optimization Linear classification II Higherlevel representations, image features Optimization, stochastic gradient descent 
[slides]
[linear classification notes] [optimization notes] 
Lecture 4  Thursday April 16 
Neural Networks and Backpropagation Backpropagation Multilayer Perceptrons The neural viewpoint 
[slides]
[backprop notes] [linear backprop example] [derivatives notes] (optional) [Efficient BackProp] (optional) related: [1], [2], [3] (optional) 
Discussion Section  Friday April 17 
Backprop tutorial 
[slides] [annotated slides] 
Lecture 5  Tuesday April 21 
Convolutional Neural Networks History Convolution and pooling ConvNets outside vision 
[slides]
ConvNet notes 
A1 Due  Wednesday April 22 
Assignment #1 due kNN, SVM, SoftMax, twolayer network 
[Assignment #1] 
Lecture 6  Thursday April 23 
Deep Learning Hardware and Software CPUs, GPUs, TPUs PyTorch, TensorFlow Dynamic vs Static computation graphs 
[slides]

Discussion Section  Friday April 24 
Projects 
[proposal description] [slides] 
Lecture 7  Tuesday April 28 
Training Neural Networks, part I Activation functions, data processing Batch Normalization, Transfer learning 
[slides]
Neural Nets notes 1 Neural Nets notes 2 Neural Nets notes 3 tips/tricks: [1], [2], [3] (optional) Deep Learning [Nature] (optional) 
Proposal due  Monday April 27 
Project Proposal due  
Lecture 8  Thursday April 30 
Training Neural Networks, part II Update rules, hyperparameter tuning, Learning rate scheduling, data augmentation 
[slides]
Neural Nets notes 3 
Discussion Section  Friday May 1 
Intro to Pytorch and Tensorflow 
[PyTorch Colab Walkthrough] (See Canvas for recording) 
Lecture 9  Tuesday May 5 
CNN Architectures AlexNet, VGG, GoogLeNet, ResNet, etc 
[slides]
AlexNet, VGGNet, GoogLeNet, ResNet 
A2 Due  Wednesday May 6 
Assignment #2 due Neural networks, ConvNets 
[Assignment #2] 
Lecture 10  Thursday May 7 
Recurrent Neural Networks RNN, LSTM Language modeling Image captioning, Vision + Language Attention 
[slides]
DL book RNN chapter (optional) mincharrnn, charrnn, neuraltalk2 
Discussion Section  Friday May 8 
Midterm Review  [slides] 
Midterm  Tuesday May 12 
Takehome midterm  
Lecture 11  Thursday May 14 
Generative Models PixelRNN/PixelCNN Variational autoencoders Generative adversarial networks 
[slides]
VAE Notes NeurIPS 2016 GAN Tutorial 
Discussion Section  Friday May 15 
Tensorflow Tutorial 
[Colab Link] 
Lecture 12  Tuesday May 19 
Detection and Segmentation Semantic segmentation Object detection Instance segmentation 
[slides]

Milestone  Wednesday May 20 
Project Milestone due  
Lecture 13  Thursday May 21 
Visualizing and Understanding Feature visualization and inversion Adversarial examples DeepDream and style transfer 
[slides]
DeepDream neuralstyle fastneuralstyle 
Discussion Section  Friday May 22 
Detection Software 
[slides] 
Lecture 14 Guest Lecture 
Tuesday May 26 
Fairness Accountability Transparency and Ethics in AI Timnit Gebru, Emily Denton 
[slides] 
A3 Due  Wednesday May 27 
Assignment #3 due RNNs, LSTMs, Network Visualization, Style Transfer, GANs 
[Assignment #3] 
Lecture 15  Thursday May 28 
HumanCentered Artificial Intelligence FeiFei Li 
[slides] 
Discussion Section  Friday May 29 
Learning on Videos  [slides] 
Lecture 16 Guest Lecture 
Tuesday June 2 
3D Deep Learning Hao Su 
[slides] 
Lecture 17  Thursday June 4 
Deep Reinforcement Learning Policy gradients, hard attention QLearning, ActorCritic 
[slides]

Final Project Report Due  Sunday June 7 
Project report due  
Final Project Video Presentation Due  Tuesday June 9 
Video presentation due  
Lecture 18  Tuesday June 9 
Scene Graphs Visual Relationships Graph Neural Networks 
[slides]
