Handbook home
Declarative Programming (COMP30020)
Undergraduate level 3Points: 12.5On Campus (Parkville)
You’re currently viewing the 2017 version of this subject
Overview
Availability | Semester 2 |
---|---|
Fees | Look up fees |
AIMS
Declarative programming languages provide elegant and powerful programming paradigms and techniques that 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 (ILO)
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 students should have developed 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
- Openess to new ideas and unconventional critiques of received wisdom
- Capacity for independent critical thought, rational inquiry and self-directed learning.
Last updated: 3 October 2024