Advanced issues in programming languages
J Chen
6 points * 4 hours per week * Second semester * Caulfield
Review of issues related to programming languages and systems: syntax, semantics and tools. Concepts and paradigms of object-oriented programming languages and systems: objects, classes, inheritance, types, libraries and re-useability. Design alternatives of object-oriented programming languages. Models of concurrency in object-oriented programming languages. Computational models of object-oriented programming languages: automata as models of object behaviour, models of types and classes, the essence of inheritance. Tools for object-oriented programming systems. Type systems: types as invariants, types as sets of classes, type constraints, benefits of types. Type checking and inference: algorithms, static checking and dynamic checking. Inheritance: superclasses and subclasses, well-formedness and recursion. Comparison of object-oriented programming languages.
Assessment
Seminar paper: 40% * Practical work: 60%
Prescribed texts
Wegner P `Concepts and paradigms of object-oriented programming' OOPS Messenger Vol 1, Number 1, August 1990, ACM Press, pages 8-87
Palsberg J and Schwartzbach M I Object-oriented type systems Wiley, 1994
Recommended texts
Watt D A Programming language syntax and semantics Prentice-Hall, 1991