Handbook home
Declarative Programming (COMP90048)
Graduate courseworkPoints: 12.5On Campus (Parkville)
You’re currently viewing the 2017 version of this subject
About this subject
Contact information
Semester 2
Overview
Availability | Semester 2 |
---|---|
Fees | Look up fees |
AIMS
Declarative programming languages provide elegant and powerful programming paradigms which every programmer should know. This subject presents declarative programming languages and techniques.
INDICATIVE CONTENT
- The dangers of destructive update
- Functional programming
- Recursion
- Strong type systems
- Parametric polymorphism
- Algebraic types
- Type classes
- Defensive programming practice
- Higher order programming
- Currying and partial application
- Lazy evaluation
- Monads
- Logic programming
- Unification and resolution
- Nondeterminism, search, and backtracking
Intended learning outcomes
INTENDED LEARNING OUTCOMES (ILOs)
On completion of this subject the student is expected to:
- Apply declarative programming techniques
- Write medium size programs in a declarative language
- Write programs in which different components use different languages
- Select appropriate languages for each component task in a project
Generic skills
On completion of this subject, the student should have the following skills:
- Ability to undertake problem identification, formulation and solution
- Ability to utilise a systems approach to design and operational performance
- Intellectual curiosity and creativity, including understanding of the philosophical and methodological bases of research activity
- Openness to new ideas and unconventional critiques of received wisdom
- Capacity for independent critical thought, rational inquiry and self-directed learning
Last updated: 3 November 2022