
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.
