SE209 Course Outline
  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.

Course Topics

  1. Introduction: Compilers, interpreters, linkers, assemblers

  2. Intermediate Representations:
    1. Stack-Based Machines and Forth
    2. The Java Virtual Machine - architecture and programming
      Non-Java Issues: multiple inheritance and generics
    3. Other abstract machines: G-machine (lazy ML), WAM (Prolog), P-code (Pascal), SECD-machine (LISP)

  3. 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

NUIM Logo James Power,
Dept. of Computer Science
Last revised: 24 April 2000