15-780, Spring 2017

Graduate Artificial Intelligence


Key Information

Mondays + Wednesdays, 1:30pm - 2:50pm, MM A14

Brandon Amos, Shayan Doroudi, Anson Kahng, Kijung Shin

15% Midterm, 50% Homework, 10% Participation, 25% Project

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
Brandon Amos bamos@andrew.cmu.edu Wed 12-1pm GHC 9221
Shayan Doroudi shayand@cs.cmu.edu Mon 3-4pm GHC 8127
Anson Kahng akahng@cs.cmu.edu Thurs 2-3pm GHC 6207
Kijung Shin kijungs@andrew.cmu.edu Tue 4-5pm GHC 9005

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).

Draft Schedule (Subject to change)

Date Topic Instructor Slides Video
1/16 MLK Day
1/18 Introduction Kolter+Procaccia slides 1 video 1
1/23 Search I Procaccia slides 2 video 2
1/25 Search II Procaccia slides 3 video 3
1/30 Optimization Kolter slides 4 video 4
2/1 Linear Programming Kolter slides 5 video 5
2/6 Integer Programming I: Theory Kolter slides 6 video 6
2/8 Integer Programming II: Applications Procaccia slides 7 video 7
2/13 Machine Learning I: Regression and Classification Kolter slides 8 video 8
2/15 Machine Learning II: Nonlinear Methods Kolter slides 9 Video 9
2/20 Computational Learning Theory Procaccia slides 10 Video 10
2/22 Deep Learning I: Neural Networks Kolter slides 11
2/27 Midterm Exam
3/1 Deep Learning II: Backpropagation Kolter
3/6 Deep Learning III: Convolutional and Recurrent Models Kolter
3/8 Probabilistic Modeling I: Bayesian Reasoning Kolter
3/13 Spring Break
3/15 Spring Break
3/20 Probabilistic Modeling II: Probabilistic Inference Kolter
3/22 Probabilistic Modeling III: MCMC Kolter
3/27 Deep Learning IV: Generative Models Kolter
3/29 Game Theory I: Basics Procaccia
4/3 Game Theory II: Zero-sum Games and No-regret Learning Procaccia
4/5 Game Theory III: Stackelberg and Security Procaccia
4/10 Game Theory IV: Extensive Form Procaccia
4/12 Social Choice I: Basics Procaccia
4/17 Social Choice II: Statistical Approaches Procaccia
4/19 Social Choice III: Advanced Statistical Approaches Procaccia
4/24 AI and Education I Doroudi
4/26 AI and Education II Doroudi
5/1 AI and Education III Doroudi
5/3 Q&A Kolter+Procaccia


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.

Homework due dates

Homework Files Due Dates Solutions
Homework 0 search.py January 27, 11:59pm Solutions
Homework 1 hw1-files.zip February 21, 11:59pm
Homework 2 TBA
Homework 3 TBA
Homework 4 TBA


The course project involves carrying out and presenting novel research in AI. Projects are done in groups of 2-4. The expected amount of work is 50 hours per student.


  • Proposals (200 words) are due on March 22, and should outline the proposed topic and approach.
  • Progress reports (2 pages) are due on April 20.
  • Projects will be presented via short videos in the course final exam slot (TBA). Project reports (up to 5 pages) are due on the same day.

Homework Policies

  • Homework is due on autolab by the posted deadline. Assignments submitted past the deadline will incur the use of late days.

  • You have 5 late days, but cannot use more than 2 late days per homework. No late days may be used for HW 0. No credit will be given for homework submitted more than 2 days after the due date. After your 5 late days have been used you will receive 20% off for each additional day late.

  • You can discuss the exercises with your classmates, but you should write up your own solutions. If you find a solution in any source other than the material provided on the course website or the textbook, you must mention the source. You can discuss both the programming and wirtten protions with other students, but all final submitted work (code and the writeups), but be done entirely on your own. Make sure that you include a README file with your andrew id and your collaborator's andrew id.


The class includes a midterm exam on Feb 27.

Exam Without Solutions With Solutions
Practice Midterm pdf pdf