The following are topics that I am interested in pursuing during the coming year or so. Most of these are ones that I first proposed many years ago and have already been attempted by several students, but are still very open research areas. They may be undertaken by Senior or Masters students, although my expectations will obviously vary accordingly! If you are interested in working with me on any of these projects please contact me.
Philosophical questions concerning the relation between computation and mind. What exactly is knowledge? What does it mean to know something? What distinguishes humans from machines? How is knowledge represented and learnt? How can you recognize words? How can your hands discriminate textures? How do our brains do it? How can machines do it? What is computation? Extend the Inscriptor theory to produce an artificial neural network that accomplishes temporal pattern-recognition tasks in a biologically and philosophically sound fashion. (more suitable for a MSc/PhD subject, perhaps?)
We have reasonably good mechanisms for finding information and for creating reports and presentations, but very little support for the intermediate stage that involves organising and establishing relationships between pieces of information prior to presenting them in various forms. Such an application, which I have long described as a "Research Aid", now comprises "Exploratory Search" characterised as "From Finding to Understanding" (see the April 2006 Special Issue of CACM on Supporting Exploratory Search).
Today's personal computers commonly employ a desktop metaphor within which users manipulate files and folders using various application programs. I want to replace this with a more sophisticated metaphor, that of the Personal Secretary. Few successful managers concern themselves with where or how their documents are filed, that is the secretary's job! It is time we began using the real power of our computers by looking at what users really need to do and adding some intelligent support for that rather than simply continuing to patch the same tired old metaphors. Essentially, you will need to combine ideas from information retrieval, from AI --in particular context understanding, clustering & tagging-- as well as business management workflow, with great UI design! See the Proceedings of the 2006 International Conference on Intelligent User Interfaces for recent work related to this topic, especially the TaskTracer project. Note that Google Desktop might provide a useful framework for a prototype implementation. Alternatively you might chose to build it up using (N)Lucene and the .NET framework. I am particularly interested in the possibilities offered by not explicitly naming files and folders, and the importance of time-line & contextual access to information. Moving (back to) a document-centric environment rather than the common application-centric one, may also pay dividends.
Provide personalised location/context-aware information to mobile phone/PDA users. Location can be determined by a variety of means, including GPS, access point proxy, access point MAC address, RFID tags, bar codes, etc. Information can be accessed via GPRS, Wi-Fi, Bluetooth, etc., or stored locally on memory cards. There are a vast range of uses for such a system, such as tourist information, advertising, virtual art exhibits and games, etc. Design and implement a framework perhaps using a Macromedia Flash front-end. The real importance of this project should lie in its ability to enable anyone and everyone to offer such information to all-comers. Another option is building on Google Maps. Consideration of the "business" model is also of interest here. I favour a donation based scheme (see related topic.)
Educational uses of computers abound. I am interested in all aspects of the use of technology in support of learning. Mobile systems (Cell Phones & PDA's) offer a well established platform upon which to build, either by providing information as needed by the user (see the Mobile Information Points project) or through the use of "educational" games. One example of this might combine the digital cameras common in most cell phones with a challenge to locate and identify certain types of plant, insect, bird, tourist location, etc, etc. There is also a need for group support in educational settings (my CS101/2 course, for example) and for the maintenance of electronic journals (similar to weblogs) from which a portfolio might be extracted as necessary (these are the sorts of topics currently funded as EU FP6 projects.) Extending the open source Moodle software may prove the best way to achieve this. Another option is to revisit the WIZ project (our attempt to construct a semi-intelligent teaching program in the early days of the web!) Do it now using the latest ASP.NET technology and show what is really possible using today's sophisticated machines and the Internet.
Why do some communities thrive and others die? How do community members work together to construct knowledge? See the projects listed on my CS492 Senior Projects page and on the Collaborative System research group page.
Copyright infringement is rife, whether it be the illegal downloading of music in MP3 format or the copying of application programs, the computer industry seems unable to stop it. Digital Right Management is becoming common place, but attempts to control copyright through such legal and technical means have met with considerable resistance. In today's hi-tech digital Internet-connected world, copying and distribution are essentially zero cost operations, and even the creation of intellectual works is common-place. The existing copyright laws were simply not intended for such a world and are in need of a fundamental rethink. Personally, I prefer the Creative Commons approach coupled with a donation-based economic model. There are already indications that this approach is making headway. Investigate and build.
A collaborative effort with the faculty and students of the Communications and Design Department. Use your imagination! Cheap webcams offer a new means by which the machine can be aware of its environment, so one idea might be to construct a package that would enable non-technical artists to easily integrate such video input into their creations.