Introduction to Artificial Intelligence


Fall 2010

Wed 6:00pm - 8:50pm


Dr. Rachel Greenstadt
Department of Computer Science
Drexel University
Office: University Crossings 140
Tel: 1 215 895 2920
Email: greenie AT cs drexel edu
Office Hours: Wed 3:00-4:00 or by appt

Teaching Assistant

Department of Computer Science
Drexel University
Office: University Crossings 144

Office Hours: TBD

Course Overview

This course is about the theory and practice of constructing systems (machines) that can be considered intelligent. The course will strive to cover both theoretical aspects of AI (readings) and practical aspects of AI (programming and implementation). Previous versions of this course are available: (2008) and (2009).


  • A serious interest in AI.
  • Basic competency in computer science including data structures and programming, and basic competency in mathematics including proof techniques such as induction.


Russell and Norvig, Artificial Intelligence: A Modern Approach , the Prentice Hall Series in Artificial Intelligence.
Third Edition (blue and white color)

We will follow the book fairly closely but not cover all of it. We will will cover some topics not in the textbook, in which case supplemental readings will be assigned.

Coursework and Grading

Grading will consist of a midterm exam, final exam, paper discussions (in class and outside), one programming assignment (in python) and a course project. The midterm and final will be written, in class and cover topics from the textbook, lectures, and supplemental readings.

The course project will be a self-designed project involving implementation, experimentation and in-depth investigation of a key topic in AI. The topic of the project and its parameters are to be determined through agreement between instructor and student. A project proposal, final written report, and final presentation to the class will form the basis of the project grade. Projects may be done individually or in teams of up to 3 people. If project is done in a team, all members will get the same grade. Single projects are expected to be (nearly) as good as group projects. Choice of programming language is up to you. Several previous projects turned into research papers: Michael Brennan's Practical Attacks Against Author Recognition Techniques and Paul Snyder's Myconet: A Fungi-inspired Model for Superpeer-based Peer-to-Peer Overlay Topologies.

Detailed project description

Below is the grading breakdown:

  • Midterm: 15%
  • Final: 15%
  • Project: 40%
  • Learning assignment 5%
  • Class particiation: 25%

The class participation grade will be determined by (1) Active participation in class discussions and exercises and (2) Online discussion of the supplemental readings. You must participate in both to get a good grade, but if you are quiet in class (or need to miss a lecture or two), you had better contribute heavily to the online discussion.

In addition, each student will be responsible for leading a discussion related to one of the readings. This should include a *short* presentation on related material (a related paper, filling in background students may not possess, and/or an application of the material discussed). The rest of the time should be spent engaging the class in a discussion of the reading.


Discuss the readings on the discussion board of course's bbvista website. The first posts are due Monday, September 27, 2008 at 6 pm.

This class requires that you participate in online discussions about the supplemental readings. Discussions will be graded on a scale from 0-3, where 0 = no participation, 1 = minimal participation, 2 = satisfactory participation, and 3 = exceptional participation.

What constitutes satisfactory participation?

There will be an online discussion thread for each paper. This means some weeks (when there are two papers) you will be responsible for four posts/replies on each thread for a total of eight. Most threads will concern one paper, but a few will include two. Make sure that for threads that include two papers you participate in discussion of both papers. In the first discussion phase (lasting until Monday evening), you will be asked to post one or two messages to the board. These messages should demonstrate thoughtful engagement with the reading and provoke discussion. They can be critical reviews (or praise) of some aspect of the paper, suggestions for possible future or related work (new research questions), comments relating the work to material studied in lecture or in the textbook, or other insightful discussion question/topic you fancy. We'll continue the discussions in class, so help make this class what you want it to be.

You also need to reply twice (or three times if you had only one initial post for a total of four posts) to other posts and questions. The response should have substance. No "me too" posts: if you agree, explain why and add something to the discussion. Disagreement is fine, even encouraged, but explain your reasons, and keep it thoughtful, respectful, and civil. The graded portion of the discussion will end Tuesday night at 6 pm, so that everyone can look over the threads before class, but feel free to keep talking.

Feel free to add more off-the-cuff messages and replies. Freewheeling discussion is fun and informative; just make sure that you have at least two more substantial posts and replies. Also, remember that substance does not equal length. A short paragraph should be sufficient if it's good.

Feel free to suggest improvements to the discussion format in the guidelines thread or privately to me. I may revise these guidelines over the course of the term to improve our collective experience.


Note: This schedule is tentative and can change.

Introduction To AI and Agents (Week 1 -- 9/22)

Search (Week 2 -- 9/29)

  • Lecture 2
  • Uninformed search (BFS, DFS, Bi-directional) [Chap 3]
  • Informed search (A*, IDA*) [Chap 3]
  • Local search (Hillclimbing, GA/GP) [Chap 4.1]
  • Supplemental Readings

Constraint Reasoning (Week 3 -- 10/6)

  • Lecture 3 (2009)
  • Guest Lecture
  • Constraint Satisfaction and Search [Chap 6]
  • Supplemental Readings
    • Sven Koenig and Maxim Likhachev, D* Lite, National Conference on Artificial Intelligence (AAAI), 2002.

AI and Games (Week 4 -- 10/13)

  • Lecture 4
  • Project proposal due by beginning of class
  • Intro to game theory [Chap 5, Chap 17.5-17.6]
  • Minimax trees
  • Alpha-beta pruning
  • Supplemental Readings (Warning: these are long and fair game for midterm (poki))
    • Parkes, D.C. Mechanism Design (Optional). Chapter 2 in PhD dissertation, ``Iterative Combinatorial Auctions: Achieving Economic and Computational Efficiency'', May 2001 Department of Computer and Information Science, University of Pennsylvania [OPTIONAL]
    • Darse Billings, Aaron Davidson, Jonathan Schaeffer, and Duane Szafron. The Challenge of Poker(alternate link), Artificial Intelligence Journal, vol 134(1-2), pp 210-240, 2002.

Midterm (Week 5 -- 10/20)

Knowledge Representation/Planning 1 (Week 6 -- 10/27)

Planning 2 (Week 7 -- 11/3)

  • Planning and Acting in the Real World [Ch 11]
  • Distributed Planning
  • Supplemental Reading
    • Edmund H. Durfee. Distributed Problem Solving and Planning Multi-Agent Systems and Applications, 9th ECCAI Advanced Course, ACAI 2001 and Agent Link European Agent Systems Summer School, EASSS 2001 Prague, Czech Republic, July 2-13, 2001

Machine Learning 1 (Week 8 -- 11/10)

  • Introduction to ML [Chap 18]
  • Decision trees
  • Bayesian learning
  • Supplemental Reading
  • Discuss the machine learning exercise, a Bayesian classifier due November 25.
    • Nilesh Dalvi, Pedro Domingos, Mausam Sumit, Sanghai Deepak Verma. Adversarial Classification. in Proceedings of the Tenth International Conference on Knowledge Discovery and Data Mining (KDD), 2004.

Machine Learning and NLP (Week 9 -- 11/17)

  • Reinforcement Learning [Chap 21]
  • NLP [Chap 22]

No Class! Week 10 -- 11/24

  • Happy Thanksgiving
  • Machine learning exercise due

Project Presentations (Week 11 -- 12/1)

Lecture Notes