The official title of the course is "Principles of Computer
Programming I" - it's really a course about compilers and
interpreters, and how they work.
- Introduction: Compilers, interpreters, linkers, assemblers
- Intermediate Representations:
- Stack-Based Machines and Forth
- The Java Virtual Machine -
architecture and programming
Non-Java Issues: multiple inheritance and generics
- Other abstract machines: G-machine (lazy ML), WAM (Prolog), P-code (Pascal), SECD-machine (LISP)
- Related Issues: Garbage collection, optimisation
Here's a sample written exam.
- Lab 1 on Forth (16/02/2000)
- Lab 2 on Oolong basics (01/03/2000)
- Lab 3, also on Oolong (29/03/2000)
- Lab Exam on 26/04/2000