(AKA Computational Intelligence)

Quick links to this site:




Meeting times:

3:00 - 3:50 MTThF, Thompson 311

Final Exam

The final exam for this class will be a take-home final distributed during the last class meeting (Tuesday, Dec. 5), and due during the first half of the scheduled final exam period (Thursday, Dec. 12, 4:00 - 5:00).


Office hours (tentative)

Click here for a schedule of my fixed obligations.


Programming exercises will be graded on style and documentation as well as correctness. Programs must include header documentation as well as adequate internal documentation unless otherwise specified. Late assignments will be accepted (with an increasing penalty) until the graded exercise is returned to the class. All assignments turned in must represent individual effort: work done by a committee cannot be accepted except where a group effort is a clearly stated part of the assignment. All students in Computer Science classes at the University of Puget Sound are responsible for the material contained in the document on academic honesty published by the Department of Mathematics and Computer Science and included in the Academic Handbook.

A minimum grade of 50% on exams and 50% on homework assignments is a necessary (but not necessarily sufficient) condition for a passing grade.

Finally, the last date for withdrawing from this class with an automatic W is Monday, Sept. 25. In the event that we do not have an hour exam before that date, I will assign a WP grade to any formal withdrawals (i.e., completed using the necessary form and submitted to the register's office) up to a week after the day that the first hour exam is returned to the class. Of course, should you find yourself in difficulty at any point in the semester, please make arrangements to meet with me as quickly as possible.

Weekly Schedule:


Exam Reviews

Term Project/Paper



Catalog Description

This course introduces the student to the techniques of artificial intelligence using LISP or Prolog. The student is introduced to the basic techniques of uninformed and informed (heuristic) search, production systems, expert systems, neural networks, and to techniques of knowledge representation and problem-solving. Additional topics may include alpha-beta pruning in game trees, computer models of mathematical reasoning, natural language understanding, machine learning, and philosophical implications.


CSci 261 and some form of discrete or formal mathematics. Experience with the propositional and predicate logics is a useful prerequisite for this course. A grade of C- is required in prerequisite courses.

Method of Instruction


Students will be evaluated on the basis of homework, exams (including a comprehensive final), and a paper or project as follows:

You will be asked to explore one of the topics discussed in the class in greater depth through either a written research paper or a significant programming project (which may include one of the AI tools available here at UPS or on the web). This may include both advance or additional reading. A detailed description of the paper/project together with a schedule will be available on Friday, Oct. 6, but a draft schedule can be found in the lecture schedule.

Basic, core material

Percentages should be taken as approximate guidelines. Topics may not be presented in the following order.

Philosophical issues (10%)

Language basics (10%)

Introduction to the language to be used in the course (LISP or Prolog or both).

Searching (20%)

Knowledge Representation (20%)

Problem solving. (20%)

Neural Networks and Genetic Programming (20%)

Additional topics

In addition to the "core" topics listed above, the course should include several of the following topics, depending on the interest of the instructor(s) and the class:


Draft Schedule

Note: Please note that, except for scheduled University events and exam dates, the schedule of topics, readings, and assignments is tentative. It may be necessary to change an exam date: if that happens, I will give you at least a week's notice and make alternate arrangements for students unable to take the exam on the rescheduled date. Please inform me of any conflict between the dates entered here and those in the catalog and course schedule. In the event of any conflicts, the catalog and course schedule have the final say.

Exam Schedule

Paper/Project Schedule

More details on the paper or project will be forthcoming Monday, Oct. 9. Please note in advance, however, that substantial penalties will be assessed for missed deadlines for the paper, including all of the submittables described above.

Lecture Schedule

Once again, please note that this is a tentative (and somewhat ambitious) schedule. Although we will keep to the dates for exams and project/paper dates, the rest of the schedule will probably change. Please consult the "this week" and "next week" files available through my home page for current details.