1. Handbook
  2. Subjects
  3. Declarative Programming

Declarative Programming (COMP90048)

Graduate courseworkPoints: 12.5On Campus (Parkville)

You’re viewing the 2019 Handbook:
Or view archived Handbooks

Overview

Year of offer2019
Subject levelGraduate coursework
Subject codeCOMP90048
Campus
Parkville
Availability
Semester 1
FeesSubject EFTSL, Level, Discipline & Census Date

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:

  1. Apply declarative programming techniques
  2. Write medium size programs in a declarative language
  3. Write programs in which different components use different languages
  4. 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: 9 November 2018