NOTE 1: Check all code with the Unit Tester and the Lisp Critic before submitting. Even when there are no unit tests, all code can and should be checked with the Lisp Critic. If I notice mistakes in code that the Critic catches, I stop reviewing immediately and return the code.

NOTE 2: Type your function definitions into a file, not the Lisp Listener window! Code typed in the Listener window will be badly indented when submitted, and returned unreviewed.

Exercises versus Applications

Exercises are small coding problems. Like calisthenics, they help you focus on and strengthen specific "coding muscles."

Applications are larger coding problems, requiring you to master and apply multiple coding skills and basic AI concepts.

Both are critical for me to get a measure of what you know (see the rules on grading). In the first third of the course, you'll mostly do exercises, unless you already know a lot of Lisp. As the course progresses, you should shift over to more application work.

Your goal for this course is to prove to me that you're a good AI programmer. That means showing that you know how to apply the major tools of Lisp to AI problems. The best way to do that is to

Don't put off the application projects. Mix them in with the book exercises as soon as you've done the first 5 basic chapters of Graham.

Exercises

Applications

This set changes and grows every year. Newest, neatest, but least defined is the Google Freebase project.

Faculty: Chris Riesbeck
Time: MWF: 11:00am-11:50am
Location: Tech LR 5

Contents

Important Links