Authorised by Academic Registrar, April 1996
Objectives On completion of the subject, students should know the major attributes by which programming languages are judged; be familiar with the major features of important programming languages and their historical development; be able to analyse critically past, present and future programming languages; and be able to write non-trivial programs in at least one novel programming language.
Synopsis This subject examines alternative programming languages and paradigms such as functional programming, logic programming, string processing and object-oriented programming. Topics include syntax and specification techniques, control mechanisms, runtime environments, parameter passing methods, typing, polymorphic types, operators (overloading), coercion, recursion. Practical component: experience with some novel programming languages.
Assessment Examination (2 hours): 70% + Practical work: 30%