Declarative Programming

Subject COMP90048 (2012)

Note: This is an archived Handbook entry from 2012.

Credit Points: 12.50
Level: 9 (Graduate/Postgraduate)
Dates & Locations:

This subject has the following teaching availabilities in 2012:

Semester 2, Parkville - Taught on campus.
Pre-teaching Period Start not applicable
Teaching Period not applicable
Assessment Period End not applicable
Last date to Self-Enrol not applicable
Census Date not applicable
Last date to Withdraw without fail not applicable

Timetable can be viewed here. For information about these dates, click here.
Time Commitment: Contact Hours: 24 one-hour lectures (two per week) and 12 one-hour workshops (one per week)
Total Time Commitment:

120 hours





Recommended Background Knowledge:

Object Oriented Programming

Non Allowed Subjects:
Core Participation Requirements:

For the purposes of considering request for Reasonable Adjustments under the Disability Standards for Education (Cwth 2005), and Students Experiencing Academic Disadvantage Policy, academic requirements for this subject are articulated in the Subject Description, Subject Objectives, Generic Skills and Assessment Requirements of this entry.The University is dedicated to provide support to those with special requirements. Further details on the Disability support scheme can be found at the Disability Liaison Unit website:


Dr Peter Schachte


Dr Peter Schachte


Subject Overview:

Declarative programming languages provide elegant and powerful programming paradigms that every programmer should know. Topics covered include functional programming, logic programming, constraint programming; declarative programming techniques, including higher order programming and the exploitation of advanced type systems; declarative languages as a competitive advantage, and how they fit into an environment dominated by imperative languages.


On completion of this subject, students should be able to:

  • Apply declarative programming techniques
  • Write medium size programs in a declarative language
  • Write programs in which different components use different languages; and
  • Select appropriate languages for each component task in a project
  • Project work during semester, expected to take about 36 hours (40%)
  • A mid-semester test (10%)
  • And a 2-hour end-of-semester written examination (50%)

To pass the subject, students must obtain at least:

  • 50% overall
  • 20/40 in project work
  • And 30/60 in the mid-semester test and end-of-semester written examination combined.
Prescribed Texts:


Breadth Options:

This subject is not available as a breadth subject.

Fees Information: Subject EFTSL, Level, Discipline & Census Date
Generic Skills:

On completion of this subject students should have developed the following generic 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.
Related Course(s): Master of Engineering in Distributed Computing
Master of Science (Computer Science)
Master of Software Systems Engineering
Related Majors/Minors/Specialisations: Computer Science
Master of Engineering (Software)

Download PDF version.