CS 1573: Artificial Intelligence Application Development (Spring 2003)

Time: Tu Th 2:30-3:45  Place 5129 Sennott Square 
Professor:  Diane Litman Office Hours: M 10-12 (741 LRDC), Tu Th 3:45-4:45 (5105 Sennott Square)
Email:  litman@cs.pitt.edu Phone:  412-624-8838 (Sennott Square); 412-624-1261 (LRDC)
TA: Ali Alanjawi Office Hours:  Tu Th 1-4:00 (5404 Sennott Square) and by appointment
Email:  alanjawi@cs.pitt.edu Phone:  412-624-1185


  • Ability to build simple versions of a few AI applications

  • Familiarity with full-scale versions of the same applications

  • Understanding of AI programming paradigms

  • Mastery of Python, a popular programming language useful for AI applications and rapid prototyping


    This course will focus on the development of artificial intelligence applications. It will cover symbolic data structures, advanced control structures, and advanced prototyping and data exploration techniques. Multiple areas of artificial intelligence will be covered, with a focus on areas (e.g. natural language processing, reinforcement learning) and applications (e.g. expert systems, email filtering, the semantic web) that were not covered during CS 1571.

    Prerequisites: CS 1571, or consent of the instructor


    Learning Python (Help for Programmers), by Mark Lutz and David Ascher. This book is available from the bookstore, and is also apparently available online for free for Pitt students.

    We will also be using online AI textbooks and toolkits, Python sites, and other resources.


    Assignments and an email filtering project.

    Grade Basis: assignments (65%), project (30%), class participation (5%)

    Late Penalty: For assignments that may be accepted late, the penalty is 10% per day up to 5 days including Saturday, Sunday, and holidays. Assignments are due at the start of class.


    CS 1573 grades

    HW raw grades and normalized grades (final versions, please check!)

    Syllabus (evolving and subject to change!):

    Class Topic Reading Assignments
    1/7 Course Overview and Administration    
    1/9 Introduction to Artificial Intelligence Chapter 1, Artificial Intelligence: A Modern Approach, by Russell and Norvig  
    1/9 SELF-STUDY: Introduction to Python

    Python Tutorial

    Lutz & Ascher 1-3

    Assignment 1 (due 1/16)
    1/14, 1/16 Intelligent Agents Handout

    Lutz & Ascher 4-6

    1/16, 1/21 Introduction to Natural Language Processing Chapter 1, Speech and Language Processing, by Jurafsky and Martin

    Remaining Lutz & Ascher, as needed

    Assignment 2: Agents (due 1/28)
    1/23, 1/28 The (Python) Natural Language Toolkit (NLTK) NLTK Tutorials: Basics, Modelling Probablistic Systems, New Python Features  
    1/30, 2/4, 2/6, 2/11 Regular Expressions (also see these slides) Handout

    NLTK Tutorials: Regular Expressions

    Assignment 3: NLTK (due 2/13)
    2/13, 2/18, 2/20, 2/25 Tagging (also see these slides) NLTK Tutorials: Tagging, Writing Classes Assignment 4: Regular Expressions (due 3/11)

    Test data

    2/27 Chunk Parsing NLTK Tutorials: Chunk Parsing  
    3/11, 3/13 Introduction to Machine Learning Handout Project (due 4/17 (NOTE CHANGE) and 4/23)
    3/18, 3/20, 3/25, 3/27, 4/1 Learning from Observations Handout (through 18.2)

    NLTK Tutorials: Text Classification (through Chapter 6)

    Handout (18.3)

    Assignment 5: Learning from Observations (due 4/8)
    4/3, 4/8 Reinforcement Learning Chapter 1, Reinforcement Learning: An Introduction, by Sutton and Barto  
    4/8, 4/10 Evaluative Feedback Chapter 2 (through 2.2), Reinforcement Learning: An Introduction, by Sutton and Barto  
    4/10 The Reinforcement Learning Problem Chapter 3 (skip 3.4, 3.5, 3.9), Reinforcement Learning: An Introduction, by Sutton and Barto  
    4/15 Assignment 6 (Reinforcement Learning): to be done IN CLASS   Assignment 6 in class
    4/17 CLASS CANCELLED DUE TO HOLIDAYS   Project (System) Due
    4/23 PROJECT PRESENTATIONS 4-5:50 PM (in lieu of final exam) Presentations (5-10 min) will be alphabetical Project (Report) Due


    A Turing Test cartoon

    Weizenbaum and Eliza


    The Natural Language Toolkit (NLTK):

    Artificial Intelligence:

    Books on Reserve:

    • Artificial Intelligence: A Modern Approach (1st Edition), by Russell and Norvig
    • Artificial Intelligence: Theory and Practice, by Dean, Allen, and Aloimonos
    • Python Essential Reference, by Beazley
    • Reinforcement Learning: An Introduction, by Sutton and Barto
    • Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics and Speech Recognition, by Jurafsky and Martin

    Academic Integrity:

    Assignments must be your own individual work, unless explicitly stated otherwise. You must do the work without undue help from other people, and you must not present material from resources such as the Web, books, papers, code listings, and other people as your own. You may talk to each other about concepts and techniques, but you must not discuss specific solutions or approaches to solutions. Copying or paraphrasing someone's work, or permitting your own work to be copied or paraphrased, even in part, is not allowed and will result in an automatic grade of 0 for the assignment.


    Some of the materials used in this course borrow from the courses of Steven Bird, Julia Hirschberg, Russell & Norvig, and Andrew Barto.