School of Computer Science -- The University of Birmingham
In collaboration with The University of Sussex:
Informatics Department and Centre for Research in Cognitive Science

This is part of the Free Poplog Portal


Lecture Notes on
General Programming and AI Programming
In Poplog/Pop-11
Aaron Sloman


Introduction

The lecture notes listed below are part of the 'Teaching Examples' directory which contains a small subset of examples of teaching materials based on Pop-11, the core language of Poplog.

The contents of the Examples directory are intended to help teachers get a rapid overview of the some of the teaching resources provided in Poplog, supporting both general programming techniques, in various styles -- procedural, rule-based, object-oriented (in several senses of that label), event-driven, logic-based, grammar-based, functional programming, and programming using a general purpose agent toolkit.

These notes form a supplement to the examples of freely available Pop-11 teaching material summarised in that directory. The notes are all in a plain text format, and the programming examples can all be run either by using the "load marked range" facility of the Poplog editor Ved, or by pasting them into the Pop-11 command line in a console/terminal window. However, some of the programming examples have gaps to be filled in by learners.

The lecture notes include some very elementary examples and also increasingly sophisticated examples. They were originally written as supplements to lectures for first year AI and CS students (including students with no previous programming experience) between about 1993 and 2000, when I was still teaching. Some of the examples are very elementary, while others require some experience of programming.

Some of the examples would work in most programming languages (with minor notational changes). Others depend on powerful symbolic computation facilities based on the Pop-11 pattern matcher, which can be used for programs concerned with planning, reasoning, understanding language, interpretation of visual contents, metaphorical reasoning, representation of motivation, and many more.

The notes may be copied, edited, and used for any purpose whatsoever. Attribution is welcomed but not a requirement.

The notes are somewhat messy/disorganised, and suggestions for improvement are welcome. They complement the Pop-11 primer and other teaching resources, including the large collection of "teach" files associated with particular Pop-11 library packages.

Experienced programmers wishing to learn more about the Pop-11 programming language may prefer to start with the Pop-11 primer, available in HTML and PDF formats. There is also a very condensed summary of a useful subset of the syntax of Pop-11 here.


Lecture notes

This document and the documents referred to in it are subject to the (very liberal) Poplog copyright notice.

Suggestions for improvement are welcome.

This file maintained by:
Aaron Sloman
Last Updated: 31 Jan 2010; 14 Jul 2010
Installed: 31 Jan 2010