CPS 270: Introduction to Artificial Intelligence (Spring 2016)
Overview

Syllabus

Prerequisites

Schedule

Assignments

Grading

Resources

Piazza

Overview


Algorithms and representations used in artificial intelligence. Introduction and implementation of algorithms for search, planning, perception, knowledge representation, logic, probabilistic representation and reasoning, robotics, and machine learning.

Some portions of the course will be based on material from Ron Parr's Spring 2014 Intro to AI course.

Instructor
George Konidaris
Office: North 133
Office Hours: Mondays 5-6pm, Tuesdays 12-1pm
Email: gdk at cs dot duke dot edu

TA
Cameron Allen
Office: N141 North
Office Hours: Wednesdays 11:30am-12:30pm, Thursdays 11am-12pm, at LSRC D309
Email: cam at cs dot duke dot edu

UTAs
Diego Farias Canepa
Office Hours: Mondays 6-9pm at The Link (Perkins Library)
Email: diego dot farias dot canepa at duke dot edu

Kaighn Kevlin
Office Hours: Tuesdays 12:55-2:55pm at The Link (Perkins Library)
Email: kaighn dot kevlin at duke dot edu

Yixin Lin
Office Hours: Thursdays 4:30pm-7:30pm at The Link (Perkins Library)
Email: yixin dot lin at duke dot edu

Ying Qi
Office Hours: Tuesdays 7-9pm, Fridays 12-1pm, at The Link (Perkins Library)
Email: ying dot qi at duke dot edu

Yilun Zhou
Office Hours: Mondays 9am-12pm, at North 206.
Email: yilun at cs dot duke dot edu

[Back to top]

Syllabus


  1. Agents and Agenthood
  2. Search
    • Uninformed
    • Informed
    • Mini-Max for Game Playing
  3. Knowledge Representation and Reasoning
    • Propositional Logic
    • First-Order Logic
    • Reasoning and Logical Inference
    • Uncertain Knowledge
      • Bayes' Rule
      • Probabilistic Reasoning
      • Bayes Nets
  4. Planning
    • Task Planning
    • Robot Motion Planning
  5. Learning
    • Supervised Learning
    • Unsupervised Learning
    • Reinforcement Learning
  6. Philosophy of AI

[Back to top]

Prerequisites


You should be comfortable independently writing and debugging programs in C, C++, or Java. (The actual assignments with be in Python, but there will be a Python tutorial early in the semester.)

You should be able to do short proofs.

You should be comfortable with the core computer science concepts of computational complexity and the analysis of algorithms.

You should know some calculus. Basic probability and statistics are helpful but not required.

[Back to top]

Schedule


The first class is on Wednesday January 13th. The class meets on a Monday-Wednesday schedule, from 3:05pm to 4:20pm in LSRC B101.

Note that the schedule below is tentative, and may be revised as we go along.

DateTopicHomeworkSlides
January 13th Introduction Read chapters 1 and 2
install python (point 3) (with thanks to Susan Rodger)
Download search.zip
Run pacman.py (complete ASAP)
Familiarize yourself with Python
(Nothing to turn in)
Eclipse users, try python console in eclipse
PDF
January 18th No class - Martin Luther King day
January 20th Uninformed search. Read chapter 3 (up to but not including 3.5) PDF
January 25th Python Tutorial (Cam Allen)
Homework 1 available
PDF
January 27th Informed Search Read the remainder of Chapter 3. PDF
A* proof
February 1st Game Playing and Minimax Search Read chapter 5, up to and including 5.4. PDF
February 3rd Knowledge Representation and Reasoning: Propositional Logic Chapter 7 PDF
February 8th KRR: First-Order Logic Chapters 8 and 9. PDF
February 10th Uncertainty Chapter 13.
Optional: The Cancer Cluster Myth, and The Hot Hand in Basketball: On the Misperception of Random Sequences.

PDF
February 15th Cancelled due to weather
February 17th Game Theory (guest lecturer Vincent Conitzer) PDF
February 22nd Game Theory (guest lecturer Catherine Moon) PDF
February 24th Bayesian Networks Chapters 13 and 14 (up to 14.4). PDF
February 29th Class cancelled
March 2nd Bayesian Networks II PDF
March 7th Midterm review Midterm review
March 9th Midterm Midterm
March 14th Spring break
March 16th Spring break
March 21st Hidden Markov Models Chapter 15 (up to and including 15.3) PDF
March 23rd Planning Chapter 10 PDF
March 28th Probabilistic Planning Chapter 17 (up to and including 17.3) PDF
March 30th Robot Motion Planning Sections 25.4 - 25.6 (inclusive) PDF
April 4th Machine Learning Intro Chapter 18 PDF
April 6th Machine Learning II PDF
April 11th Unsupervised learning. Wikipedia entries on Principal Component Analysis and ISOMAP. PDF
April 13th Reinforcement Learning Chapter 21. PDF
April 18th Philosophy of AI Chapter 26 PDF
April 20th Final Review (last day of class)


Final exam: Monday May 2nd, 9am-noon.

[Back to top]

Assignments


AssignmentAvailableDue
HW1January 25thFebruary 10th (before midnight)
HW2February 15thFebruary 28th (before midnight)
HW3March 1stMarch 11th (before midnight)
HW4March 23rdApril 5th (before midnight)
HW5April 13thApril 24th (before midnight)

What to turn in:

  • For written answers, please turn in a PDF. Do not turn in Microsoft Word or other formats.

  • For programming questions, please include your code and any supporting files needed, along with some examples of how your code runs. If any special instructions are needed for compiling or executing your code, please include this in a readme.txt file. If it is not obvious how to make your code work, you may not receive full credit!

  • It is not necessary to embed an extra copy of your code within your written solutions. The files you submit are sufficient for this purpose. However, if you want to reference something in one your files, please do so in a clear manner by mentioning specific file names and functions.

  • Include your name in all files that you submit. Put it at the top of the first page of your written solutions and in the comments to each file you submit for your code.

  • Please avoid turning in scanned, handwritten assignments. This is permitted but discouraged because slows down the grading process and because it leads to very large files. If there is some emergency that necessitates submitting scanned material, pick a DPI and compression level that will lead to reasonable file sizes.

  • Include figures directly in your PDF rather than as separate attachments.

How to turn it in:

  • Unless otherwise stated, solutions are due immediately before class on the due date.

  • Homework assignments should be turned in electronically through Sakai.

  • Include your name as part of the file name of the file you upload to sakai. (It is confusing for the TAs if they need to wade through 60 files all named hw.pdf.) If your assignment involves multiple files, please put them in a single folder/directory and zip them. Do not use other compression methods such as zoo, rar, etc.

Academic Honesty

  • We take academic honesty very seriously. This matrix should leave no ambiguity about what is permitted and what is not permitted. You should check if you have any confusion about what is permitted.

Lateness policy

  • You may request an extension before the due date of the assignment. Valid reasons for extensions include (but are not necessarily limited to) interviews, travel for research or academic purposes, and illness.

  • Late assignments (without a previously granted extension) will be penalized 10% per day. Assignments will not be accepted more than 5 days after the due date.

[Back to top]

Grading


Graded components will be the homeworks (40%), the midterm (30%), and the final exam (30%).

I expect all Duke students to conduct themselves with the highest integrity, according to the Duke Community Standard. If you are unsure what this means, please refer to this link. For a more concrete description, this matrix outlines what forms of collaboration with others are and are not allowed during this course.

[Back to top]

Resources


Required Text

Artificial Intelligence: A Modern Approach, Stuart Russell and Peter Norvig. Be sure to check for errata! (scroll down for a list of current errata)

[Back to top]