CSCI 5582: Artificial Intelligence


Monday/Wednesday 4-5:15 PM


The former ECCR 1-16 (CATECS room)


Gerhard Fischer

Mike Eisenberg, x2-8091
Office hours: Thursday 10:30-noon, or by appointment


Ann Nishioka


S. Russell and P. Norvig, Artificial Intelligence: a Modern Approach , Prentice Hall, 1995.

P. Norvig, Artificial Intelligence Programming, Morgan Kaufmann, 1992.

M. Eisenberg, Programming in MacScheme, MIT Press, 1990.
(on reserve at the Engineering library)

(Optional) MacScheme Manual, Lightship Software.
(on reserve at the Engineering library)

This course provides a graduate-level introduction to the nature and scope of research in Artificial Intelligence and its applications. It is the basic course upon which other Artificial Intelligence courses taught in the department build.

Topics to be covered: Introduction to Lisp/Scheme programming; problem-solving and search methods; introduction to logic in AI; qualitative reasoning and reasoning under uncertainty; machine learning; computational theories of vision and perception; introduction to game theory and computational models of agency; introduction to natural language processing; critiquing methods and AI in design; philosophical foundations.

Prerequisites for taking this course:

Graduate student status.

Tapes of the lectures will be available through the CATECS office on the first floor of the Engineering Center. If you borrow one of these tapes, please be considerate and return the tape promptly after viewing it. We will also maintain a Web page for the course which will include copies of assignments, announcements, etc.

Assignments and Grading:

There will be two problem sets and a project due in this course, as well as "commentaries on selected readings". The two problem sets will be handed out during the first half of the course, and will require about 1.5 weeks (for the first) and about 2.5 weeks (for the second). We'll have more to say about the project later, but for now we'll mention that this should be a project involving independent research and (most likely) some programming. We would strongly prefer that you work in small groups for the project, though individual projects are allowed. The project will involve handing in a brief "idea statement" about midway during the semester; then a more formal project proposal; a progress report in mid-November; and finally, a full project report at the end of the semester. Programming for the course project should be done in Lisp or one of its dialects (e.g., Scheme, Logo); with that constraint, you can choose any system that you wish (e.g., Macintosh Common Lisp, Kyoto Common Lisp, MacScheme, Microworlds Logo). We'll present some suggestions for possible projects as the semester unfolds.

Over the course of the semester we will assign a variety of readings related to topics in the course. A small number of these (perhaps 5 or 6) will be "required", while many more will be "optional." You will be expected to send in (via email) brief, one-paragraph summaries of all the required readings and at least 5 of the optional readings. We would also like to spark some discussion of the readings, and if you have comments or questions about the readings that you would like to pose to the class, we will post these on a class Web page that we are setting up.

The grading for the course will be based on the following weighting for the assignments:

Problem Set 1: 15%
Problem Set 2: 25%
Project: 45%
Readings: 15%

Late assignments WILL NOT be accepted. In case there is a major conflict with the due date, please discuss the issue with Gerhard or Mike at the time the assignment is handed out. It is our policy not to give incompletes at the end of the semester.

Software and Programming:

The programming assignments and examples in this course will be given in Scheme, a dialect of Lisp. We do not assume that you have any prior experience programming in Lisp or Scheme; but we do assume that you have enough sophistication in computer science so that you can learn the language quickly and (relatively) independently for this course. We will spend the first several lectures introducing you to Scheme/Lisp programming, and this should provide enough background for you to develop further expertise on your own. The book Programming in MacScheme should be a sufficient reference for any of the assigned work in this class, but if you wish to do more advanced work (which might occur, for instance, in the course of your project) you should consider getting hold of the MacScheme manual, which should be available at the bookstore by mid-September.

Where to run MacScheme

There is an open Macintosh lab on the second floor of the engineering center in rooms ECCR 244 and ECCR 225. These rooms contain Power Macintosh clones which run SchemePaint in 12 MB of RAM.

Back to CSCI 5582