CS101 - Functional and logic programming


Alan H. Bond
Office: Jorgensen 273, Telephone extension 3034, bond@cs.caltech.edu

Don't be mislead by the catalog entry which lists this course as ``Special Topics in Computer Science''. Functional and logic programming are core concepts and technologies for computer science and every computer scientist should know this material.
The three terms are explained on the course website:
http://www.cs.caltech.edu/~ bond/courselp.html

First term: CS101a Functional programming:
The theme this term is programming in terms of functions, and all the consequences of this ideal, which has lead to a lot of developments in programming language design and implementation. We will study theoretical concepts together with Scheme which is a variant of Lisp and ML which is a state of the art functional language.

Second term: CS101b Logic programming
The theme in this term will be Prolog, the language, programming techniques and theoretical principles. In addition, this year we will cover some key AI planning and knowledge-base applications, programmed in Prolog.

Third term: CS101c Multiagent systems
A treatment of the conceptual issues, programming mechanisms and applications of systems consisting of sets of cooperating intelligent agents. We will use the AI mechanisms in Prolog which we developed for single agents in CS101b, with interagent communication using sockets.


Alan Bond
2001-10-01