MONASH UNIVERSITY FACULTY HANDBOOKS

Computing & Information Technology Handbook 1996

Published by Monash University
Clayton, Victoria 3168, Australia

Authorised by Academic Registrar, April 1996


CFR3160

Programming principles and paradigms

J Han and P McKenzie

6 points + 4 hours per week + Second semester + Peninsula + Prerequisites: CFR2128 or equivalent + Prohibitions: CSC3030, SFT2207

Objectives At the completion of this subject students should understand programming principles and be able to relate them to various application contexts; be familiar with the major programming paradigms and their representative languages; understand how programming principles are supported by these paradigms; and be able to select and deploy appropriate programming paradigms and languages in given application contexts when necessary, and have the ability to easily adjust to new programming paradigms.

Synopsis This subject presents a systematic account of programming principles and examines alternative programming paradigms. Topics include: review of imperative and object-oriented programming paradigms; study of the functional programming paradigm - functions, lists, polymorphism, higher-order functions, currying, lazy evaluation, equations, pattern matching; study of the logic programming paradigm - Horn clauses and their execution, logical variables, relations, data structures, search control; introduction of other programming paradigms and concepts, including parallel and distributed programming, co-routines, communication and synchronisation, and constraint programming. This subject emphasises how programming concepts and principles are supported in the different paradigms.

Assessment Examination (3 hours): 40% + Practical work: 60%

Prescribed texts

Recommended texts


| Subjects | Computing & Information Technology Handbook | Monash handbooks | Monash University