Authorised by Academic Registrar, April 1996
Objectives At the completion of this subject students should understand and be able to use various programming abstraction techniques; understand basic object-oriented programming concepts; and understand the operational meanings of object-oriented systems.
Synopsis Review of Scheme: data structures, procedural and functional styles, recursion and iteration. Higher-order procedures that accept other procedures as arguments and use them on other data or procedural objects. Construction of objects that encapsulate some data and procedures that can act on that data. This is the basis of object-oriented programming, but is seen as a way of constructing an OOPS rather than using one. Memorisation of delayed objects. Partial evaluation of expressions: quotation versus quasi-quotation.
Assessment Examinations: 50% + Practical work: 50%