CS63 Artificial Intelligence
Spring 2004
Swarthmore College

Professor: Lisa Meeden
Course: Mondays and Wednesdays 11:30-12:20, Sproul 300
Lab: Fridays 11:30-12:20, Sproul 201
Email: meeden AT cs.swarthmore.edu
Office: Room 1 Sproul
Phone: 328-8565
Office hours: Wednesdays 2:30-4:30pm, or by appointment


Description, Texts, Grading, Class Participation, Homework Policy, Schedule

Course Description

Artificial intelligence (AI) may be defined as the branch of computer science that is concerned with the automation of intelligent behavior (Luger, page 1). Intelligent behavior encompasses a wide range of abilities, and as a result AI has become a very broad field that includes game playing, automated reasoning, expert systems, natural language processing, modeling human performance (cognitive science), planning, robotics, and machine learning. We cannot possibly cover all of these areas in a one-semester course, so we will focus on a subset of these topics, including game playing, robotics, and machine learning. Our main text is on machine learning which is concerned with the problem of how to create programs that improve automatically with experience.

On Mondays and Wednesdays we will meet in Sproul 300 for class, and on Fridays we will meet in Sproul 201 for lab. The labs will introduce the tools you need to complete the homework assignments. We will be using a system called Pyro, which stands for Python Robotics. Pyro allows you to experiment with various robots and robot simulators while only having to learn one interface. It also includes a number of important machine learning tools such as neural networks and genetic algorithms. You will write programs in the Python programming language. For a quick introduction to Python, try How to think like a computer scientist: Learning with Python.

Find out about examples of AI in the news.



25%: Midterm Exam Timed take-home, available 3/1 and due 3/5 by noon
25%: Final Exam Scheduled by the registrar
10%: Labs
30%: Projects
10%: Class Participation

Class Participation

Your participation grade will be based on attendance and weekly written reactions to the assigned reading. Your reactions will be due by 8am every Monday morning. You will be posting your reactions to the online courseware package Edventure. Your username on this system will be the same as the username on your College email account. You should have already been sent an initial password. Once you post your reaction, you will be able to read other students' reactions for that week. Your reactions should not be summaries of the reading, instead they should be the product of the reading process (e.g., questions that were raised, points that were not clear, connections to previous material you've read, etc). Typically they should be two to three paragraphs in length. You are expected to be an active participant in class and should come prepared for class every week.

Homework Policy

Labs will be discussed and assigned on Friday and will be due before 11:00am the next Friday. Projects will also be introduced on Friday, but will continue for two weeks. Late homework is not accepted, except if an extension is requested and granted prior to the due date.

On some assignments you will work jointly with other students (with each assignment I will explicitly tell you if working as a team is allowed). When you work as a team, then you and your team members may share code for that particular assignment. The team should submit a single assignment with all names clearly indicated at the top of the program file(s). All team members will receive the same grade for that assignment.

Programs will be graded with respect to correctness, efficiency, and style.


1 1/19 - 1/23 Introduction to AI Luger, Chapter 1 - Lab 1: State space search
2 1/26 - 1/30 Game playing Russell & Norvig, Chapter 6 Drop/Add ends 1/30 Lab 2: Minimax Konane
3 2/1 - 2/6 Introduction to ML Mitchell, Chapter 1 - Lab 3: Konane tournament
4 2/9 - 2/13 Neural Networks Mitchell, Chapter 4 - Lab 4: Using Conx
5 2/16 - 2/20 Recurrent Neural Networks Elman paper - Project 1: Neural Networks
6 2/23 - 2/27 Decision Trees Mitchell, Chapter 3
Shavlik, Mooney, and Towell paper
- Project 1 continued
7 3/1 - 3/5 Review None Take-home midterm: due by noon 3/5, no class 3/3 or 3/5 None
- 3/8 - 3/12 Spring break - - -
8 3/15 - 3/19 Genetic Algorithms Mitchell, Chapter 9 - Lab 5: Experimenting with GAs
9 3/22 - 3/26 GAs with Nets Nolfi paper Last day to withdraw 3/26 Project 2: Evolutionary Computation
10 3/29 - 4/2 Reinforcement learning Mitchell, Chapter 13 - Project 2 continued
11 4/5 - 4/9 Braitenberg vehicles Pfeifer & Scheier, Chapter 6 - Lab 6: Robots in Pyro
12 4/12 - 4/16 Behavior-based control
Pfeifer & Scheier, Chapter 7 - Project 3: Robot learning
13 4/19 - 4/23 Robot learning None - Project 3 continued
14 4/26 - 4/30 Film: The Thinking Machine, Review None - None
Finals 5/6 - 5/15 - - Final: Friday, 5/14, 2-5pm, SCI Lower-26 -