Introduction to Artificial Intelligence


Fall 2017

Thursday 6:30pm - 9:20pm


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

Teaching Assistant

Reza Moradinezhad
Department of Computer Science
Drexel University
Office: University Crossings CLC
Email rm976 AT drexel edu
Office Hours: Thursday 4:00-6:00

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 in teams of 2 to 3 people. All team members will get the same grade. 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: 10%
  • Final: 10%
  • Project: 40%
  • Homework Assignments 20%
  • Class participation: 20%

The class participation grade will be determined by (1) Active participation in class discussions and exercises and (2) Online discussion of the supplemental readings. Online students will do their participation online.


Discuss the readings on the discussion board of course's BBLearn website. The first posts are due Tuesday, October 3, 2017 at 6 pm.

What constitutes satisfactory participation?

There will be an online discussion thread for each paper.

For all students: Post two discussion points or questions on the bulletin board by 6 pm on Tuesday. Discussion points should be twitter short (140 characters). Elaboration will happen in class.

For online students (by day of class 3 pm): Reply to two questions or discussion points. Your replies should be brief (1-3 sentences), but with 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 Thursday at 3 pm, so that everyone can look over the threads before class, but feel free to keep talking.

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/28)

Search (Week 2 -- 10/5)

  • 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 for next week:

Constraint Reasoning and More Search (Week 3 -- 10/12)

    Lecture 3
  • Constraint Satisfaction and Search [Chap 6]

Planning (Week 4 -- 10/19)

  • Homework 1 due.
  • Guest Lecture: Janith Weerasinghe
  • Lecture 4
  • Planning [Ch 10]
  • Supplemental Readings for next week:
    • David Silver, Aja Huang, Chris J. Maddison, Arthur Guez, Laurent Sifre, George van den Driessche, Julian Schrittwieser, Ioannis Antonoglou, Veda Panneershelvam, Marc Lanctot, Sander Dieleman, Dominik Grewe, John Nham, Nal Kalchbrenner, Ilya Sutskever, Timothy Lillicrap, Madeleine Leach, Koray Kavukcuoglu, Thore Graepel and Demis Hassabis. Mastering the Game of Go with deep neural networks and tree search, Nature 529, 2016.

AI and Games (Week 5 -- 10/26)

  • Project proposal due by beginning of class
  • Lecture 5
  • Intro to game theory [Chap 5, Chap 17.5-17.6]
  • Minimax trees
  • Alpha-beta pruning

Midterm (Week 6 -- 11/2)

Knowledge Representation (Week 7 -- 11/9)

  • Logic [Ch 7,8]
  • Lecture 6
  • Supplemental Reading for next week:
    • 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 1 (Week 8 -- 11/16)

  • Lecture 7
  • Bayesian examples on whiteboard example 1 and example 2
  • Introduction to ML [Chap 18]
  • Decision trees
  • Bayesian learning
  • Discuss the machine learning exercise, a Bayesian classifier due November 30.

No Class! Week 9 -- 11/23

Deep Learning, Neural Networks, and Fairness (Week 10 -- 11/30)

Project Presentations (Week 11 -- 12/7)

  • Final Project paper due

Finals Week (12/11-12/15)

  • Online Final

Lecture Notes