Welcome to CS 159!

The goal of the class is to bring students up to speed in two topics in modern machine learning research through a series of lectures. Students will then go on to conduct a mini research project at the end of the class. The two topics are:

  1. Predictive control & model-based reinforcement learning;
  2. Neural network theory: learning & generalisation.

Caltech listing: CS/CNS/EE/IDS 159 (3-0-6) TTh 2:30-4:00.
Office hours: MW 3:00-4:00.


Teaching assistants


  • Weeks 1–3: lectures on reinforcement learning & control;
  • Weeks 4–6: lectures on neural network theory;
  • Weeks 7–10: research project and special guest lectures.


Office hours will be held on the class Discord server. A signup link will be sent to students during the first week of class. Students are encouraged to use the Discord freely at other times to discuss homeworks, projects and any other class-related matters. If you do not have access to the Discord by the end of the first week of class, email an instructor.

It goes without saying, but please remember to treat other students with respect and don’t say anything you wouldn’t in a Caltech classroom.


The final grade will be based 20% on homeworks and 80% on the final project.


Students should complete homeworks in groups of two to three—submitting one solution document per group. All students in a group should understand all parts of the completed homework. If you don’t have a group, use the #matchmaking channel on Discord to find one.

Completed homeworks should be submitted on Gradescope. If you do not have access to the Gradescope by the end of the first week of class, email an instructor.

Homework schedule

Homeworks will be set on Thursday and due the Thursday after.

# Date set Date due Resources
1 4/01 4/08 hw1.zip
2 4/08 4/15 hw2.zip
3 4/22 4/29  
4 4/29 5/06  

Late policy

A group has a total of 48 late hours for the term. This means that if the first homework is submitted 47 hours late and the second homework is submitted two hours late, the group would incur no penalty on the first homework but score zero on the second.

Final project

The final project will be conducted during the last four weeks of class. Students should work in teams of two to three. Students may either pick one of the special topics to build their project on, or alternatively they may attempt to mix the two topics. Project proposals are due 5/13 and projects should be completed before the poster session on 6/03.

Lecture schedule

# Date Subject Resources  
0 3/30 Introduction pdf / vid  
    Topic 1—RL & Control    
1 3/30 Discrete MDPs pdf / vid  
2 4/01 Optimal Control pdf / vid  
3 4/06 Model Predictive Control pdf / vid  
4 4/08 Learning MPC pdf / vid / supp  
5 4/13 Model Learning in MPC pdf / vid  
6 4/15 Planning Under Uncertainty and Project Ideas pdf / vid  
    Topic 2—Neural Network Theory    
7 4/20 Neural Architecture Design zoom / pdf  
8 4/22 Network Function Spaces zoom  
9 4/27 Network Optimisation zoom  
10 4/29 Statistical Learning Theory zoom  
11 5/04 PAC-Bayesian Theory zoom  
12 5/06 Project Ideas zoom  
    Final Project & Guest Lectures    
13 5/11 Joe Marino    
14 5/13 Yasaman Bahri    
15 5/18 TBD    
16 5/20 TBD    
17 5/25 TBD    
18 5/27 TBD    
19 6/01 TBD    
20 6/03 Poster session