Declarative Programming

Subject COMP30020 (2011)

Note: This is an archived Handbook entry from 2011.

Credit Points: 12.50
Level: 3 (Undergraduate)
Dates & Locations:

This subject is not offered in 2011.

Time Commitment: Contact Hours: 24 one-hour lectures (two per week) and 12 one-hour workshops (one per week)
Total Time Commitment: 120 hours
Prerequisites:

The prerequisites are:

Subject
Study Period Commencement:
Credit Points:
Not offered in 2011
12.50

OR

Subject
Study Period Commencement:
Credit Points:
Not offered in 2011
12.50
OR 433-253 Algorithms and Data Structures
Corequisites: None
Recommended Background Knowledge: Recommended background knowledge is:
Subject
Study Period Commencement:
Credit Points:
Non Allowed Subjects: Non allowed subjects are:
Subject
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:http://www.services.unimelb.edu.au/disability/

Contact

Associate Professor Tim Baldwin

email: tbaldwin@unimelb.edu.au

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.
Objectives:

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
Assessment: Project work during semester, expected to take about 36 hours (30%); a mid-semester test (10%); and a 2-hour end-of-semester written examination (60%). To pass the subject, students must obtain at least 50% overall, 15/30 in project work, and 35/70 in the mid-semester test and end-of-semester written examination combined.
Prescribed Texts: TBA
Breadth Options:

This subject potentially can be taken as a breadth subject component for the following courses:

You should visit learn more about breadth subjects and read the breadth requirements for your degree, and should discuss your choice with your student adviser, before deciding on your subjects.

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
  • Openness to new ideas and unconventional critiques of received wisdom
  • Capacity for independent critical thought, rational inquiry and self-directed learning
Related Course(s): Bachelor of Engineering (Software Engineering)
Bachelor of Science
Related Majors/Minors/Specialisations: B-ENG Software Engineering stream
Computer Science
Master of Engineering (Software)
Science credit subjects* for pre-2008 BSc, BASc and combined degree science courses
Software Systems

Download PDF version.