About this course

This course is about designing and implementing intelligent components, using symbolic knowledge representation, developing tools for authoring the knowledge needed by such systems, and doing it all with tested maintainable code.

The language used is Common Lisp. Prior Lisp knowledge is not expected, but fluency in programming in some language is required.

The textbook for this course is Paul Graham's ANSI Common Lisp. You must have this book for the exercises. It has some great examples, plus a list of all 900+ Common Lisp functions.

Start doing the setup tasks immediately. As soon as you have the first task done, start working on some exercises as well.

Wakeup Quizzes

Most classes will start with a short Wakeup Quiz. Bring a laptop or tablet, or blank paper and pen or pencil to every class. Each quiz will be

  • just a couple minutes
  • worth a quarter of a point
  • ask something about some Lisp or AI code, like "what does this do?"

Quizzes will be collected. All serious attempts at answers, even wrong ones, will earn your quarter point. The goal of these is to kick-start brain cells. Missing a couple will not be a big deal, but over the course, the total of all quizzes is about 5% of your grade.

"Any sufficiently complicated C or Fortran program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp." — Greenspun's Tenth Rule
"Lisp is worth learning for the profound enlightenment experience you will have when you finally get it; that experience will make you a better programmer for the rest of your days, even if you never actually use Lisp itself a lot." — Eric Raymond, How to Become a Hacker
Faculty: Chris Riesbeck
Time: Monday, Wednesday: 12:30pm - 2pm
Location:Annenberg G21


Important Links