15-780, Spring 2018

Graduate Artificial Intelligence


Key Information

Mondays + Wednesdays, 10:30am - 11:50am, MM 103

Priya Donti, Vaishnavh Nagarajan, Ritesh Noothigattu, Chris Yu

30% exams, 45% homework, 15% project, 10% participation

This course is targeted at graduate students who are interested in learning about artificial intelligence. The focus is on modern AI techniques. The course also covers techniques from the intersection of AI and other disciplines such as integer programming, continuous optimization, and game theory. The course content is profiled so as to not have too much overlap with narrower specialized AI courses offered at CMU.


There are no formal pre-requisites for the course, but students should have previous programming experience (programming assignments will be given in Python), as well as some general CS background. Please see the instructors if you are unsure whether your background is suitable for the course.

Office Hours

Name Email Hours Location
J. Zico Kolter zkolter@cs.cmu.edu By appointment GHC 7115
Ariel Procaccia arielpro@cs.cmu.edu By appointment GHC 7002
Priya Donti pdonti@cs.cmu.edu Monday, 2-3pm GHC 7511
Vaishnavh Nagarajan vaishnavh@cs.cmu.edu Friday, 2-3pm GHC 9015
Ritesh Noothigattu riteshn@cmu.edu Thursday, 12-1pm GHC 8013
Chris Yu christoy@cs.cmu.edu Tuesday, 2-3pm Smith 232

To schedule an appointment with Prof. Kolter or Prof. Procaccia, please send an email with your availability, as well as the topics you would like to discuss (e.g., specific homework problems or lectures).

You may also reach out for discussion/questions on our course Piazza page.

Draft Schedule (Subject to change)

Lecture videos from 2017 are available at this link.

Date Topic Instructor Slides Video (2017)
1/15 MLK Day
1/17 Introduction Kolter+Procaccia link
1/22 Search I Procaccia link link
1/24 Search II Procaccia link link
1/29 Convex Optimization Kolter link link
1/31 Linear Programming I: Basics Kolter link link
2/5 Linear Programming II: Duality Kolter link
2/7 Integer Programming I: Theory Kolter link link
2/12 Integer Programming II: Applications Procaccia link link
2/14 Machine Learning I: Regression and Classification Kolter link link
2/19 Machine Learning II: Nonlinear Methods Kolter link link
2/21 Computational Learning Theory Procaccia link link
2/26 Deep Learning I: Neural Networks Kolter link link
2/28 Deep Learning II: Backpropagation Kolter link link
3/5 Deep Learning III: Convolutional and Recurrent Models Kolter link link
3/7 Midterm Exam
3/12 Spring Break
3/14 Spring Break
3/19 Probabilistic Modeling I: Bayesian Reasoning Kolter
3/21 Probabilistic Modeling II: Probabilistic Inference Kolter
3/26 Probabilistic Modeling III: MCMC Kolter
3/28 Deep Learning IV: Generative Models Kolter
4/2 Game Theory I: Basics Procaccia
4/4 Game Theory II: Zero-sum and No-regret Learning Procaccia
4/9 Game Theory III: Stackelberg and Security Procaccia
4/11 Game Theory IV: Extensive Form Procaccia
4/16 Social Choice I: Basics Procaccia
4/18 Social Choice II: Statistical Approaches Procaccia
4/23 Social Choice III: Advanced Statistical Approaches Procaccia
4/25 Ethical and Safe AI I Procaccia
4/30 Ethical and Safe AI II Procaccia
5/2 Project Presentations Students


There will be four assignments (not including HW 0): they will involve both written answers and programming assignments. Written questions will involve working through algorithms presented in the class, deriving and proving mathematical results, and critically analyzing the material presented in class. Programming assignments will involve writing code in Python to implement various algorithms presented in class.

Please submit your assignments on Autolab here. Scan handwritten parts of your homework and include them in your autolab submission.

Solutions will be released after the deadline via Piazza.

Homework due dates

Homework TeX source Files Due Dates
Homework 0 HW0-template.tex search.py January 26, 2018
Homework 1 HW1-template.tex HW1-release.zip February 19, 2018
Homework 2 HW2-template.zip cls.py March 2, 2018

Homework Policies

  • Homework is due on Autolab by the posted deadline. HW0 must be submitted by the posted deadline to receive credit. For all other homeworks, no credit will be given for assignments submitted more than 2 days (48 hours) after the posted deadline.

  • HW0 is worth 5% of the final grade. Each other homework is worth 10%.

  • You have 5 late days to use throughout the semester. If you run out of late days, then you will receive 20% off for each additional day late. (No late days may be used on HW0.)

  • You can discuss both the programming and written portions with other students, but all final submitted work (code and writeups) must be done entirely on your own, without looking at any notes generated during group discussions. Be sure to mention your collaborators' names and Andrew IDs in your writeup.

  • If you reference any code or sources other than the materials provided on the course website or the textbook, you must mention the source.


The class includes a midterm exam on Mar 07.

Exam Without Solutions With Solutions
Practice Midterm 1 pdf pdf
Practice Midterm 2 pdf pdf