15-381, Spring 2017

Artificial Intelligence: Representation and Problem Solving


Key Information

Tuesdays + Thursdays, 3:00PM - 4:20PM, NSH 1305

Jonathon Buckley, Alex Frieder, Joseph Giampapa, Justus Hibshman, Ting-Yao Hu

50% Homework (36% for the first four, 14% for the project), 20% Midterm, 30% Final

Artificial Intelligence: A Modern Approach (Helpful, but not required)

This course is about the theory and practice of Artificial Intelligence. We will study modern techniques for computers to represent task-relevant information and make intelligent (i.e. satisficing or optimal) decisions towards the achievement of goals. The search and problem solving methods are applicable throughout a large range of industrial, civil, medical, financial, robotic, and information systems. We will investigate questions about AI systems such as: how to represent knowledge, how to effectively generate appropriate sequences of actions and how to search among alternatives to find optimal or near-optimal solutions. We will also explore how to deal with uncertainty in the world and how to learn from experience. We expect that by the end of the course students will have a thorough understanding of the algorithmic foundations of AI, how probability and AI are closely interrelated, and how automated agents learn. We also expect students to acquire a strong appreciation of the big-picture aspects of developing fully autonomous intelligent agents. Other lectures will introduce additional aspects of AI, including robotics, natural language processing, computer vision, game theory, and deep learning.


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
Alex Waibel waibel@cs.cmu.edu Monday 3:00-4:00PM InterACT, 407 South Craig Street, Room 205
Jonathon Buckley jpbuckle@andrew.cmu.edu Tuesday 1:30-2:30PM Citadel Teaching Commons Table 4
Alex Frieder afrieder@andrew.cmu.edu Wednesday 4:30-6:30PM Citadel Teaching Commons Table 1
Joseph Giampapa garof@cs.cmu.edu By appointment GHC 5515
Justus Hibshman jhibshma@andrew.cmu.edu Tuesday 5:00-6:30PM Citadel Teaching Commons Table 1
Ting-Yao Hu tingyaoh@andrew.cmu.edu Monday 4:00-5:00PM GHC 6509


(Complete schedule in Excel)
Date Topic Reference Supplemental Reading Remarks / Due Dates
17-Jan-17 Introduction R+N Chapter 1 Time 1978 CS Article
19-Jan-17 Uninformed Search R+N Chapter 3
24-Jan-17 Informed Search
26-Jan-17 Local Search R+N Chapter 3 HW1 due 2/9/17 at 11:59 pm
31-Jan-17 Constraint Satisfaction Problems (CSPs) R+N Chapter 6 AW away
02-Feb-17 Classical Planning R+N Chapters 10, 25 Prof. Jaime Carbonell
07-Feb-17 Dynamic Programming No readings assigned. Reminder: HW1 on Thursday, 2/9/17 at 11:59pm
09-Feb-17 Signal Processing No readings assigned. HW2 due 2/22/17 at 11:59 pm
14-Feb-17 Finished Signal Processing
16-Feb-17 Classification
21-Feb-17 Classification II
23-Feb-17 Machine Learning 1 HW3 due 3/8/17 at 11:59 pm
28-Feb-17 Active Learning Prof. Jaime Carbonell
2-Mar-17 Machine Learning 2
7-Mar-17 Deep Learning 1
9-Mar-17 Midterm Exam
14-Mar-17 Spring Break - No Classes
16-Mar-17 Spring Break - No Classes
21-Mar-17 Deep Learning 2
23-Mar-17 Deep Learning - Generalization
28-Mar-17 Hidden Markov Models
30-Mar-17 Bayesian Networks HW4 due 4/12/17 at 11:59 pm
4-Apr-17 Markov Decision Processes
6-Apr-17 Reinforcement Learning
11-Apr-17 Game Theory 1
13-Apr-17 Game Theory 2
18-Apr-17 Speech, TDNN's, and Convolutional Nets
20-Apr-17 Spring Carnival
25-Apr-17 Motion Planning and Classical Planning
27-Apr-17 Multi-Robot Systems
2-May-17 Language Processing, Machine Translation, Vision
4-May-17 Project Presentations, Wrap-Up


The various demos shown in class can be found here.


There will be five sets of assignments for the course: four homeworks involving 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.

In addition to the four homeworks, there will be a longer class project, due and presented on the final day of class. Projcts may be done in teams of 2-3 students (rare exceptions may be given to students who want to work alone on a project), and will involve applying the techniques learned in class to one of four "challenge problems" presented in the project assignment description.

Homework Policies

  • Homework is due at 23:59, thirteen days after it was assigned. It will be submitted via AutoLab.

  • Each student receives a total of six late days to use throughout the semester. These late days extend the deadline for 24 hours (so homeworks are due at 23:59 on the corresponding day), and can be distributed amongst the three homeworks, but no more than 2 late days may be used on any assignment.

  • After you spend your six late days, you will receive 20% off per day on any assignment handed in late up to the two days. However, no credit will be given for any assignment turned in more than two days late, as we will post the solutions to the problem set at that point. Late days apply to the entire assignments, so that handing in one problem late counts as a late day towards the whole assignment.

  • You may discuss the problem sets with other students in the class. However, your final written answers and code must be completed independently.


The class includes both a midterm and final exam. The midterm will tentatively take place during class on March 9, and the final will take place on May 11 from 1 pm - 4 pm. A list of the material to be covered during the midterm or final will be posted here prior to the exams.