CS 344 Resources


The textbook for this course is Forbus & de Kleer's Building Problem Solvers.  While our public archive for the book has a copy of the course code, please use the course copy of the code, which will be updated more quickly. 

Other Code

You will also be using our new FIRE reasoning engine this year.  Since FIRE is still under development and is not yet available as open-source, we will make special arrangements to distribute it to you.

Common Lisp programming

We use Common Lisp exclusively in this course because it is still the best language for symbolic programming.  Scheme comes a close second, but the lack of standardized libraries means that Scheme programmers must roll their own versions of many utilities that should be part of any modern language environment. 

The version of Common Lisp we assume is Franz, Inc.'s Allegro Common Lisp for Windows or for Linux; we have a university-wide site license for both products that can be used on-campus; please see Blackboard for details.  While there are many other fine Common Lisp implementations, they won't be sufficient for this course because some of the time we will be using FIRE, which relies on the AllegoCache persistent object database from Franz.

If you are new to Common Lisp programming, please check out the resources listed at the Association of Lisp Users for tutorials and background materials.

AI Programming

Building Problem Solvers and this course are focused on building reasoning systems.  For other types of AI programming, and great discussions of implementation tactics and performance tuning, we strongly recommend Peter Norvig's excellent Paradigms of Artificial Intelligence Programming: Case studies in Common Lisp.


Last edited 1/6/08 by KDF
EECS 344 Home Page