The University of Queensland Homepage
School of ITEE ITEE Main Website

 IT and SE Honours projects

Name:

Professor Paul Bailes

Affiliation:

School of ITEE

Email Address:

paul@itee.uq.edu.au

Location:

Room 425, General Purpose South (78)

Phone:

UQ extension 53869

URL:

http://itee.uq.edu.au/~paul

Research Interests:

Programming language design and implementation; Functional programming; Software reenginering


Project Title: Elaboration of data-less Totally Functional Programming style

Keywords: Functional programming, Haskell

Units: #4-8

Availability: Year, S1 start preferred

Prerequisites: COMP1024 or CSSE1001 (pre-2008) or COMP3400

Description: Use of functional rather than symbolic representations for data types simplifies programming in much the same way that a direct definition of a function is simpler than encoding and interpretation. In particular, the need for iteration/recursion evaporates so that total correctness is easier to demonstrate. Moreover, functional representations are inherently meaningful, so that erroneous coding conventions (e.g. as responsible for Y2K problem) do not arise. This project essentially involves the discovery of the “platonic combinators” to represent as many useful data types as possible, followed by demonstrations of their use in this data-less style. An important and possibly necessary extension of the project may be to consider the advanced type regimes that are needed to permit some of these combinators.

The TFP project is part of a larger effort involving other staff and postgrads. Specific/additional/alternative problems that a keen student may want to address include:

·         functional representations for non-natural numbers

·         what is the common functional ancestor of “parse” and “print” methods for context-free grammars

·         exploit philosophical parallels with analog design for extension to systems engineering

·         what built-in ops. ensure “maximum” expressive power

·         what sort of type system is needed to accommodate “weird” higher-order functions (see “Type-checking for TFP (Totally Functional Programming)” project below)

·         connection to subrecursive formalisms such as Constructive Types

For further information see our TFP papers (draft and published)

 


 

Project Title: Type-checking for TFP (“Totally Functional Programming”)

Keywords: Functional programming, Types

Units: #4-8

Availability: Year, S1 start preferred

Prerequisites: COMP1024 or CSSE1001 (pre-2008) or COMP3400

Description: TFP entails the use of functional representations for data, and higher-order functions for operations on such. Regrettably, some of these functions fail
to satisfy the constraints of some common type-checking systems. The aim of this project is to explain the observed failures and to identify which more
advanced type-checkers permit the advanced higher-order functions required by TFP.

 

 


 

Project Title: “Academic Adviser’s Apprentice”

Keywords: Academic advising, Prolog

Units: #4-8

Availability: Year, S1 start preferred

Prerequisites: Selection of expertise in Prolog programming; Internet programming; GUI programming (e.g. Tcl/Tk)

Joint supervisor: TBD

Description: One of the great difficulties posed by the globalisation of the education industry is the offering of accurate academic program planning advice to students contemplating transferring academic credit from one institution to another. Questions such as “what courses do I get exemptions for?”, “how much credit do I get”, and “what study plan can I undertake to complete in minimum time” are difficult to answer correctly.

Consequently, we have for some years been developing a software system that will provide automated assistance in answering these questions, using Prolog to represent various UQ degree rules as a “deductive database”. The system has been developed to prototype form, but there are several further developments that could be undertaken prior to deployment, such as:

·         extended coverage of UQ courses and programs

·         extended functionality to accommodate logical constructs discovered in the course of the above

·         extended functionality to accommodate top-down and bottom-up study plan development

·         easy-to-use rule update facility for non-programmers

·         gateway to/from other admin. systems

·         accessibility via Internet

Suitable for multiple students, each working on different facet(s) of complete project

For further information see the AAA web page


Template Last Revised: 14 December 2001

Template Author: Anthony MacDonald