This course ended
May 3, 2003

CPSC 453: Artificial Intelligence

   Department of Mathematics and Computer Science
   Hobart and William Smith Colleges

   Spring, 2003.

   Instructor:  David J. Eck  (

   Monday, Wednesday, Friday, 10:10 -- 11:05 AM.
   Room Lansing 300.

   Course Handout:

Some Related Web Links

Assignments and other information about this
course, will be posted on this page as it is taught
during the Spring term of 2003.

End of Term: April 28 and May 3.

Monday, April 28, is the last day of class. Your term project is due on Saturday, May 3, and there will be presentations on the projects during the final exam period from 1:30 to 4:30 on that day.

Fourteenth Week: April 21, 23, and 25.

An information sheet is available for the test that will be given on Friday. This sheet also has some information on the term project presentations that will take place during the final exam period. On Monday and Wednesday, we will finish up the material on the genetic algorithm.

Thirteenth Week: April 14, 16, and 18.

We will begin discussion of the genetic algorithm on Wednesday. You should read Chapter 11, Sections 1 and 2. There is also a handout on "emergence" that you should read for discussion on Friday.

The due date on assignment 7 has been postponed until this Friday, April 18.

Remember that there is a test coming up next week, on Friday, April 25.

Twelfth Week: April 7, 9, and 11.

Assignment 7 asks you to do a bit of work with LISP and grammars, using the idea of generating a random string from a grammar as we discussed in class. The assignment is to write the definitions of three functions, get_def, expand, and expand_item, in the file gramgen.lisp. You can find a copy of this file in the directory /home/cs453. The assignment is due next Wednesday, April 16.

We will be talking about neural nets in class this week. The reading from the textbook is Chapter 10, pages 417 to 436 only. There will also be a reading from "The Man who Mistook his Wife for a Hat", which you should be prepared to discuss on Friday.

Eleventh Week: March 31; April 2 and 4.

We will continue our look at symbolic machine learning on Monday, and then begin our look at LISP.

Tenth Week: March 24, 26, and 28.

After the test on Monday, we will continue to discuss symbolic machine learning (Chapter 9). The sections that we will cover are: Section 9.1, 9.2, 9.3, and 9.6. I will also be handing out a reading on the LISP programming language. Assignment 6, is on the topic of minimax and is due on Friday of this week.

Ninth Week: March 17, 19, and 21.

The assignment on CLIPS is due on Wednesday. The next assignment will be on MiniMax. This topic is covered in Sections 4.3 and 4.4 of the textbook, pages 144--155. The next assignment, Assignment 6, is on the topic of minimax and is due next Friday, March 28.

After finishing this topic on Monday, we will move on to Part IV of the textbook, which is about machine learning. You should begin reading Chapter 9.

There is a test next Monday, March 24.

Eighth Week: March 3 and 5.

Spring break begins on Friday. We will look at game-playing using MiniMax, and on Wednesday, we will discuss the reading from "Understanding Computers and Cognition."

Seventh Week: February 24, 26, and 28.

For this week, you can finish reading Chapter 7, but you should not worry about understanding the NASA examples. We will also be continuing with the CLIPS expert system shell this week. There will be a handout about CLIPS. You can also take a look at the Basic Programming Guide, a 400-page reference manual that can be found in the PDF file /home/cs453/CLIPS/bpg.pdf or on-line. The clips program itself, the sample program buckets.clips, and other materials can also be found in the directory /home/cs453/CLIPS. There is no additional reading for this week.

The fifth assignment of the course is due Wednesday, March 19. (Modified from the original due date of March 5.) The assignment is to write a small expert system using CLIPS. Ideally, you should choose your own subject for the expert system. If you do this, you have the option of working in a group. You can also do re-do one of our two prolog assignments (missionaries-and-cannibals or has-and-can), but if you do that, you should work alone.

Sixth Week: February 17, 19, and 21

We continue with expert systems and take a first look at CLIPS, an expert system shell from NASA. The extra reading for the week consists of two short stories by Jorge Luis Borges: "Pierre Menard, Author of the Quixote" and "Funes the Memorious".

Fifth Week: February 10, 12, and 14.

There is a test on Wednesday of this week. An information sheet about the test is available. The information sheet also contains the next assignment, which will be due next Monday. The assignment consists of a first report on your term project.

On Friday, we move on to Chapter 7 and Expert Systems. In order to understand this material, we will have to spend a little time on productions systems, which are introduced in Section 5.3 of the text.

Fourth Week: February 3, 5, and 7.

The handout for the week is a short except from Hans Moravec's "Robot: From Mere Mind to Transcendental Machine". Read this for discussion on Friday. From the textbook, you should read the rest of Chapter 6 (pages 218-240), ignoring completely the incomprehensible Subsection 6.3.2 on the Copycat Architecture.

The third assignment will be due on Monday of next week. There is a test next week, on Wednesday, February 12.

Third Week: January 27, 29, and 31.

You should read the handouts (two short science fiction fabels) for discussion on Friday. The reading from the textbook is: introduction to Part II (pages 33 to 46) and the start of Part III through section 6.1 (pages 193-218). You should not try to learn any of the details of Conceptual Dependency (Subsection 6.1.3).

Assignment 2 will be due on Friday of this week, rather than Wednesday as was stated in the assignment.

Second Week: January 20, 22, and 24

You should read this week's handout on genetic programming for discussion on Friday. We will start learning Prolog programming this week. You should read pages 603 to 616 in the text.

First Week: January 13, 15, and 17

The first week of the course will introduce the idea of artificial intelligence. Monday will be a general overview of the topic. For Wednesday, you should read the handout "Computing Machinery and Intelligence" by Alan Turing. For Friday, you should read the handout "What is an AI Technique?". You should be prepared to discuss these handouts in class! I also hope to spend some time during the week on a review of predicate calculus and possibly a first brief look at Prolog.