CPSC 453: Artificial Intelligence

   Spring, 2005.

   Instructor:  David J. Eck.

   Monday, Wednesday, Friday, 1:55 -- 2:50 pm
   Room Gulick 100.

About the Course

Artificial Intelligence has become an enormous field, and there is no chance of surveying even all of its major topics in a single term. The textbook that we will use tries to bring some order and unity to the field by relating everything to the idea of an "intelligent agent." An intelligent agent perceives its environment (that is, it has some inputs), and it must generate appropriate actions based on its perceptions (that is, it has outputs). Whatever goes on inside the agent is its "intelligence," that is, its ability to generate an appropriate, rational response based on its perceptions. In this point of view, the goal of artificial intelligence is not to imitate human intelligence or even to understand how human intelligence works. The goal is simply to make decisions about "what to do next" that appear to be rational or intelligent.

The textbook for the course is Artificial Intelligence: A Modern Approach, Second Edition, by Stuart Russel and Peter Norvig. It is a long book (1000 pages) that contains enough material for a two-semester course. We will cover a selection of topics. This will include most of Chapters 1 through 4 and 6 through 8. I also hope to cover three later chapters (11, 18, and 22) that give overviews of several sub-fields of A.I.

The textbook does not use any particular programming language. It describes algorithms and data structures in language-neutral terms. Implementations in various languages are available on the textbook's web site. Traditionally, a lot of A.I. programming has been done in LISP and Prolog, languages that are appropriate for symbolic computation. We will cover at least a little Prolog, and we might also do a little LISP, depending on the interests of the students in the class.

Homework and Term Project

I will assign and collect homework throughout the course. Some of the assignments will be programming exercises, but the majority will be written assignments. Many of these will be taken from the end-of-chapter exercises in the textbook. You can always discuss homework with other students, as well as with me, but you should write your own programs and you should write up your own answers to written assignments.

In addition to the homework, each student in the class will work on an individual term project. You will design a project in consultation with me during the course of the term. The project will most likely consist of a research paper together with a few demonstration programs. Part of the project will be a presentation. Presentations will probably be scheduled during the reading period after the end of classes.

Meet the Candidates

The Math and Computer Science Department will be trying to hire another computer science professor this term. We will be bringing three or four candidates to campus. Each candidate will give a talk and will meet with students. As part of the requirements for this course, you should attend each candidate's talk or else go to that candidate's meeting with students. (In the event that you absolutely cannot meet with a given candidate, it might be possible to substitute attendance at other departmental talks.) Part of your grade for the course is based on meeting this requirement.

Tests and Grading

There will be three in-class tests, which will be given on Monday, February 21; Friday, April 1; and Friday, April 29. Because senior grades are due at the same time as the scheduled final exam period for this course, there will be no final exam.

Your grade for the course will be determined as followed:

         First Test:          18%
         Second Test:         18%
         Third Test:          18%
         Term Project:        20%
         Other Assignments:   20%
         Meet the Candidates:  6%

Attendance Policy

This is a very small class, and it is important for everyone to be at every class. In the event that you absolutely cannot be in class, please inform me in advance if possible. Although I do not formally count attendance as part of the grade, I reserve the right to lower your grade because of excessive absence.

Office Hours, Email, WWW

My office is room 301 in Lansing Hall, just next door to our regular classroom. My office phone extension is 3398. I am on campus most days, and you are welcome to come in anytime you can find me there. I will announce office hours as soon as my schedule is determined, but note that your office visits are not restricted to my regular office hours.

My email address is eck@hws.edu. Email is good way to communicate with me, since I usually answer messages within a day or two of receiving them.

The Web page for this course can be found at http://math.hws.edu/eck/cs453/.

Tentative Schedule

We will work out some of the details of the course as we go along. The following very tentative schedule will give you some idea of what I would like to cover:

When What
January 17, 19, 21 Chapter 1
January 24, 26, 29 Chapter 2
January 31; February 2, 4 Begin Chapter 3
February 7, 9, 11 Finish Chapter 3; begin Chapter 4
February 14, 16, 18 Finish Chapter 4
February 21, 23, 25 Begin Chapter 6
Test on Monday, February 21
February 28; March 2, 4 Finish Chapter 6; begin Chapter 7
March 7, 9 Finish Chapter 7
Spring Break, March 11 to 20
March 21, 23, 25 Begin Chapter 8 and Prolog
March 28, 30; April 1 Finish Chapter 8 and Prolog
Test on Friday, April 1
April 4, 6, 8 Begin Chapter 11
April 11, 13, 15 Finish Chapter 11, Begin Chapter 18
April 18, 20, 22 Finish Chapter 18, Begin Chapter 22
April 25, 27, 29 Finish Chapter 22
Test on Friday, April 29
May 2 Last day of class
May 4 -- 6 Presentations for Final Projects