I am willing to supervise projects in areas such as Usability/HCI, Networking, UNIX, groupware, multimedia. You are welcome to approach me with any ideas which you may have. Alternatively, some project ideas are listed below.
The use of social networks is becoming more and more prevalent with some users choosing to spend significant amounts of time using sites such as Facebook and Twitter. This project aims to investigate the use of such technologies and to try to understand how these technologies might be usefully used in the domain of eLearning. The topic is quite open-ended and is suitable for taking in different directions depending on the interest of the person taking it on.
This project will involve the development of a graphical interface to enable users to visualise and hence better understand some concepts of computer networking. The project has two alternative themes of which an interested student would do one:
This project involves implementing a graphical representation of a lava lamp. The lava lamp will be used to provide awareness of remote activity of some description (for the project student to decide). Examples are awareness of availability of others on the network, awareness of a remote space, awareness of network activity, etc. You might wish to add in customisable features such as assigning a particular person/process/object being monitored to particular lava "blobs" with various "blobbing" rates indicating levels of activity.
Queuing is a modern day fact of life. We queue in shops, post offices, theme parks, restaurants, etc. Some queues are exceedingly long and companies sometimes offer devices that inform the user when they have "reached the front of the queue". Examples of this are QueueBots at theme parks and devices given out in restaurants which vibrate and light up when a user's table/food is ready.
This project involves the development of QueueBot software that uses a user's mobile phone to inform them of their position in a queue and when they've reached the front of the queue. When a user joins a queue they can use their mobile phone to register with the QueueBot system (using, for example, Bluetooth) and then the QueueBot system will send them texts updating them as to their progress through the queue.
One advantage of the system is that very little additional hardware is required. However, other issues may emerge, for example charging users for the service.
This project will aim to represent awareness of a remote situation or remote user activity using a tangible interface. The interface will use one or more widgets (for example, Java programmable actuators with a USB connector) to provide a physical device that sits on a user's desk and moves according to the remote activity. The aim of the project is to come up with a novel idea for presenting this information to the user without causing excessive intrusion into their work environment. The project will involve programming in Java.
An application which runs on the desktop providing the current user with an awareness of remote activity. The goal of this project is to develop a piece of software which tries to find a balance between giving the user a level of awareness of some activity which they wish to monitor whilst minimising intrusion (both to the user and to others, where applicable) and distraction. Examples of activities to be monitored might be, for example, the activity and availability of other users or it might be applied to situations such as monitoring share prices online. Anyone choosing to take on this project can choose how it will be applied.
A network and host profiler/monitor which monitors network segments and the hosts attached to determine resources available on each host. The tool will use shell scripts to probe each machine to find out about the machine in terms of, for example, total memory, disk size, operating system and perhaps also parameters such as current load, number of users logged on, processes currently running, available disk space, etc. The tool will keep a check on available resources and will illustrate this graphically. The tool will present information in real-time and provide a simple and straightforward interface to the user. A user could then use the tool to determine which host(s) to use should they need to run, for example, a CPU intensive program, or the tool could be used just to keep track of resources.
This project will aim to provide an environment for teaching that users themselves can tailor to their own needs. The project will involve a study of different educational theories and how different users use different learning strategies. The project will then involve implementing an environment which builds on this and dynamically presents information according to a user's needs and learning style.
An environment which provides an area for students to learn about a subject or a particular module by interacting with their peers. The environment will provide learning material in the form of text, images, possibly video and audio (and resources from a lecturer, e.g. powerpoint slides). It will also provide information links to other resources on the World Wide Web.
Students can contribute to the environment (like a Wiki) in terms of adding in resouces they have found and ranking the importance of various sources of information (including the original material). These additional resources can be made available to the lecturer who can comment on their relevance and accuracy.
The environment will allow a student to annotate the material provided and those annotations will be available to themselves. They can choose to make them available to selected others if they choose to do so. The environment will keep track of the number of viewings and annotations and provide a ranking based on these as well as opinions input by students.
The project will profile the use of social networking in the population and provide an evaluation as to the suitability of such applications to the business domain. The project will also involve an implementation of an example social networking site tailored for business use.
This project will look at novel ways of providing an education in music. The approach will involve looking at new ways to present information about music theory related to musical notation, tempo, etc. The tool can be designed for either children or adults. It may involve presenting the student with various challenges and games to help them learn. The project will require a knowledge of music.