IS 2300
Human Information Processing
Fall 2008
Douglas Metzler


DESCRIPTION of ASSIGNMENTS

The assignments will involve work in a programming language called CLIPS which is a rule and object based language intended for the development of expert systems and related intelligent systems. The purpose of the assignments is to give you experience in seeing how models of human problem solving and reasoning can be implemented in software. The assignments will lead toward small scale implementations of various models of problem solving and reasoning such as synthesis of an object according to needs, diagnosis/analysis of a situation, and heuristic adverserial reasoning.

SOFTWARE ENVIRONMENT

The software you will be using for the term project is called CLIPS. The main home page for CLIPS is at:

CLIPS home page

At this location there is all kinds of information about CLIPS and at the download link you will see where to get versions for mac, windows or unix. The documentation available at this site is in PDF.

I will also post a Word version of the previous documentation that you might find more convenient for searching. There is not any difference between the versions that will be relevant for what you are doing in this class.


This software was developed by NASA and is freely available to the public. You can download the software to use at home or at any university lab. CLIPS files are just plain text files and so they are completely cross platform compatible. They are also completely backward and forward version compatible as long as you stay with the basic functionality that does not change between versions. So you can work on which ever platform and version you choose. Differences between versions involve advanced features that you will not need for these assignments. The windows version of CLIPS 6.1 is available on the J drive in the SIS PC lab. CLIPS and all of the free documentation is quite compact and won't take much space on your machine. Also, there are versions of CLIPS that will run on legacy Macs and on Windows as old as 3.1.

CLIPS was written by NASA to develop powerful expert systems and to embed them in other existing software environments. Thus it is written in C, and can call subroutines in C and other languages, and can also be embedded in C programs as well as in a few other languages. You won't need to use C at all (or even look at C code) for these assignments, but the option is there if you want to use it. Although CLIPS is a very powerful programming language the basic ideas are simple and you won't have to go much beyond the basic ideas for these assignments.

There is a variation of CLIPS written in Java rather than C, called Jess. I don't recommend that you use it because it requires you to do some of the interface building yourself in Java, but there is good information at the sight about the family of systems that Jess and CLIPS belong to (the earliest practical system in this family was OPS, especially OPS5, developed at CMU). Jess is available at:

Jess Home Page

IS2300 Home Page