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 link link
3/21 Probabilistic Modeling II: Probabilistic Inference Kolter link link
3/26 Probabilistic Modeling III: MCMC Kolter link
3/28 Adversarial Attacks in Machine Learning Kolter link
4/2 Game Theory I: Basics Procaccia link link
4/4 Game Theory II: Stackelberg and Security Procaccia link link
4/9 Game Theory III: Zero-sum and Extensive Form Procaccia link link
4/11 Game Theory IV: Minimax Theorem Via No-Regret Learning Procaccia link link
4/16 Social Choice I: Basics Procaccia link link
4/18 Social Choice II: Manipulation Procaccia link link
4/23 Social Choice III: Statistical Approaches Procaccia link link
4/25 Ethics and AI I Procaccia link
4/30 Ethics and AI II Procaccia link
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 3 HW3-template.zip HW3-release.zip April 2, 2018
Homework 4 HW4-template.tex stackelberg.py April 16, 2018
Final Project May 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 and a final exam on May 10.

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