CPS 270: Introduction to Artificial Intelligence (Spring 2015)
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: LSRC D224
Office Hours: Tue 5-6pm, Thur 11am-12pm
Email: gdk at cs dot duke dot edu

TA
Zhenyu Zhou
Office: N006 North
Office Hours: Mon 10-11am, Thur 4-5pm, at LSRC D301
Email: zzy at cs dot duke dot edu

UTAs
Lien Hoang
Office Hours: Tuesdays 6-8pm at The Link (Perkins Library)
Email: lien dot hoang at duke dot edu

Ang Li
Office Hours: Mon 3-4pm, Sundays 7-8pm, at The Link (Perkins Library)
Email: li dot ang at 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.

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 January 9th. The class meets on a Wednesday-Friday schedule, from 3:05pm to 4:20pm in Soc Psy 126.

DateTopicHomeworkSlides
January 9th Introduction Read chapters 1 and 2
install python
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 14th Uninformed search. Read chapter 3 (up to but not including 3.5) PDF
January 16th Informed Search Read the remainder of Chapter 3. PDF
A* proof
January 21st Python Tutorial PDF
January 23rd Game Playing and Minimax Search Read chapter 5, up to and including 5.4. Homework 1 assigned, due February 6th. PDF
January 28th Game Theory (Ron Parr) PDF
January 30th Game Theory (Ron Parr) (continued)
February 4th Knowledge Representation and Reasoning: Propositional Logic Chapter 7 PDF
February 6th KRR: First-Order Logic Chapters 8 and 9. PDF
February 11th Uncertainty Chapter 13.
Optional: The Cancer Cluster Myth, and The Hot Hand in Basketball: On the Misperception of Random Sequences.

Homework 2 assigned, due February 24th (midnight).
PDF
February 13th Bayesian Networks Chapters 13 and 14 (up to 14.4). PDF
February 18th Cancelled due to weather.
February 20th Bayesian Networks II PDF
February 25th Hidden Markov Models Chapter 15 (up to and including 15.3) PDF
February 27th Planning Chapter 10 PDF
March 4th Probabilistic Planning Chapter 17 (up to and including 17.3) PDF
March 6th No class
March 11th Spring break
March 13th Spring break
March 18th Robot Motion Planning Sections 25.4 - 25.6 (inclusive) PDF
March 20th Midterm
March 25th Machine Learning Intro Chapter 18 PDF
March 27th Machine Learning II Homework 4 assigned, due April 9th. PDF
April 1st Unsupervised learning. PDF
April 3rd No class
April 8th Unsupervised & Reinforcement Learning Chapter 21. Also Wikipedia entries on Principal Component Analysis and ISOMAP. PDF
April 10th Reinforcement Learning Homework 5 assigned, due April 17th. PDF
April 15th Philosophy of AI Chapter 26 PDF
April 17th No class


Final exam: Thursday April 30th, 2pm-5pm.

[Back to top]

Assignments


AssignmentAvailableDue
HW1January 23rdFebruary 6th
HW2February 11thFebruary 24th (midnight)
HW3March 1stMarch 6th (midnight)
HW4March 27thApril 9th (midnight)
HW5April 10thApril 17th (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]