<< >> ^

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): 50%
* Practical work: 50%

Prescribed texts

Bal H E and Grune D Programming language essentials Addison-Wesley, 1994

Recommended texts

Watt D A Programming language concepts and paradigms Prentice-Hall, 1990

Wilson L B and Clark R G Comparative programming languages Addison-Wesley, 1993


<< >> ^
Handbook Contents | Faculty Handbooks | Monash University
Published by Monash University, Clayton, Victoria 3168
Copyright © Monash University 1996 - All Rights Reserved - Caution
Authorised by the Academic Registrar December 1996