Skip to Content

2009 Course Handbook

ITEC302: Programming Paradigms

Programming languages may be subdivided into broad architectural groups, or paradigms, which are strongly differentiated in terms of their conceptual foundations, design philosophy, programming methodology and application domain. Students will already be familiar with imperative programming languages, so this unit serves to strengthen their programming prowess by introducing them to two radically differentiated declarative paradigms.

This is done by introducing students to programming in a pure functional language, such as Haskell, and a logic programming language, such as Prolog. We come to an understanding of the strengths (and weaknesses) of these paradigms by applying them to a range of specialised practical problems. In particular, we examine the application of functional languages to topics ranging from the writing of simple compilers and interpreters to the scripting of reactive animation sequences and games. From the logic programming perspective, we learn how such languages are applied to solving problems in Artificial Intelligence.

Finally, comparisons with more traditional imperative languages, such as Java or C, are drawn to illustrate how the selection of an appropriate paradigm for a given problem can substantially simplify its solution.

Credit Points:4
Contact Hours:--
When Offered: TBD - To be determined
Staff Contact: Postgraduate Professional Development Program Staff
Prerequisites:

ITEC200(P) and admission to GDipIT or GradCertIT

Corequisites:

NCCWs:

COMP332

Unit Designations: --
Assessed As: Graded
Offered By:

Department of Computing

Recent Updates

17 Oct 2008 - EDUC80P

Program title amended