THE POPCOURSE TEACHPACK
Chris Thornton
Preface
POPCOURSE is a series of teach files (TEACH POPCOURSE1, TEACH POPCOURSE2
etc.) that cover POP-11 programming and use of the Poplog system to a
reasonable level of sophistication. The course is primarily intended for
AI1 students. However, there are no prerequisites so other students
might use it too. Each file has a list of exercises at the end. Students
are discouraged from moving on to the next file in sequence until they
have completed these successfully.
Material in the POPCOURSE files has been adapted from existing teach
files and lecture notes, usually without acknowledgement. Some of the
material is original.
Features of the course include the following.
- It is self-contained and strictly bottom-up. In the earlier
files there are no cross-references to any sources outside the course.
Anything you meet at time t should have been introduced at t-n.
- Tutorial material on POP-11 is mostly problem-driven.
- Files contain no references to terminal specific keys or other
historical funnies.
- The text is in `autoformat' format (see HELP AUTOFORMAT). Derivation
of a pretty, latex hardcopy version is possible. (To build it, get into
a directory with all the popcourse files in it, load lib autoformat, and
do `afbr popcourse?').
- Quoting conventions are (supposed to be) consistently applied
throughout the files. Pairs of single-quotes are used for all varieties
of `mention' usage except where the mention concerns a piece of POP-11
that already features some form of quoting (e.g., <true> or [hello].)
- Most of the earlier tutorial material on POP-11 uses a tiny subset
of POP-11. This subset excludes database procedures, explicit stack use
etc.
- Files do not assume the user is interacting via a terminal.
- Exercise material usually adds to the tutorial material. That is,
you find out new things by doing the exercises. Later files assume you
know these things.
The course is essentially an attempt to respond to common criticisms
made by AI1 students.
Preface to 93 edition
The course has been extensively revised with the aim of making it slower
and more fun. I have spaced out the POP-11 tutorial files so as to push
back the difficult material on procedure-parameters, recursion etc. The
first four files (2-5) now provide an intro to a truly minimal subset of
POP (essentially just variables, repeat loops, matches and simple
procedures). Files 6-8 take in complex procedures, other looping
constructs and recursion (the full popcourse subset). Many of the
exercises now use the LIB POPBUGS bugworld simulation package. In these
exercises, the student has to write code to manipulate simulated bugs in
a graphical display (which is hopefully a bit more fun that writing code
to do list-processing). Obviously, the new exercises cannot be done by
students using VDUs. But with forthcoming lab upgrades, there should be
a decreasing number of these.
Acknowledgements
Thanks to David Weir and Ben du Boulay who provided a lot of help in the
development of these files.
Page created on: Fri Apr 26 09:34:46 BST 2002
Feedback to Chris Thornton
hits this year