These project ideas are targeted at third- and fourth-year computing students at Dublin City University (DCU).
First some general words. My research interests are in the areas of databases and computer networks. I also have private interests in Unix systems (particularly FreeBSD), and in anything related to managing large collections of digital media including music, voice and video.
If you're interested in one of these projects, or you have your own idea that you think might interest me, please contact me.
Every year there are a large number of projects along the lines of a three-tier architecture for a web-based sports centre booking system. Generally, such topics don't in fact make good projects at all, largely because it is hard for students to excel. Therefore, if you think that your project idea falls into this category, I recommend that you go back to the drawing board and try to come up with a topic that at least contains some novel elements.
Take web server logs (or email, or spam), map the ip addresses to the countries from which they originate, and plot them on a world map. Why? I'm not sure. But it might be kind of neat. You could have features like playing time forwards or backwards.
This idea obviously needs more thought, but might be suitable for a 3rd- or 4th-year project.
Most file managers are window-and-mouse based (e.g. Windows Explorer or KDE's konqueror). Users point-and-click to manipulate or open files. However, many experienced computer users prefer to interact with computers via the keyboard. With familiarity, typing allows complex operations to be achieved far more quickly than they can be under the point-and-click paradigm.
I have developed my own keyboard based file manager called "SFM". SFM was developed on FreeBSD for Unix-like systems, and uses the curses library. It utilises very-fast, incremental search (ala emacs) as the basis for navigation between files and folders.
SFM can be the basis of several possible projects. One obvious project would be to port SFM to a Windows platform. Such a port would have to be a native port, not requiring an emulator such as cygwin. Such a port would provide a very-fast, keyboard based file manager for Windows users.
Another group for whom the keyboard is used in preference to the mouse is the blind. This suggests other possible projects, including creating a version of SFM that is accessible to screen reading software, or integration of an accessible version of SFM with an existing open-source file manager such as konqueror or nautilus.
Variations on these projects would be possible as both third and fourth-year projects.
The amount of personal information available to the operators of web sites is immense. Cookies, web bugs and unauthorised sharing of information between content providers have led to a situation where privacy basically does not exist on today's Internet.
The idea of this project would be to create an anonymising proxy that sits between the browser and the Internet. The anonymiser should handle issues such as:
allowing and disallowing cookies and popups on a site-by-site basis,
generating and remembering "anonymous" email addresses, and filtering mail to those addresses, and
generating and remembering user names and passwords that are unique to individual sites.
The idea is to create something similar to the Lucent Personalized Web Assistant, and look at some of the user interface and performance issues involved in using such software.
GPS systems are becoming increasingly affordable. Think of all the novel applications that can be developed with such data! Let me know if you have any good ideas.
A friend, Phil Bohannon, came up with the idea of Chess Vision. This kind of thing would be ideal and fun for young children learning chess.
I'd be interested in supervising this as a fourth-year project (or as a third-year project for an ambitious and good student).
Develop a Unix tool that periodically scans users' file systems indexing various type of documents such text files, Microsoft Word documents, latex source documents, PDF files, PowerPoint presentations, mailboxes, and MP3 audio files. Provide a command-line-based interface for (efficiently) searching the indexed document collection.
If you're familiar with Linux, you may know the locate utility. locate works very well for the names of files, but does not help at all for file contents. The goal of this project is build something similar to locate, but is also capable of extracting text data from non-text files (e.g. the Id3 tags from an MP3 file) and indexing that.
The critical part of this project will be getting the central framework right such that plug-ins for various types of file types can easily be added later.
This project is suitable for either a third- or fourth-year project.