The University of Queensland Homepage
School of ITEE ITEE Main Website

Project Database

COMP6804,COMP7802,MMDS6802 - Computer Science/IT/Multimedia Honours Project (mid-year)
Commencing Semester 2 2009
Coordinator: Peter Robinson (pjr@itee.uq.edu.au)

Project List

Filter by supervisor:(Only supervisors who have supplied information to date are listed)
Show projects:
Filter by research group:
Filter by discipline:
  

Industry projects may also be available - see the CEED website for details.

Kathy Egea

Office: 78-204C
Phone: 52864
Email: kegea@itee.uq.edu.au

1 - Innovations in educational software

Supervisor: Kathy Egea Project ID: 1 
 Research Group: Interaction Design Group   Max. students:  2
 Discipline(s): Human Computer Interaction   Num. students
signed up: 
0
 Prerequisite(s):  comp2506
 Description:  How can educational software be best designed to achieve improved student learning? A project in this area could involve interactive simulation and visualisation, human computer interaction, adaptive systems, multimedia and/or virtual worlds. Project details will depend on the student's interests and will be developed through discussion with the supervisors. ( Jim Hanan and Kathy Egea)

Marcus Gallagher

Office: 47-303
Phone: 56197
Email: marcusg@itee.uq.edu.au

1 - Designing an effective agent for Infinite Mario Brothers

Supervisor: Marcus Gallagher Project ID: 1 
 Research Group: Complex and Intelligent Systems Group   Max. students:  1
 Discipline(s): AI/Cognitive Science   Num. students
signed up: 
1

Ian Hayes

Office: 78-326
Phone: 52386
Email: ianh@itee.uq.edu.au

1 - Compiler code generator generator

Supervisor: Ian Hayes Project ID: 1 
 Research Group: Systems and Software Engineering Group   Max. students:  1
 Discipline(s): Software   Num. students
signed up: 
0
 Prerequisite(s):  COMP4403 (possibly as co-requisite)
 Description:  Compilers are required to generate machine code for a range of machines, each with its own idiosyncratic instruction set. One approach to code generation is to use pattern matching to select instructions that are appropriate to implement a language construct. We'll start small with a simple programming language and a simple machine instruction set. This project will require advanced programming skills and preferably a knowledge of compilers, or at least you should be doing COMP4403 as a co-requisite.

2 - Static program analysis

Supervisor: Ian Hayes Project ID: 2 
 Research Group: Systems and Software Engineering Group   Max. students:  1
 Discipline(s): Software   Num. students
signed up: 
0
 Prerequisite(s):  COMP4403 (possibly as co-requisite)
 Description:  Static program analysis is concerned with finding bugs or security loop holes in programs by analysing the code, e.g., to find potential references through a null pointer. It is closely related to program verification. This project will form part of a larger project with Sun Labs. For more details see the associated web page.
 Further Information:  http://www.itee.uq.edu.au/~ianh/Static_Analysis_Project.html

4 - Advanced programming for reactive/robotic systems

Supervisor: Ian Hayes Project ID: 4 
 Research Group: Systems and Software Engineering Group   Max. students:  1
 Discipline(s): Software   Num. students
signed up: 
0
 Description:  Teleo-reactive programming takes a higher-level approach to real-time programming than standard languages. This allows quite complex systems that reactive to evolving environments to be programmed in a more straightforward manner. The project will develop some case studies in teleo-reactive programming along with animation of their behaviour, and techniques for implementing teleo-reactive programs efficiently.
 Further Information:  http://itee.uq.edu.au/~tftr

Jane Hunter

Office: 78-709B
Phone: 51092
Email: jane@itee.uq.edu.au

1 - Automated Mapping of Annotations across Multiple Document Representations

Supervisor: Jane Hunter Project ID: 1 
 Research Group: eResearch   Max. students:  1
 Discipline(s): eResearch
Human Computer Interaction
Information Environments
Information Systems
Multimedia
Signal and Image Processing 
 Num. students
signed up: 
0
 Prerequisite(s):  Java, C++, PHP, Ajax, Web 2.0, JavaScript, MySQL
 Description:  The aim of this project is to work with the Aus-e-Lit team to help develop a system for enabling annotations on scanned images of manuscripts to be automatically mapped to the textual version and vice versa. A system will be developed to enable authoring and display of annotations across representations of significant historical manuscripts and letters in the AustLit collection.
 Further Information:  http://www.itee.uq.edu.au/~eresearch/projects/aus-e-lit/

2 - Adding Trust to Multiple Tag Sources to Improve Reliability of Search

Supervisor: Jane Hunter Project ID: 2 
 Research Group: eResearch   Max. students:  1
 Discipline(s): eResearch
Information Environments
Information Systems 
 Num. students
signed up: 
0
 Prerequisite(s):  Java, C++, JavaScript, Ajax, XHTML, PHP
 Description:  The aim of this project is to extend the existing HarvANA system which harvests metadata, tags and annotations from multiple servers and aggregates them to generate a more comprehensive description of the Web resource. The objective is to add a measure of trust to each metadata/tag source to improve the relevance and reliability of search results.
 Further Information:  http://www.itee.uq.edu.au/~eresearch/projects/harvana/

Henning Koehler

Office: 78-637
Phone: 52988
Email: henning@itee.uq.edu.au

1 - Reducing inconsistency in uncertain databases

Supervisor: Henning Koehler Project ID: 1 
 Research Group: Data and Knowledge Engineering Group   Max. students:  1
 Discipline(s): Information Systems   Num. students
signed up: 
0
 Prerequisite(s):  good programming skills, basic knowledge in probability theory/stochastics
 Description:  Probabilistic databases attach values with multiple choices and probabilities for them. However, not all combinations of choices lead to consistent instances w.r.t. known integrity constraints. Removing choices to reduce inconsistency while preserving consistent combinations as much as possible becomes an optimization problem. In this project we will implement, evaluate and possibly improve techniques for this task.

2 - Efficient computation of large skylines

Supervisor: Henning Koehler Project ID: 2 
 Research Group: Data and Knowledge Engineering Group   Max. students:  1
 Discipline(s): Information Systems   Num. students
signed up: 
0
 Prerequisite(s):  good programming skills, knowledge on algorithms & data structures
 Description:  The skyline of a set of multi-dimensional points consists of all points for which no "clearly better" point exists, i.e., which is at least as good in all dimensions and better in at least one. Most existing algorithms for skyline computation perform poorly if the skyline set is large, as they rely on pairwise comparison of skyline points. In this project we will implement, evaluate and possibly improve techniques for large skyline computation which avoid pairwise comparison.

3 - Efficient computation of small skylines

Supervisor: Henning Koehler Project ID: 3 
 Research Group: Data and Knowledge Engineering Group   Max. students:  1
 Discipline(s): Information Systems   Num. students
signed up: 
0
 Prerequisite(s):  good programming skills, knowledge on algorithms & data structures
 Description:  The skyline of a set of multi-dimensional points consists of all points for which no "clearly better" point exists. Sorting-based techniques first sort the skyline w.r.t. some sensible order, which is expensive (relative to overall costs) for small skyline sets. In this project we will implement and evaluate a technique for skyline computation which avoids sorting the entire set, without loosing any of the benefits of sort-based techniques.

4 - 2d Range Search on Extended Objects

Supervisor: Henning Koehler Project ID: 4 
 Research Group: Data and Knowledge Engineering Group   Max. students:  1
 Discipline(s): Information Systems   Num. students
signed up: 
0
 Prerequisite(s):  A working knowledge of Java and C and some familiarity with basic spatial database concepts.
 Description:  This is the basic operation in geospatial database. The R-tree has emerged as the standard indexing method and there has been little recent investigation of alternative methods. Experiments on 2d point data sets have shown that optimization of partitioning provides useful (5x) improvements in performance. It is possible that similar improvements in performance are possible for range search on extended objects (lines and rectangles). Preliminary work required is familiarization with the optimization-of-partitioning reports and installation of an R-tree implementation. Developmental work would establishing a formulation for range search on rectangles and appropriate modification of the code for the kNN and RkNN query problems. Assessment would be conventional, using a mix of synthetic and real data. The work should be publishable in the GIS journals or in local conferences.

5 - Quality of Service for Spacial Databases

Supervisor: Henning Koehler Project ID: 5 
 Research Group: Data and Knowledge Engineering Group   Max. students:  1
 Discipline(s): Information Systems   Num. students
signed up: 
0
 Prerequisite(s):  Basic Statistics, a knowledge of basic spatial database and basic GIS applications. Some familiarity with Java, C, C++ (to cover the access methods to be used).
 Description:  Access methods are usually assessed in terms of the cost (however measured) of resolving a sample set of queries. The cost of individual queries is essentially uncontrolled and it is possible that some methods have high variability in the costs of resolving individual queries. It is readily possible to propose applications in which other measures of performance are more appropriate to the context, such as the frequency of queries that have unacceptably high costs. The availability of design approaches working from an explicit statement of the performance measure might lead to an ability to tailor the population of data structures and indexes to alternative measures of performance. A starting point for an investigation would be to determine variability in query costs for an important type of query on some representative data sets using some representative access methods, and so confirm the shortcomings of existing methods. The next step would be to devise measures of performance that might be more relevant in certain applications contexts. A following step would be to devise and assess methods that aim at optimising performance under the alternative measures. (It is possible that development and assessment of such a method requires more effort than is available in a Masters project.)

6 - Multi-purpose Indexes for Spacial Databases

Supervisor: Henning Koehler Project ID: 6 
 Research Group: Data and Knowledge Engineering Group   Max. students:  1
 Discipline(s): Information Systems   Num. students
signed up: 
0
 Prerequisite(s):  Java, reasonable grasp of access methods.
 Description:  An insight from the recent work is that the partitioning of a data set can be considered separately from the index on that partitioning. A deficiency in the optimization-of-partitioning approach is that it assumes specialised partitionings for each query type with the higher overheads for applications contexts requiring two or more types of queries. It is possible, however, that two or more indexes can be built on a single partitioning without severe compromises in performance. For example, it is plausible that a partitioning optimal for kNN queries is also ‘good’ for RkNN queries. This project basically would require empirical assessment using existing code. There is some scope for closer investigation of measurement of performance. Skills: reasonable familiarity with Java, reasonable grasp of access methods. 1.RAM-resident kNN It appears that, for many problems, it is reasonable to consider RAM-resident data structures rather than disk-resident. The optimization-of-partitioning can be extended reasonably readily to RAM-resident implementations. The key issues seems to be measurement of the unit costs and re-thinking the cost model. It is also possible that new implementations of the scheduling operation become especially worthwhile. The project would require analysis of the changes required to the cost function and implementation of a search algorithm operating on RAM-resident data structures. There is some scope for checking the reliability of the cost function, by comparing estimated and actual costs. If it is possible in the time available to find or implement RAM-specific methods (k-d trees? Ball trees?), there is scope for publication in a reputable journal or conference.

7 - RAM-resident kNN

Supervisor: Henning Koehler Project ID: 7 
 Research Group: Data and Knowledge Engineering Group   Max. students:  1
 Discipline(s): Information Systems   Num. students
signed up: 
0
 Prerequisite(s):  Java, reasonable grasp of access methods.
 Description:  It appears that, for many problems, it is reasonable to consider RAM-resident data structures rather than disk-resident. The optimization-of-partitioning can be extended reasonably readily to RAM-resident implementations. The key issues seems to be measurement of the unit costs and re-thinking the cost model. It is also possible that new implementations of the scheduling operation become especially worthwhile. The project would require analysis of the changes required to the cost function and implementation of a search algorithm operating on RAM-resident data structures. There is some scope for checking the reliability of the cost function, by comparing estimated and actual costs. If it is possible in the time available to find or implement RAM-specific methods (k-d trees? Ball trees?), there is scope for publication in a reputable journal or conference.

8 - A Database Quality Browser for Sample-based Attribute Matching over Dirty Data

Supervisor: Henning Koehler Project ID: 8 
 Research Group: Data and Knowledge Engineering Group   Max. students:  1
 Discipline(s): Information Systems   Num. students
signed up: 
1
 Prerequisite(s):  java, basic knowledge of algorithms and data structures
 Description:  In this project we develop a database browser with focus on attribute matching for `dirty' data, where matches between string values may only be approximate. Initial matches are constructed automatically, and can then be refined incrementally by domain experts. In particular, users can (after inspecting data values) specify or select domain-specific formatting functions for attributes, which are then propagated by our system to related attributes, and used to improve matching accuracy. Our approach is sampling based, allowing efficient real-time construction and updates of matches even for large and distributed data sets.

Yuan-Fang Li

Office: 78-709:I
Phone: 54553
Email: liyf@itee.uq.edu.au

1 - Improving the Efficiency of SPARQL Querying

Supervisor: Yuan-Fang Li Project ID: 1 
 Research Group: eResearch   Max. students:  2
 Discipline(s): Software   Num. students
signed up: 
0
 Prerequisite(s):  Java, RDF
 Description:  The SPARQL query language is an essential component of the Semantic Web (Web 3.0) technologies. It operates on RDF and provides a way to explore RDF documents. This project aims at investigating various ways of improving SPARQL query response time by employing advanced optimization algorithms and heuristics.

Ralf Muhlberger

Office: 78-615
Phone: 52766
Email: ralf@itee.uq.edu.au

1 - Learning musical concepts & techniques through explorative gaming environments

Supervisor: Ralf Muhlberger Project ID: 1 
 Research Group: Ubiquitous Computing   Max. students:  1
 Discipline(s): Human Computer Interaction
Information Environments
Multimedia 
 Num. students
signed up: 
1

Marius Portmann

Office: 78-616
Phone: 58356
Email: marius@itee.uq.edu.au

1 - Interference mitigation in Wireless Mesh Networks

Supervisor: Marius Portmann Project ID: 1 
 Research Group: Ubiquitous Computing   Max. students:  1
 Discipline(s): Communications   Num. students
signed up: 
1
 Prerequisite(s):  Very good networking background
 Description:  Due to the fact that most wireless mesh networks operate in unlicensed frequency bands, interference from external sources is a major problem. The aim of this project is to investigate methods that can minimise the negative effects of inteference on the performance of wireless mesh networks. For example, this can involve the design of new strategies for dynamic allocation of channels to interfaces or "channel hopping". The focus will be on solutions that can be implemented at layers 2 and 3. The project will be done in collaboration with NICTA, which provides a scholarship opportunity. The requirement for applicants is a very good GPA. Please contact me for more details: marius@itee.uq.edu.au

Graeme Smith

Office: 78-315
Phone: 51625
Email: smith@itee.uq.edu.au

1 - Generalised cellular automata for analysing mobile agent systems

Supervisor: Graeme Smith Project ID: 1 
 Research Group: Systems and Software Engineering Group   Max. students:  1
 Discipline(s): Software   Num. students
signed up: 
0
 Prerequisite(s):  strong programming skills
 Description:  Cellular automata such as Conway's Game of Life (http://www.bitstorm.org/gameoflife) allow complex behaviour to be captured in terms of simple rules. In Game of Life the cells are laid out uniformly in a grid, each with 8 neighbours, and are either off or on (which is represented by them being one of two colours). By generalising the way the cells are connected, the ways they interact and the number of colours they can have, we are able to represent (and hence analyse the behaviour of) mobile agent systems. In this project, you will build a software tool which allows users, through a language and/or user interface you design, to set up and experiment with generalised cellular automata.

Peter Sutton

Office: 78-628
Phone: 54854
Email: p.sutton@itee.uq.edu.au

My major research interests are in the areas of embedded system development (in particular, design tools and software frameworks to support the development of reconfigurable computers and embedded systems) and technology to support teaching.

I'm willing to supervise projects in areas including FPGAs, Embedded systems, CAD Algorithms and remotely accessible online laboratories (iLabs). Please contact me if you have ideas for projects of your own.

1 - Implementation of ATA services and device drivers in OpenBSD

Supervisor: Peter Sutton Project ID: 1 
 Research Group: Ubiquitous Computing   Max. students:  1
 Discipline(s): Computer Systems   Num. students
signed up: 
0
 Prerequisite(s):  COMP3301 (Operating Systems) + strong C skills
 Description:  (Co-supervised with David Gwynne) The OpenBSD kernel currently has two separate software stacks for providing access to ATA devices. The first is a legacy implementation comprised of four device drivers: wdc, pciide, wd, and atapiscsi. Despite the wide variety of ATA controllers available today, the large majority of them conform to a common register and programming interface for their general operation, with specific chips having specific exceptions or additions to this interface to workaround bugs or add features. Because of the large number of devices, the wdc/ pciide/wd/atapiscsi drivers have become unwieldy and hard to manage. The pciide driver in particular is now one of the large drivers in the OpenBSD kernel. Recently an alternative stack was implemented to support ATA controllers which did not comply to the generic ATA hardware interface. This stack, called atascsi, was built under the SCSI layer in the OpenBSD kernel and translates SCSI commands into the appropriate ATA commands before handing them down to a specific device driver for these new ATA controllers. The goal of this project is to specify and implement a new ATA layer for the common chip interface under this atascsi layer, and then develop several chip specific device drivers that utilize the new ATA core layer with the eventual goal of replacing the old wdc/pciide/wd/ atapiscsi drivers. Replacing the legacy drivers for the full set of controllers that they currently support is not feasible without access to the full set of hardware, and is therefore not required by this project. However, it is hoped that support under atascsi and the new core ATA driver will be provided for the Intel PIIX and ICH PATA and SATA controllers, the JMicron PATA controllers, Marvell SATA controllers, and Silicon Image 0680 PATA and 3112 family of SATA controllers.

2 - npppd integration into OpenBSD

Supervisor: Peter Sutton Project ID: 2 
 Research Group: Ubiquitous Computing   Max. students:  1
 Discipline(s): Computer Systems
Software 
 Num. students
signed up: 
0
 Prerequisite(s):  COMP3301 (OS), COMS3200 (Networks) + Strong C skills
 Description:  (Project co-supervised with David Gwynne.) The aim of this project is initially to port a PPP implementation developed by IIJ Labs called npppd and pipex from NetBSD into the OpenBSD source tree, therefore adding support for the l2tp and pptp protocols. The majority of the project will be then be making significant modifications to the code to make it a better fit in the OpenBSD system, specifically: 1. make pipex the default and only supported mechanism for packet handling in npppd and the kernel. 2. provide separate virtual interfaces for each PPP connection, rather than multiplexing all connections over a single interface. 3. npppd should be modified to use privilege separation and revocation, and 4. the configuration parser should be re-implemented to be based on "OpenBSD style" configuration structure.

Stephen Viller

Office: 78-605
Phone: 51190
Email: viller@itee.uq.edu.au

1 - Family information management

Supervisor: Stephen Viller Project ID: 1 
 Research Group: Ubiquitous Computing   Max. students:  1
 Discipline(s): Human Computer Interaction
Information Environments
Multimedia 
 Num. students
signed up: 
1
 Prerequisite(s):  COMP3505
 Description:  We are interested in how people manage their personal information across the multiple boundaries that we increasingly have to manage in our everyday lives. These boundaries exist between home and work, between digital and physical, online and offline, and so on. This project will explore the design of technologies to support people in the everyday task that is personal information management. This is likely to take an action research-driven approach for investigating, deploying, and reflecting on appropriate designs for personal information management technologies, and methods for understanding the contexts in which they are used.

John Williams

Office: 78-613
Phone: 52185
Email: jwilliams@itee.uq.edu.au

1 - Digital Signal Processing on GPGPU

Supervisor: John Williams Project ID: 1 
 Research Group: Ubiquitous Computing   Max. students:  3
 Discipline(s): Computer Systems
Embedded Systems
Signal and Image Processing 
 Num. students
signed up: 
0
 Prerequisite(s):  C programming
 Description:  Architecturally, modern Graphics Processing Units (GPUs) from vendors such as NVIDIA are highly parallelised multiprocessing machines. NVIDA has released the CUDA programming environment that provides a C-like programming model to write custom processing applications to run on the graphics accelerator. This kind of computing is known as GPGPU (General Purpose Processing on GPU). This is an open-ended project, with final goals dependent upon the skills and interestes of the students involved. After completing an initial exploration and familiarisation with the CUDA programming suite, an interesting application will be deciedd. One possibility is speech recognition, or some other signal or image processing algorithm.

2 - Software Emulator for MicroBlaze System-on-Chip

Supervisor: John Williams Project ID: 2 
 Research Group: Ubiquitous Computing   Max. students:  3
 Discipline(s): Computer Systems
Electronics
Embedded Systems
Systems Engineering 
 Num. students
signed up: 
0
 Prerequisite(s):  C Programming
 Description:  MicroBlaze is a 32-bit embedded MicroProcessor implemented in programmable FPGA logic. System-onChip design tools permit the creation of complete embedded systems containing the CPU, peripheral and memory buses, IO controllers as well as custom processing hardware. QEMU is an open source CPU / system virtualisation and emulation system. It can be used to create virtual machines on an i386 host. Among the emulated architectures in QEMU is the MIPS CPU, which is architecturally similar to the MicroBlaze. The goal of this project is to add MicroBlaze as a supported CPU architecture in QEMU. At a minimum, the CPU itself should be emulated, as well as a basic collection of system-on-chip components such as a memory controller and simple serial port (UART). If the core project is succesfully completed, there are many possible extensions, such as creating interfaces to allow connection between the QEMU emulation and hardware simulation tools such as ModelSim. This would permit hybrid hardware/software simulation.