SYLLABUS/COURSE REQUIREMENTS CSCI322

SYLLABUS/COURSE REQUIREMENTS CSCI322


Course Name: Object-Oriented Programming in Artificial Intelligence

Prerequisite: Faculty permission (Knowledge of OO and/or AI)

Satisfies Graduate Area 8: Artificial Intelligence & Expert Systems

Class Days and Times: Tue & Thu, 8:00a-9:15a (Pacific)

Instructor: Anne Keuneke

Office Hours: Tue & Thu, 9:30-10:30a, 1:00-2:00p

Office Phone: (530)898-5998

Email: amk@ecst.csuchico.edu

Fax Phone: (530) 898-5995

Web Page: http://www.ecst.csuchico.edu/~amk/foo/csci322

Textbooks: (both required)

LISP 3rd Edition , Winston and Horn, Addison-Wesley Publishing, 1989, ISBN 0-201-08319-1

Intelligent Java Applications , Mark Watson, Morgan Kauffman Publishing, 1997, ISBN 1-55860-420-0

Software: Site availability and potential access.

Hardware: Site availability and potential access.

Course Description: This course will include both writing new programs and making extensions to previously used AI systems. Due to the amount of current AI systems running LISP, first we study the language constructs of LISP and the basic ideas and techniques of symbol manipulation in AI. Demonstrations of how LISP is used in practice through complete program examples (expert system shell development, constraint propogation systems, inference engines, etc.). Next, we develop and code new systems using the Java language. Java is chosen so that the programs can be used on the web. Focus, quite natural for AI, is on object-oriented techniques and modeling 'real world' systems.

Topics (not necessarily in this order - focus on 4-7 ):

  1. Symbol Manipulation

  2. LISP Functions, Predicates and Conditionals

  3. Constraint Propagation, Pattern Matching, Inference Methodologies

  4. Expert System Shells

  5. Java and Object-Oriented Programming

  6. Intelligent Agents

  7. Coding Expert Systems and Agents for Use on the WWW

Goals:

  1. Become familiar with the history, potential future and coding of AI Tools.

  2. Understand the structure, design, and implementation of AI Tools.

  3. Build an AI Tool or Expert System Shell (or module(s) thereof)

  4. Become familiar with AI languages in common use

Grade Evaluation Procedure:

"LISP has jokingly been called "the most intelligent way to misuse a computer." I think that description is a great compliment because it transmits the full flavor of liberation: it has assisted a number of our most gifted fellow humans in thinking previously impossible thoughts [Dikstra, 1972]."

Java - let the network be the computer