CSE1370/2370 Advanced First/Second-year Projects
Projects

The following projects have been suggested by staff members.

Customizing Google for Literature Reviews (supervisor: Sarah George)

Google and other search engines are handy for finding a document about a topic, but not so great for putting together a set of documents based on several searches (for example, compiling a reading list for a literature review). This project aims to produce a web application that keeps track of relevent documents over multiple searches, building a reading list and omitting aready-processed documents from new search results. We expect the web application will run on a *nix platform unless otherwise negotiated.

Virtual Magnetic Poetry™ (supervisor: Debbie Pickett)

Almost everyone has played with Magnetic Poetry™ at some point in their lives. It's a set of magnets with individual words or parts of words printed on them. You can organize them into sentences to express your Inner Byron (or, more likely, e. e. cummings). In this project, you'll create a communal web page where people can write their own poetry, which you will render into little crooked rectangles of glorious 24-point Times Roman, onto a lifelike virtual fridge door. The emphasis here is on cheesily mimicking Magnetic Poetry™ while managing to avoid Magnetic Poetry™'s lawyers. You should already know how to write a CGI program in a scripting language such as Perl, and have a well-developed sense of the ridiculous.

Go playing program (no supervisor yet)

Go is a game with simple rules. However, a computer program has yet to be written that can beat good human Go players. Write a Python program that can play Go. A Python module will be provided for representing a Go board, making moves, removing captured stones, and playing against a human opponent. Your task is to write a program that decides which moves the computer should make. At the end of semester the various programs developed will be played against each other to find the champion Go playing program.

Data import facilities for Weka (supervisor: Geoff Webb)

Weka (http://www.cs.waikato.ac.nz/~ml/weka/) is a data mining software suite written in Java. This project is to create data import facilities to broaden the types of data format to which the system can be applied. Weka's existing data import facilities utilise a Weka specific data format, requiring users to format their data before it can be processed. This project will involve creating a new data import facility that will import data saved in the widely used C4.5 format. Depending upon progress this may be extended to encompass other formats such as providing an ODBC database interface. You must already know Java, and it'd help if you know SQL.

This project will

Knight's Tour (supervisor: David Albrecht)

The Knight's Tours is a problem about finding whether it is possible for a Knight to visit every square on a 8x8 chess board only once. I have been discussing this problem with a group of Primary School Children, and in this project I would like a program to be developed that would enable students to investigate this problem. Some of the features that this program could have are:

Losing your marbles (supervisor: Kymberly Fergusson)

Take a pyramid made completely out of marbles (the little round kind). You can remove some of the marbles and still have the pyramid be stable, and the top marble be present.

Given a set number of marbles in the base layer, what is the minimum number of marbles required to create a stable pyramid with the topmost marble present? Are any marbles obligatory?

If you have a good sense of space, and a smattering of mathematics, this project might be for you.