Computer Science @ Marlboro  

Artificial Intelligence

Info | Syllabus | Lecture Notes | Assignments | Resources | Roster

  An examination of the methods used in problems encountered in trying to teach computers to "think." Topics covered will be among the following: representation of knowledge, learning, game theory, perception, neural networks, cellular automata, cognitive modeling, and natural language processing. Most people who work in AI, program in Lisp, and so we will probably learn it along the way--but that shouldn't be the main focus of the course. This is an intermediate course in computer science which will assume that you already have some programming skills.
  • When: Tu/Thur 1:30-2:50
  • Where: Sci 217
  • Faculty: Jim Mahoney
  • Text: Artificial Intelligence: A Modern Approach by Stuart Russell and Peter Norvig
  • Credits: 4 ( i.e. 9 hours/week outside class )
  • Level: Intermediate
  • Prereq: knowledge of a programming language


- initial thoughts -

The authors suggest that the whole text is 2 semesters, and that one chapter/week is a natural pace. We'll start at the top and see how it goes. Here's what a few colleges (out of 716!) have done.

  • Williams: approx chap 1-7, 18-20, 26 + some lisp + genetic algs.
  • Vassar: (2 wks lisp) + chap 1-15, 20 (1-4 in one week!) + genetic algs ; 4 projects
  • Swarthmore: 1-7, + other topics (robots,neural nets)+ 26,27 other common topics: genetic algorithms, neural nets; exams and homework
  • Hampshire: chap 3, 7-9, 19, 23 + much of "Software Engineering" (design specs, coding process) text.
  • Bard: chap 1-7, 9, + expert systems + learning 18,19 + language 23 + philosphy 26
    UMass: chap 1-7, 9; uncertainty 14-16; planning 11,17; learning 18-20; 24
Do we want to learn Lisp as we go? Hmmm.

I would you like you to each do two programming projects during the term, as well as the typical weekly assignments, one due before spring break, and one due at the end of the semester. As we read, think about what you'd like to dig your teeth into.

Lecture Notes

  1. for Tues January 28
    • Read chapter 1.
    • See how many of the questions in 1.7 you can answer by an online search.
  2. for Tues Feb 4
    • Read chapter 2.
    • Play around with the vacuum cleaner world, in the language of your choice; problems 2.7-2.12 on pg 57. Lisp code for such a world is on cs; see the Jan 31 lecture notes. You don't have to do every problem, but you should have a working system of some kind to show in class on Tuesday. Be ready to discuss the overall project.
  3. for Tues Feb 11
    • Get your vacuum code to some kind of reasonable state, and send to to me in email or via an html link
    • Read chapter 3 in the text, on searching.
    • Pick one of the search problems from chapter 3 to analyze and code, either problem 3.10 (the 8-puzzle), the eight queens problem, 3.14 (find a path of links between two web pages), or 3.19 (more on the vacuum world). Whichever you pick, implement and compare at least two different search strategies.
  4. for Tues Feb 18
    • Read chapter 4, on optimising searches.
    • Hand in some code of some kind for a search problem of your choice.
    • Think about a search project to be handed in by spring break.
  5. for Tues Feb 25
    • Look chapters 5 and 6, on constraint and min/max searches, to be discussed in class on the 21st and 25th.
    • Pick a problem from either chapter 5 or 6, do it, and be ready to explain in class what you did.
  6. for Thurs March 7
    • Read chapter 7 - logical agents
    • Do at least one of 7.3, 7.5, 7.8, 7.9, and be ready to discuss/present in class.


Jim Mahoney (
Last modified: Tue Apr 1 11:39:41 EST 2003