(AKA Computational Intelligence)

Document Change History


Quick links to this site:


Meeting times:

Final Exam



Office hours (tentative)

Click here for my schedule.


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. 27. Since 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 Project page

CLIPS Intro: A Gentle Introduction to CLIPS



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 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 shortly. Some possible projects might include

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: