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 |