12 point Industry Honours Projects 1998.

NB. These are 12 point projects for the "industry stream" of BCompSci / BComp only.
20-point `honours projects' for BCompSci / BComp / BSc / BCSE (16pts) are [here].

Supervisors:


Software Scheduling by Simulation (Industry Project)

Lloyd Allison & Kevin Korb (CSC)

This project will design and implement a software project scheduling application which incorporates the uncertainties inherent in estimating schedules for individual modules or units. Traditional PERT chart planning identifies a critical path through a project and sums the time required for each individual step along the path. Improved planners now use a probability distribution at each step and perform a weighted sum (or integration) along the critical path. Such methods accumulate the uncertainty associated with the critical path so that scheduling is more realistic. What they fail to do is allow for multiple possible critical paths, which the introduction of probabilities makes necessary. Our project will correct this deficiency by performing the weighted sum over multiple paths via stochastic simulation.

The project will be done in JAVA, supporting a GUI for inputting different project graphs and comparing them with each other.


Prolog Interpreter in Java

Lloyd Allison, Kim Marriott

Write a simple interpreter for a subset of Prolog in the Java programming language. The interpreter should be able to run small Prolog programs, possibly slowly. It will be used in HTML pages for educational purposes. An existing interpreter available as a cgi-bin program gives an indication of the intended uses:- [ http://www.cs.monash.edu.au/~lloyd/tildeLogic/Prolog.toy/Ch/]. (See Lisp interpreter above.)


On-line Animation for Programming Course (Industry Project)

Kim Marriott (CSC)

On-line animation using Java has the potential to enhance presentation of basic programming concepts and algorithms. The aim of this project is to develop several applets for use in CSC2930/CSC3930 Prolog Programming. Example applets will illustrate unification, database programming and simple list processing programs. Knowledge of Java and/or Prolog useful.


Administration tools to TeachTools

Angela Carbone (CSC)

In 1995, the Department of Computer Science in collaboration with staff from the Faculty of Education identified problems faced by staff and students in their teaching and learning of programming and programming related concepts. In an attempt to address some of the problems a two stage teaching intervention strategy was developed for tutors and demonstrators.

The teaching strategy involved an initial 3 day programme and was followed up by ongoing fortnightly meetings. At the meetings a number of good teaching strategies were accumulated which are found at the following URL :-

http://www.cs.monash.edu.au/~angela/teach/index.html

In 1997 an Web-based database called TeachTools was started. TeachTools allows tutors and demonstrators to record their teaching strategies and review the set tasks. In order to set up the database, it must be configured and maintained by an administrator. This project involves designing and implementing a complete set of administration tools make the database easier to maintain. Functions should enable the administrator to:

Staff using the database should be able to change their password.

Extending the Question Analyzer in TeachTools (JAVA based)

Angela Carbone (CSC)

In 1995, the Department of Computer Science in collaboration with staff from the Faculty of Education, in a group known as Edproj to identify problems faced by staff and students in their teaching and learning of programming and programming related concepts.

Edproj's initial findings also showed a common paramount emphasis by the students to get the set tasks done, meet the requirements and then stop. Concepts which were not stated for assessment were ignored. Tasks intended by lecturers to be gateways to exploration and reflection were seen by students merely as hurdles to be negotiated.

In 1997 an Web-based database called TeachTools was started. One aspect of TeachTools, the Question Evaluator allows tutors, demonstrators and students to review the set tasks(exercise sheets). The review of the tasks is then done by the Question Analyser component of TeachTools. The analyser displays a grid on the Web (written in JAVA) showing which users have responded. There are multiple grids representing the staff types and students. The Question Analyser is an applet written in JAVA which has been tested on Netscape(v3.0).

There are a number of ways in which responses an be viewed. Often lecturers want to know everyones reactions to a particular task, or a particular question in a task.

This project involves:


Analyzer for Fortune line in TeachTools (JAVA based)

Angela Carbone (CSC)

In 1995, the Department of Computer Science in collaboration with staff from the Faculty of Education, formed a group known as Edproj, to identify problems faced by staff and students in their teaching and learning of programming and programming related concepts.

In 1997 an Web-based database called TeachTools was started. One aspect of TeachTools, the Fortune Line, allows tutors and demonstrators record their teaching strategies.

This project involves designing and implementing a Fortune Line Analyser in JAVA. The main features of the Fortune Line Analyser will be that new staff will be able to select a subject and year and view the FLs of prior staff. The user will need to select a staff type and one or more staff members and display their Fortune Line(s). A graph showing the self evaluations that staff gave themselves will be produced, and the user should also be able to view the comments and task for any particular session. All the data is extracted from the mSQL TeachTools database.


Improvements on Existing Search Strategies for the Travelling Salesman Problem (TSP) with Time-Windows.

Dynamic Transport Management (DTM)

The TSP problem is a well defined generic optimisation problem which has a long and rich history of both pure and applied research. The fundamental problem requires a salesman to visit a predefined number of cities following the shortest possible route. An interesting variation to this simple description is to require that the salesman visits each city within a given time-window in order to attend pre-arranged appointments. Despite a long history of applied and theoretical research with interesting results the problem stills requires some treatment when computing time considerations are taken into account. A first glance at the problem reveals that once the number of cities to be visited becomes greater than 10 the number of possible solutions becomes too large to calculate in a reasonable amount of time. Existing solutions to the TSP problem (including basic search algorithms such as 2-opt, simulated annealing, etc.) tend to focus on solving the general TSP problem without attempting an in-depth investigation of possible fine-tuning algorithmic variations which may suit a particular problem/search-space domain (e.g. TSP with time-windows limitations). The proposed project attempts to:

The project is anticipated to involve both theoretical and programming work offering the opportunity to focus attention on both efficient algorithmic design and implementation issues.


High-Level Object Oriented Inter-Process Communications (IPC) implemented in Perl

Dynamic Transport Management (DTM)

There is a number of different ways (protocols) in which processes that are currently active on different hardware devices can exchange information about their status, contents, function etc. TCP sockets is a client-server application protocol that offers a wide range of compatibility across a number of communications media (internet, tcp/ip, winsock etc.) over a number of different operating systems and hardware platforms. The basic idea behind this particular way of process communication is based on the notion of a two way communication link been established between a number of client processes and a server process. Messages are exchanged only between each client and the server while communications between clients can only be facilitated through a server. The protocol is implemented through a range of low-level library function for a number of languages including C, and Perl for the UNIX operating system. While the low-level implementation of the protocol provides versatility and fine control for the programmer, it does not have built-in support for a number of higher level operations such as block functions, validation, error handling, statistics, and garbage collection. Such functionality can be most effectively provided by an object oriented approach where servers and clients are defined as object instances of predetermined classes. Recent developments in Perl (version 5.004) have enabled programmers to treat sockets and the associated servers and clients as objects with specific methods, states and data assigned to them thus providing fertile ground for the development of an object-oriented library that will support application-level control functions. Such functions may include group assignment of clients, selective broadcasting facilities, secure transmission procedures, user-level protocol communication definitions etc. This project aims at:

This project has an implementation focus although it is anticipated that sufficient time will be spend on obtaining the necessary theoretical background on the subject relevant to the investigation.


Dictionary Driven Object Oriented Graphical User Interface (GUI) Design in Perl

Dynamic Transport Management (DTM)

The purpose of a GUI is to facilitate user-friendly access to previous and current information. A GUI commonly allows the user to interact and search for information with the use of visual aids most often in a windows environment. In real-time systems the content and the structure of the information accessible by the GUI is expected to change fairly frequently. In some of these cases the changes may have a detrimental effect on the functionality of the GUI as this may no longer adequately reflect the wealth of the information the user is attempting to access. One possible way to overcome such problems relies on the concept of a dictionary driven design. The structure and content of the information are reflected in an memory resident dictionary which describes the nature of the data and the methods in which their presentation will be most meaningful for the user. The design of the GUI is then based on the idea that at runtime the dictionary contents are consulted every time information is requested by the user. Dictionary consultation is reflected in the way the requested information is presented to the user and the ways the user is allowed to interact with it.

A first approach towards a fully dictionary driven GUI design using Perl has yielded increased programming versatility as the programmer does not any longer need to anticipate all the forms in which information may change in the future and incorporate these in the GUI, rather relies on the dictionary to make these available at runtime. The paradigm is a suitable candidate for an object oriented approach where the dictionary contents are the classes of the objects currently present in the system. In this case the dictionary object(s) will act as an interpreter between the GUI and the system. An object oriented dictionary design will enable a more robust and perhaps intelligent GUI function. This project aims at:

This project has an implementation focus although it is anticipated that sufficient time will be spend on obtaining the necessary theoretical background on the subject relevant to the investigation.


Meta-Control Strategies for the Travelling Salesman Problem (TSP)

Dynamic Transport Management (DTM), Ann Nicholson (CSC)

The TSP problem is a well defined generic optimisation problem which has a long and rich history of both pure and applied research. The fundamental problem requires a salesman to visit a predefined number of cities following the shortest possible route. An interesting variation to this simple description is to require that the salesman visits each city within a given time-window in order to attend pre-arranged appointments. Other variations of the problem include specific order of visiting the cities, multiple salesmen configurations etc. There exists a wealth of algorithmic and heuristic techniques that are considered suitable for one or many variations of the TSP. Choosing which of these techniques suit a particular problem space is not trivial task. Depending on the application domain a number of parameters (such as number of cities, number of salesmen etc.,) can be identified and matched against the relevant technique(s) in order to achieve that elusive optimum solution in the shortest possible computing time.

In a real-time situation human supervision cannot facilitate effective parameter choices . An unsupervised meta-control system which monitors the performance of the various search techniques and anticipates the relative benefit these techniques may bring to the particular problem will provide a clear advantage. This project aims at:

This project may serve well as a stand-alone investigation or can be combined with the previous one and form a group (2,3 participants) project. It is anticipated to involve both theoretical and programming work offering the opportunity to focus attention on both efficient algorithmic design and implementation issues.


Data Compression

Peter Tischer reports that a 12-pt industry project could be formulated in the area of his 20-pt projects.


Graph Layout

Rod Worley

A java applet is required that will perform satisfactory automatic layout for directed labelled graphs (like graphs of finite state automata). This is a hard problem for large graphs, but the intended application is for relatively small graphs, such as those that would arise in a second year class. It is intended that the package will be combined with another package (already written) that draws the diagrams once the positions of the vertices/edges has been determined.


A Web-Based Interactive Language Learning Program (Industry Project)

Jill Turnbull

The proposed web-based language learning program "Context Investigator" is a Computer Assisted Language Learning application which aims to teach aspects of meaning and use of core vocabulary in academic writing. The pedagogical approach adopted in this learning program combines inductive learning principles with a range of interactive activities designed to reinforce learning. What this means in practical terms is that the program will include two distinct activity types - research (or exploratory) and question/answer. It will require flexible navigational paths not only between and within the two activity types, but also more generally between the course topics, subtopics and learning activities. Multiple layers of information including concordance data will need to be hyperlinked, and templates will be required for question/answer activities such as multiple choice, gapfilling, and matching.

An example scenario of the steps that a user might take when using the program can be obtained from Jill Turnbull. List Complete (25/2/98)


Disclaimer