Paul Roe's Student Projects
If you are interested in any of these projects please contact me: p.roe@qut.edu.au. I have projects suitable for undergraduate through to PhD students.
1. Programming Languages
WYSIWYG Programming Language / Shell aka First Class
The goal of this project is to develop a programming language where execution and development are merged, and where execution can be seen and interacted with. The programming language would be a kind of visual dataflow language where the flows can be interactively reconfigured. It would have some similarities with a spreadsheet. At a high shell like level this might show files being read and created. the goal is to make a computation a first class entity which can be manipulated. Some of this is rather like running the program in a debugger or using VBs edit and continue feature.
Math Programming Language for .NET
This project aims to develop a Matlab like language for .NET. The language should support arrays and the standard Matlabd data types but should compile to .NET code. The language might support some dynamic features and will support interoperability with C# and other .NET programming languages.
Generics for Component Pascal
We have an implementation of Component Pascal for the .NET CLR and JVM plas.fit.qut.edu.au/gpcp?. We wish to extend this to support generics. This is an ambitious project which would suit a student with an interest and background in programming languages and compilers.
2. Collaborative Computing
Research Kiosk
I want to turn the plasma display on level 4 Margaret St into a research kiosk. There are various aspects to this including
- personalisation via Bluetooth,
- aggregated presentation of wiki pages,
- blogs and other information
- incorporation of TV - we have a TV tuner card
- postit style notes for the screen uploadable via Bluetooth, email or wiki
A project would involve some selection of these and would probably also touch on the wiki.
A Wiki-based Collaborative Environment
XML wiki A while back a student ported our wiki to SQL Server 2005 using its native XML support to store pages. I'd like to take this project further to: port it to the latest version of SQL Server 2005 (it's still in beta) leverage XML to support web services, support advanced page querying via Xquery, investigate more advanced web services for accessing the wiki using web service security. This would involve working with VS.NET 2005, SQL Server 2005 and ASP.NET v2.0.
ELP: Environment for Learning to Program
ELP - this project concerns constructing an environment for beginning programmers. This is being used in several introductory subjects at QUT. We would like to further enhance the environment to support collaborative learning amongst students, program analysis, visualisation etc. Here are some specific projects:
- investigate data mining of students attempts. We are now storing all versions of students programs. I'd like to mine these to find out how students learn to program. We can use the ANTLR tool to parse programs into order to analyse them. We have already done some work with ANTLR and it works well.
- service oriented - I'd like to leverage web services in ELP to make it truly service oriented by refactoring its architecture. This would break it into a number of smaller parts which can be sued independently.
- Integration of ELP with the OAS (Online Assignment Submission system). This involves working with two Java applications and web services to work out a method for ELP to submit assignments (exercises) to the OAS.
3. Cluster and Grid Computing
eScience - Bioinformatics
We are interested in applying business technology to eScience. In particular we are currently experimenting with business workflow engines to ascertain the suitability for eScience and bioinformatics in particular:
- portal: We wish to build a portal interface for our bioinformatics workflow project. This would use the new web parts (portal features) of ASP.NET v2.0 to build the portal and to interface with QUT authentication and our workflow.
- cluster computing - we wish to use the cluster for evaluating some bio-workflows in parallel, probably using web services to drive Linux cluster nodes from a windows frontend.
- workflow - we wish to improve the interface to our workflow prototype - this involves working with some advanced ASP.NET v2.0 features.
Active Networks
We have a researcher from France with us who is an expert in Active Networking. I'd like to investigate how we can use web services to better support active networking. This would involve working with a cluster and systems level software in addition to web services.
Grid computing
We are experimenting with globus (www.globus.org) on our 14 node cluster computer. We would like to investigate the latest version of the globus toolkit - GT4 - this could form the basis for an interesting project.
Cluster Computing
Recently we have built our own small cluster computer which we wish to experiment with. We have two particualr projects:
- High performance bioinformatics - a project to support the simple parallel running of blast as required for the important new are aof Comparative genomics.
- High performance web services - using web services as the basis for embarrisingly parallel high performance computing.
GPUs for High Performance Computing
Graphics Programming Units (GPUs) have become general purpose and programmable. This project seeks to investigate the use of GPUs for high performance computing. GPUs have the capability ot vastly outperform standard processors on some algorithms. This project could develop in a number of ways including looking at a novel GPU programming language.