i 15-780

15-780, Spring 2019

Graduate Artificial Intelligence


Key Information

Mondays and Wednesdays, 10:30am - 11:50am, Posner Hall 152

Chun Kai Ling, Ivan Stelmakh, Junjue Wang

40% homework, 30% final project, 20% exams, 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
Nihar B. Shah nihars@cs.cmu.edu By appointment GHC 8211
Chun Kai Ling chunkail@cs.cmu.edu Wednesdays 6-7pm GHC 6501. See exceptions below.
Ivan Stelmakh istelmak@cs.cmu.edu Tuesdays 6-7pm GHC 8115
Junjue Wang junjuew@cs.cmu.edu Mondays 5-6pm PH A21A. See exceptions below.

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

Exceptions for Chun Kai: (April 24 @ GHC 8115. No office hours on Jan 30th)

Exceptions for Junjue: (No office hours on Jan 28th and Feb 4th)

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 Material
1/14 Introduction Kolter pdf
1/16 Search I Shah pdf
1/21 MLK Day
1/23 Search II Shah notes
1/28 Convex Optimization Kolter pdf
1/30 Linear Programming I: Basics video 1 video 2 Kolter pdf
2/4 Linear Programming II: Duality video Kolter pdf
2/6 Integer Programming I: Theory Kolter pdf
2/11 Integer Programming II: Applications Shah notes
2/13 Machine Learning I: Regression and Classification Shah notes
2/18 Machine Learning II: Nonlinear Methods Kolter slides
2/20 Computational Learning Theory Shah notes
2/25 Deep Learning I: Neural Networks Kolter slides
2/27 Deep Learning II: Backpropagation Kolter slides
3/5 Deep Learning III: Convolutional and Recurrent Models Kolter slides
3/6 Midterm Exam
3/11 Spring Break
3/13 Spring Break
3/18 Probabilistic Modeling I: Basics of probability Kolter slides
3/20 Probabilistic Modeling II: Probabilistic Inference Kolter slides
3/25 Probabilistic Modeling III: MCMC Kolter slides
3/27 Adversarial Attacks in Machine Learning Kolter slides
4/1 Game Theory I: Basics Shah Notes on Diderot
4/3 Game Theory II: Stackelberg and Security Shah Notes on Diderot
4/8 Game Theory III: Zero-sum and Extensive Form Shah Notes on Diderot
4/10 Game Theory IV: Minimax Theorem Via No-Regret Learning Shah Notes on Diderot
4/15 Social Choice I: Basics Shah Notes on Diderot
4/17 Social Choice II: Manipulation Shah Notes on Diderot
4/22 Social Choice III: Statistical Approaches Shah Ranking models, Concentration inequalities
4/24 Humans and AI I: Fairness Shah
4/29 Humans and AI II: An application that involves fairness, social choice, game theory, ML, optimization Shah
5/1 Final exam


There will be four assignments: 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 Diderot. Scan handwritten parts of your homework, if any, and include them in your autolab submission.

Solutions will be released after the deadline and late dates.

Homework due dates

Homework TeX source Files Due Dates
Homework 1 tikz_template.tex HW1-release.zip February 14, 2019
Homework 2 HW2-release.zip February 28, 2019
Homework 3 HW3-release.zip April 4, 2019
Homework 4 HW4-release.zip April 25, 2019

Homework Policies

  • Homework is due on Diderot by the posted deadline. No credit will be given for assignments submitted more than 2 days (48 hours) after the posted deadline.

  • Each homework is worth 10% of your final grade.

  • You have 5 late days to use throughout the semester. Course submission systems will track late days, but you should be sure to track these yourself, as no credit will be given if you run out of late days.

  • 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 course project involves carrying out and presenting novel research in AI. Projects are done in groups of 2-3 students. Naturally, the number of team members will be taken into account during grading (i.e., a larger team would be expected to have a larger project).


  • Form teams by February 14th.
  • A proposal (300 words) is due on February 26th, and should outline the proposed topic and approach.
  • An intermediate report (2 pages + references) is due on April 11th.
  • Projects will be presented via short videos in the course final exam slot (in the week of May 6th). Project reports (up to 5 pages + references) are due on the same day.


  • The project can be theoretical, experimental, or both.
  • The best projects are creative and original. These qualities are more important than simply doing intensive technical work, so spend time thinking about a good problem.
  • Don’t worry if you don’t obtain positive results; it’s okay if you try an interesting approach and it doesn’t work. We care most about your ideas, your effort, and what you learned over the course of working on the project.
  • Projects should be directly related to topics covered in class. So, for example, an application of reinforcement learning would not be a good project, since this topic was never discussed in a lecture.
  • It is perfectly fine if the project is related to your research, but please do not copy paste something from your research or another project.
  • In previous years, many projects simply applied deep learning to various problems. Deep learning is an acceptable topic (as it was indeed covered in class), but since these projects are fairly straightforward and often don’t require much creativity, we will be setting a high bar for projects focused on deep learning applications.
  • The instructors are happy to discuss your project ideas with you. There will be meeting slots also set up with the teaching team to help you in the projects.


The class includes a midterm exam on Mar 6 and a final exam on May 1.

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