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 TBA GHC 7115
Ariel Procaccia arielpro@cs.cmu.edu TBA GHC 7002
Brandon Amos bamos@andrew.cmu.edu TBA GHC 9221
Shayan Doroudi shayand@cs.cmu.edu TBA GHC 8127
Anson Kahng akahng@cs.cmu.edu TBA GHC 6207
Kijung Shin kijungs@andrew.cmu.edu TBA GHC 9005

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 1 Procaccia
1/25 Search 2 Procaccia
1/30 Convex Optimization Kolter
2/1 Linear Programming Kolter
2/6 Integer Programming 1: Theory Kolter
2/8 Integer Programming 2: Applications Procaccia
2/13 Machine Learning 1: Regression and Classification Kolter
2/15 Machine Learning 2: Nonlinear Methods Kolter
2/20 Computational Learning Theory Procaccia
2/22 Deep Learning 1: Neural Networks Kolter
2/27 Deep Learning 2: Backpropagation Kolter
3/1 Midterm Exam
3/6 Deep Learning 3: Convolutional and Recurrent Models Kolter
3/8 Probabilistic Modeling 1: Bayesian Reasoning Kolter
3/13 Spring Break
3/15 Spring Break
3/20 Probabilistic Modeling 2: Probabilistic Inference Kolter
3/22 Probabilistic Modeling 3: MCMC Kolter
3/27 Deep Learning 4: Generative Models Kolter
3/29 Game Theory 1: Basics Procaccia
4/3 Game Theory 2: Zero-sum Games and No-regret Learning Procaccia
4/5 Game Theory 3: Stackelberg and Security Procaccia
4/10 Game Theory 4: Extensive Form Procaccia
4/12 Social Choice 1: Basics Procaccia
4/17 Social Choice 2: Statistical Approaches Procaccia
4/19 Social Choice 3: Advanced Statistical Approaches Procaccia
4/24 AI and Education 1 Doroudi
4/26 AI and Education 2 Doroudi
5/1 AI and Education 3 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

Topic Files Due Dates
Homework 0 search.py January 27, 11:59pm
Homework 1 TBA
Homework 2 TBA
Homework 3 TBA
Homework 4 TBA

15-780 Project

Students will also complete a course project. Late days may not be used on the course project.

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 work on the programming questions in pairs, but theoretical questions are always submitted individually. Make sure that you include a README file with your andrew id and your collaborator's andrew id.


The class includes a midterm exam, tentatively scheduled for March 1st.