CSE3301/CSC3010: Third Year Project
Topics for 1st Semester, 1999

NOTE: The first five projects, by David Abramson, can only take limited numbers of students, so you should enter as many preferences as possible (preferably, ten).


Web robot for gathering real estate data (David Abramson)

Web display of Linux/NT usage (David Abramson)

Parametric modelling on a Linux/NT cluster (David Abramson)

Web based remote submission system for Linux/NT cluster (David Abramson)

Applications for the Parallel Computing Demonstrator (David Abramson)

Client-Server Communication by Typed Messages (Trevor Dix)

Probabilistic sports prediction using machine learning (David Dowe)

Type Theory and the Curry-Howard Isomorphism (or, Types for Fun and Profit) (Iman Poernomo)

Region Segmentation by Automatic Histogram Thresholding (Sid Ray)

Implementation of Algorithms for Three-Dimensional Graph Drawing (David Wood)


Web robot for gathering real estate data

David Abramson

A number of real estate companies place their advertisements on the Web now. However, each one uses a different format and they are not amenable to manipulation and processing. This project involves writing a Web Robot which downloads these pages automatically, and extracts key data from them. It stores the information in a database (probably Access) for processing.


Web display of Linux/NT usage

David Abramson

This project concerns writing a Java based applet for displaying the utilisation of the CSSE Parametric Modelling Engine. It allows a client to examine the performance of the machine via the Web at any time. See http://hathor.cs.monash.edu.au for details. A cluster of 22 Pentium II processors is currently being constructed in the school. The cluster will run the Clustor package for performing parametric computational experiments (www.activetools.com). Clustor currently has both a command line mode and a GUI mode based on X. This project concerns the development of a Web based front end. Students will need to create Web forms and build a number of CGI programs.


Parametric modelling on a Linux/NT cluster

David Abramson

This project is a continuation of projects run in 1998. It involves solving a parametric modelling experiment on a Linux/NT cluster using the Cluster software. See http://www.dgs.monash.edu.au/~rjk/ for examples of 1998 projects. Also see http://hathor.cs.monash.edu.au and http://www.activetools.com for further information.


Web based remote submission system for Linux/NT cluster

David Abramson

A Linux/NT cluster is available in the school (see http://hathor.cs.monash.edu.au). Currently it is possible to submit jobs using the Clustor software (http://www.activetools.com). This project involves writing a Web based utility for submitting jobs. It will involve HTML forms and CGI, and possibly some Java.


Applications for the Parallel Computing Demonstrator

David Abramson

This project concerns the development of a display facility for the school parallel computer demonstrator (See http://www.dgs.monash.edu.au/~davida/demonstrator.html ). The system is housed in the machine room of building 26, but is visible from the corridor. This project involves producing software for the system which will allow it to be used as a display facility for important notices in the school.


Client-Server Communication by Typed Messages

Trevor Dix

This project involves writing C code to enable Unix processes to cooperate by passing messages. You will implement client-server functions to support the Linda parallel programming model.

In the Linda model, processes communicate through typed messages in a tuple space (TS). The messages are called tuples. An output command, "out", places a tuple in TS. For input, "in" removes a tuple from TS and "read" copies a tuple from TS. A process must wait if an appropriate tuple is not available.

There can be many tuples of different types and many tuples of the same type with different tuple values in TS. To distinguish, the input commands can match by tuple type alone or additionally can partially match by tuple value. TS can be implemented as a process which receives request messages and stores or returns tuples.

The project is to implement TS and test it by coding appropriate processes, and to implement a translation program that will convert Linda commands into C code to package the requests to the TS and complete the communication protocols you develop. Programming is likely to be in Ansi C using the gcc compiler. Messages are to be passed via sockets.

This project will be done in pairs. Students who prefer to work alone may seek permission to do so. Reports will detail your own work and outline that of your partner. You are required to keep a diary of your progress including the hours spent. A statement attributing the design, coding and testing to the appropriate persons must be signed by all concerned.


Probabilistic sports prediction using machine learning

David Dowe

This project entails the development of software for a WWW-based probabilistic sports prediction competition and some introductory experiments in machine learning and statistics for the probabilistic prediction of sports outcomes.

Choose a sport which will be taking place on a regular basis throughout the forthcoming months for which there is a reliable fixture available in machine-readable form on the WWW. One, but but no means the only, such sport is Australian Rules Football.

The software will use a simple scoring formula to assign points to tipsters based on the probabilistic predictions they make and the actual outcomes of the games.

Your software should permit at least 20 tipsters to enter, making probabilistic predictions before the games start, and being scored accordingly depending upon the outcome of the game. Your competition should have a WWW-based interface for tipsters to use.

The next part of the project is to use machine learning and/or statistical techniques to endeavour to make good probabilistic predictions for the entrants in your competition.

See D Dowe's 3rd year project WWW page


Type Theory and the Curry-Howard Isomorphism (or, Types for Fun and Profit)

Iman Poernomo

Anyone who has studied programming has used types. In C, when you declare a variable, you must specify a type (e.g., int x). When you declare a function, you must specify an input and output type (e.g., int double(int) means the function double takes an int as input, and outputs an int result).

But (oddly enough) your average programmer probably hasn't considered what a type actually is. What is a type? We will ask this question under this project through an introduction to type theory. Type theory is a formalization of the way types can be used (in reasoning and in programming).

Students will be required to implement a simple lambda calculus programming language (a bit like LISP) and then to turn it into a language with types. They will then discover a disturbingly paranormal link between their language and predicate logic worthy of the X-files.

Implementation will be under C/C++ with Lex and Yacc (prior experience with these utilities is not required). This project should be especially fun for anyone interested in compilers, functional programming or mathematical logic.

Easily digestible notes will be provided. No prior experience with lambda calculus will be required.


Region Segmentation by Automatic Histogram Thresholding

Sid Ray

Region segmentation is one of the primary steps involved in Image Processing and Computer Vision problems. It refers to the process of subdividing an image into meaningful non-overlapping regions for use in further analysis of the image. It is hoped that the regions obtained correspond to the physical parts or objects of a scene (3-D) represented by the input image (2-D).

Histogram thresholding is one of the simplest and widely used approaches to region segmentation. The purpose of this project is to study a number of existing methods of automatic histogram thresholding and to develop C program(s) for them.

Ideally, the students will work in groups of two. In exceptional circumstances they may be allowed to work individually.

The weekly meeting has been fixed, tentatively, at 1-2 pm on Tuesdays. The meeting time will be changed only if (1) it clashes with the timing of other subject(s) taken by some student(s) in the project and (2) alternative time is available that suits all the students and the supervisor.


Implementation of Algorithms for 3-Dimensional Orthogonal Graph Drawing

David Wood

In the past few years computer scientists from around the globe have developed a number of algorithms for 3-Dimensional Graph Visualisation. The vertices of a graph are placed in 3-dimensional space and the edges drawn as curves or lines between the vertices. This exciting field of research has applications in VLSI circuit design and software engineering for example. The aim of the project is to implement and compare the performance of a number of recent algorithms at the cutting edge of research in this field. In this project you will: