FIT1016 &FIT2044 Advanced Project

Semester 2, 2010

These are zero-credit-point units designed to challenge the more advanced 1st and 2nd year students in the B. Computer Science, B. Software Engineering, B. Science majoring in Computer Science, and other related double degrees. (BBIS and BITS students with a strong interest in programming may also apply to do this unit.) This unit introduces students to a variety of topics outside the curriculum, and provides an opportunity to write programs (or, rarely, to build hardware) in an area of interest to the student and the School. The subject operates in an informal manner, and the programming tasks are designed to be interesting and challenging to advanced students. Students will typically meet with their supervisor on a weekly basis and in addition to demonstrating the results of their project, they will also give an oral presentation at the end of the semester.




Preliminary project allocation (TBC) (For unconfirmed projects, please send me a short project title, once they are clarified).





Professor David Abramson and Blair Bethwaite

Data visualisation for distributed computing tools (MeSsAGELab)

Minh Ngoc Nhat Huynh

Prof. Mark Wallace

Constraint Programming and Optimisation (TBA)

         Integrating a cycle constraint to get a tight lower bound on a TSP problem, into Richard Kelly's algorithm for solving a pickup and delivery problem. Maybe reimplementing Kelly's algorithm in ECLiPSe to make it easier?

         An alternative is the integration of some open source cutting planes algorithms into ECLiPSe as new constraints.

Zhongheng Guan

Dr. Oliver Brown

Programming tasks for a Java-based library for digital audio and computer music

I built and maintain a library for digital audio and computer music, written in Java (it can be used in the popular multimedia programming environment Processing). The library is large and has a vast number of areas of active development (too many for me to really keep going), including interesting areas such as audio synthesis, audio analysis (requires very good math skills), GUI design for live performance. A list of genuine contributions that someone could make is given


         Develop an efficient and powerful additive synthesis object that can be used for generative sound design.

         Port the library to the Android platform and demo its use on a smart phone.

         Run tests and profiling in order to find optimisations for the core audio scheduling system under different circumstances.

         Develop a set of tools for storing analysed audio features in a database or file format.

         Develop JNI bindings for use of native audio IO libraries on the major platforms.

         Port the library for use with JVSTWrapper, a library that allows Java programs to run inside a VST plugin.

         Contribute to the current (very poorly developed) set of GUI tools. For example, create a time-line object. This could be done in Java, JavaFX or JavaScript (e.g., via GWT or other web app kit).

         Port the library for use with GWT, so that it can be compiled to JavaScript (this might not be possible at the moment, I'm still not clear on JavaScript's sound capabilities)

         Or a more artistic goal: produce an impressive web-app (using Java applets or Processing) such as a sequencer or synthesiser or a generative music composition, that demonstrates the power of the library.

Chris Morgan

Glenn Watson

A/Prof. Ann Nicholson

Bayesian networks

Vitaly Sender

Yuri Feldman

Dr. David Albrecht

Using Loopy Propagation to Solve Sudokus

Daniel Sun

Dr. Peter Tischer

Measuring the complexity of Networks

Han Kyaw