CSCI E-220: Artificial Intelligence

From the Teaching Assistant

Fall Semester 2010

About Me

My name is Dwight Bell. My email address is Please send me any requests for help with homework or in understanding the material.

Office Hour

The office hour will be held 6:30PM to 7:30PM on Tuesdays beginning 9/14, in Science Center 101e. If you need help at any other time, you can email me, or we can arrange a time to talk via phone or instant message. See my contact information above to do so.



You'll want a good Common Lisp environment to do your work in, either on your own machine or on Harvard's. The best environment by far is SLIME (the Superior Lisp Interaction Mode for Emacs), which reproduces some of the power of the old Lisp Machines. Also, if you're not yet familiar with Emacs, I think you'll find it to be a peerless tool even when not working in SLIME or on Lisp.

The downside is that Emacs has a very steep learning curve. To help with this, there is a distribution called Lispbox which has everything you need to get started in SLIME without any fuss. Alternatively, you may find the LispWorks IDE to be more like other programming environments that you have used. The free Personal Edition has some limitations but should suffice for all coursework.


The required Lisp text for this class is Paul Graham's book Ansi Common Lisp. There are numerous other souces of information freely available on Lisp. Peter Seibel's book, Practical Common Lisp, is available free on the web. Paul Graham has a second book, On Lisp, which is more advanced.

For symbol reference, use the Common Lisp HyperSpec. The course text book, ANSI Common Lisp, also has a good reference in the appendix.


Go to the StarLogo site to download StarLogo or view the documentation.

Computing at Harvard

You'll need a FAS Unix/email account to submit your homework electronically.

A secure shell (SSH) program is necessary for connecting to your Harvard account remotely, and a secure FTP program for uploading and downloading files. If you're using Windows, PuTTY and PSFTP have what you need. If you're using a UNIX-like operating system (including Mac OS X, Linux, or Cygwin), ssh and sftp are probably already installed on your computer.

Section Handouts

Section 01

slides, code, transcript

Section 02


Section 03

slides, code

Section 04


Section 05


Section 06


Section 07


Section 08


Section 09


Section 10


Section 11


Section 12