CS63 Artificial Intelligence
Fall 2005
Swarthmore College

Professor: Lisa Meeden
Course: Tuesdays, Thursdays 1:15-2:30, SCI 252
Lab: Fridays 2:15-5:00, SCI 252
Email: meeden AT cs.swarthmore.edu
Office: SCI 243
Phone: 328-8565
Office hours: Wednesdays 1:30-3:30pm, or by appointment

Contents

Edventure
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). 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.

On Tuesdays and Thursdays we will meet for class, and on Fridays we will meet 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 python, an interpreted programming language that can take on many different paradigms (such as imperative, functional, or object-oriented). For a quick introduction to Python, try How to think like a computer scientist: Learning with Python.


Texts


Grading

25%: Midterm Exam, Thursday 10/6
25%: Final Exam, Monday 12/5
35%: Labs
15%: 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 Tuesday 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 11am the next Friday. Late homework is not accepted, unless 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.


Schedule

WEEK DATES TOPICS READINGS ANNOUNCEMENTS LAB
1 8/29 - 9/2 Introduction to AI Coppin Ch. 1-3 - 1: State space search
2 9/5 - 9/9 Search
nqueens.py
hillClimbing.py
annealing.py
Coppin Ch. 4 Drop/Add ends 9/9 2: Eight-puzzle
3 9/12 - 9/16 Game playing Coppin Ch. 6
Schaeffer article
- 3: Konane
4 9/19 - 9/23 Machine Learning
Reinforcement Learning
Coppin Ch. 10
Tesauro article
- 4: Konane tournament
5 9/26 - 9/30 Decision trees Shavlik et. al. article - 5: Decision trees
6 10/3 - 10/7 Review for exam None Midterm Exam: Thursday, 10/6 None
- 10/10 - 10/14 - - Fall break -
7 10/17 - 10/21 Braitenberg Vehicles Pfeifer & Scheier Ch. 6 - 6: Vehicles
8 10/24 - 10/28 Behavior-Based Control Pfeifer & Scheier Ch. 7 - 7: Subsumption
9 10/31 - 11/4 Neural Networks
NNvoting.py
votingData.py
Coppin Ch. 11 Last day to withdraw 11/4 8: Neural networks
10 11/7 - 11/11 Recurrent Networks
srn.py
sraam.py
Elman article - 9: Learning to predict
11 11/14 - 11/18 Genetic Algorithms
GAMaxBits.py
GPxor.py
Coppin Ch. 14 - 10: GA experiments
12 11/21 - 11/23 Artificial Life
CArule110.py
CAruleGKL.py
Coppin Ch. 13 Thanksgiving break None
13 11/28 - 12/2 Evolving Neural Networks Meeden & Kumar article - Review for exam
14 12/5 - 12/6 - - Final Exam: Monday 12/5 -