Syllabus for CS251
Artificial intelligence (AI) is a broad field that draws on many disciplines, and so too will this course. The use of the computer as a tool for research, and a firm grounding in computation distinguishes AI from other cognitive sciences. Thus, this course will include readings on the philosophy of mind, logic, linguistics and computer programming (mainly in Lisp).

Contents

Course Texts

The texts for the course include:

Note: Did you know that you can buy your textbooks online (for all classes, not just this one)? Both BigWords and Varsity Books sell textbooks from the Web. If you go to BigWords, tell them reference number 2681 sent you.)

Artificial Intelligence: A Modern Approach

AIMA is the main textbook and has become very popular with introductory AI classes nationwide. I evaluated several books, but chose AIMA because of its breadth of coverage. The book addresses natural language processing, robotics, vision and other topics not found in other texts.

ANSI Common Lisp

Although I haven't used this book extensively myself, it looks well-written and covers CLOS2 as well as "ordinary" Lisp. I'm very interested in your thoughts on this book.

MIT Encyclopedia of Cognitive Science

The MIT Press is rolling out a new encyclopedia, and is making the text available online. The articles are short, but the quality of insight and authorship is a bit uneven. Generally, I've assigned the readings as introductory material before tackling the AIMA textbook.

Common Lisp, The Language 2nd Edition

This is the definitive book on Lisp (and I do mean definitive). The text is a bit dated, the explanations long and detailed with a smattering of humor (try looking up "recursion" in the index). But if you want to know whether you're wrong or your Lisp compiler is, this is the place to go. If you're going to continue in AI or just with Lisp, you need this book.

Course Topics

Note: If a lecture title is linked, then the lecture is available online. See the heading Linked Lectures for more info on reading online lectures.

When

Topic

AIMA

Lisp

Other

Week 1 And Now for Something Completely Different      
Introduction to Macros      
Week 2 More on Macros   Chapter 10 Course notes
Intro to Planning Chapter 11 (Especially 11.4)   Planning
Week 3 Planning (Tuesday, Thursday) Chapter 13 (skim)   A Review of AI Planning Techniques
    A Cognitive Model of Planning
Week 4 Robotics (Tuesday) Chapter 25   Elephants Don't Play Chess (in PDF) (Tuesday)
What are plans for? by Phil Agre (Thursday)
Week 5 Introduction to Computer Vision Chapter 24 (skim)   A Guided Tour of Computer Vision (Chapter 1) by Nalwa
Computer Vision I Sections 24.3-24.6    
Week 6 Computer Vision II     A Guided Tour of Computer Vision (Chapters 2,3) by Nalwa
Natural Language I Chapter 22 (skim), Chapter 23    
Week 7 Natural language - Syntax     Grammars and Parsing (Chapter 4 from Natural Language Processing)
Natural language - Semantics     Inside Computer Understanding, Chapters 1-3
Week 8 Natural language - Semantics      
Week 9 Natural language - Semantics      
Uncertainty Chapter 14    
Week 10 Uncertainty/Wrap-up      

Linked Lectures

The lectures will usually be written in Microsoft PowerPoint '97, which means they can be read either with Office '97 (Windows) or Office '98 (Mac).

If you want to view the PowerPoint '97 files on a Mac that only has PowerPoint 4.0, you can download a converter from Microsoft.

To use the converter in the MacLab:

  1. Use the browser's 'Save As...' feature to save the PowerPoint '97 format file on your computer.
  2. Open the Microsoft Power Point '97 folder on MacLab Resources (Applications:Graphics:Microsoft PowerPoint 4).
  3. Drag the presentation you saved in step 1 on to the Set File Tool icon. (The Set File Tool won't change the location of your file, but it will convert the presentation into a Mac PowerPoint presentation.)
  4. Double-click the presentation to start PowerPoint.

2. CLOS is the Common Lisp Object System, and brings together Lisp and object-oriented programming. CLOS has many powerful features as an OO language, and in fact is more powerful than C++ in some ways. (Return)