ODL335 Project Suggestions
This page contains supervisors' suggestions for ODL projects.
Please see the Supervision page for the supervisor's contact details
and to check whether the supervisor is still
accepting students.
Lourdes Agapito
http://www.dcs.qmul.ac.uk/~lourdes/projects
Silvano Barros
Theme 1 Simple Tutoring System.
The intention is to specify, design and implement a tutoring system for one
faculty of study (e.g. Mathematics, etc). Within the chosen faculty, the
student must specify a reasonable scope and functionality for the system.
E.g. Calculus for secondary level or geometry for ???. The functionality
should consider the tutoring aspect as well as the testing aspect (i.e. the
testing of students to assess what they have learned). Students should not
normally work on the same faculty as other students and are expected to have
of read up to familiarise themselves with their chosen topics.
Theme 2 Computer Simulation
The intention is to specify, design and implement a simulation system (e.g.
Logic simulation, etc). Within the chosen area, the student must specify a
reasonable scope and functionality for the system. E.g. In the case of
logic simulation, the student should make provision for the description of
simple logic circuits (comprising logic gates) and stimulli for the inputs.
It should then carry out simulation and display the behavior of the design
for design verification purposes. no Students should not normally work on
the same area for simulation. Students are expected to have of read up to
familiarise themselves with their chosen topics
Theme 3 Stock Market System
The intention is to specify, design and implement a stock price or option
system displaying price trends graphically and attempting to make simple
buy/sell predictions. The pricing data will have to be collected by the
student from websites that make them available and used to test and
demonstrate the system. The student must specify a reasonable scope and
functionality for the system. e.g. types of displays, setting and removing
triggers, etc. There will be a strict limit of 3 students who will be
permitted to work under this theme. Students are expected to have of read
up to familiarise themselves with the generalities of such trading systems,
seek their own data sources and look up models that are used commonly (e.g.
Black-Scholes for traded options).
John Bell
http://www.dcs.qmul.ac.uk/~jb/Projects/UgProjects
Marie-Luce Bourguet
Examples of HCI and/or GUI projects:
- Investigating the effectiveness of Distance Learning systems and
devising/prototyping improvements to their user interfaces.
- Specifying requirements, designing and prototyping user interfaces for
small (e.g. mobile) computing systems.
- Designing adapted user interfaces to CASE tools.
A good background in HCI and Human factors, as well as good GUI programming
skills (e.g. Java SWING) are necessary for this type of project.
Computer Assisted Language Learning (CALL)
- Tutoring systems for improving listening skills of second language
learners.
- Tutoring systems for supporting language acquisition by children.
- Tutoring systems for languages with different writing systems.
- Investigating and prototyping new CALL paradigms.
For this type of project an interest in language and learning is necessary,
as throrough literature review and background research will be required.
Good programming skills also necessary.
Multimodal Interfaces
- Multimodal (e.g. speech and pen) map systems
- Spoken and auditory interfaces
- Pen gesture recognition
- Design toolkit for multimodal interfaces
The ability of working independently with new software is necessary (e.g.
speech recognition software, Satin gesture recognition toolbox, Speech Java
API, etc.).
Nick Bryan-Kinns
New Interfaces for Musical Expression
- A gesture based musical instrument interface.
Rather than using a conventional piano-style keyboard to produce
sound a mouse is used to create live sound using gesture input
- An algorithmic ambient sound device.
An artificial life algorithm is used to generate ambient sound based
on a set of user defined parameters such as processor load, typing,
network load, time of day, weather, etc.
- An algorithmic beat accompanist.
An algorithm is developed which can accompany a user playing a piece
of music using a conventional keyboard style interface. The algorithm
produces appropriate rhythms in real time e.g. using markov chains
- An algorithmic soloist.
An algorithm listens to what a user plays and then produces a solo
piece to fit with the user's piece e.g. using markov chains
- A swarm based algorithm.
Swarm algorithms are linked together to create a music playing
algorithm which may, or may not, additionally take user input.
- A collaborative jam environment.
A tool is constructed based on a client-server model where clients
each have a replicated loop of music which users interact with. User
interactions are shared with other clients so producing a
semi-synchronous shared music experience.
- An image to music convertor.
An algorithm takes a still image and produces a piece of music based
somehow on the properties of the image.
- A video to music convertor.
An algorithm takes a live moving image as its input and produced some
musical output based on the video (e.g. from a webcam).
- A music masher.
An algorithm takes two musical sound files and produces one musical
output which is somehow the combination of the two (e.g. using the
beat from one and the melody from another).
- A novel music learning environment.
A user interface is developed which teaches music in a
non-conventional manner - that is, without the use of score and note
representation. E.g. by analogy with colour mixing.
- A novel composition environment.
A user interface is developed which allows composition of music in a
non-conventional manner - that is, without the use of score and note
representation. E.g. by analogy with colour mixing and painting.
- An ambient sound space.
An algorithm collects sounds from an environment (e.g. through
microphones) and uses them to produce continuous music for the
environment.
Typical tools will be: Java and MIDI
Paul Curzon
http://www.dcs.qmul.ac.uk/~pc/teaching/projects/projects.html
Norman Fenton
Web-based learning of topics in probability, risk and Bayesian nets.
The idea is to develop web-based self-learning material in one of the
following related areas (each project student will be expected to choose
exactly one area)
- Basics of probability theory and Bayes theorem
- Risk assessment
- Basics Bayesian nets
- Using the AgenaRisk tool
- Building Bayesian nets in the AgenaRisk tool
- Advanced analysis using the AgenaRisk tool
In each case the end product will be an attractive self-learning system that
runs over the web and which offers the following:
- Material arranged in lessons (typically about 5) that all must contain some
kind of interactive learning feature.
- Each lesson must end with a test. Users taking the test will be marked and
feedback provided.
- Appropriate easy to navigate menu structure
- Links to other relevant resources
Students undertaking these projects will obviously need first to do their
own background research in the topics to be covered and will also need to do
some research about methods of web-based and interactive learning.
Shaogang Gong
http://www.dcs.qmul.ac.uk/~sgg/human_recog.htm
Pegwei Hao
I have two basic groups: computer animation and image/video recognition, and
each has 6 variants, as shown below.
Students may also suggest projects of their own.
Basic Group 1: 3D computer animation
There are 6 variants in this group, and the students are expected to attempt
to figure out details needed to implement their animation individually on
their own by consulting corresponding books / notes / web resources.
Variants (each for one student) :
- Human motion animation: more than 5 types of motion, such as
gesture, walk, run, jump, sit-down, lay-down, get-up, and so on.
- Wind-plant animation: more than 3 types of wind, such as breezes,
gales and hurricanes, and more than 3 types of plants, such as grass,
shrubs, trees with/without leaves.
- Liquid animation: more than 3 types of liquid materials, such as
water, oil and milk, and more than 3 types of motion, such as flowing,
tides, drops, splashes.
- Crash animation: more than 3 types of moving objects, such as cars,
bullets and animals/humans, and more than 3 types of hit objects, such as
railings, trees and buildings.
- Floating boat animation: more than 3 types of boats such as
sailboats, vessels and steamships, and more than 3 types of background, such
as river across a forest, a river across a city and a stormy sea.
- Martial art animation: more than 5 types of body motion, such as
side-kick, roundhouse-kick, push-kick, back-swing, sweep, stamp, punch,
palm-push, palm-chop, palm-thrust.
Basic Group 2: Image/video recognition
There are 6 variants in this group, and the students are expected to attempt
to figure out details needed to implement their recognition programmes
individually on their own by consulting corresponding books / notes / web
resources.
Variants (each for one student) :
- 2D shape matching: all the test images and candidate images are just
binary, and the patterns should be extratced first and then to compare the
geometric shapes of the patterns and to find the similarity between the
shapes of the test pattern and the candidate patterns. Finally, to find the
best matched image by finding the shape with the highest similarity.
- Jigsaw puzzle making: Step 1: to generate the patterns for a jigsaw
puzzle by using a colour picture with abundant details and using several
similar patterns to split the whole image into small pieces. Step 2: to
ramdomly generate the pieces for a jigsaw puzzle by rotating all the
patterns and putting them into square images with blank background. Step 3:
to find the solution by finding the rotation angles and matching positions.
The method for Step 3 can be colour comparision or/and pattern comparison.
- Image indexing/management: Step 1: Automatically to classify a
number of images (taken by his own cameras or downloaded from websites) into
some classes by content (colour or/and pattern, such as animal, people,
mountain, sea, sunset, etc.). Step 2: Automatically to find some indexing
structure to make all the images retrievable by using a sample image of
different size and different content. Step 3: To make a simple manage system
for adding new images into the database and for image retrieval by samples.
- Face/object tracking: To find a face (or the fatest moving object)
in a given video sequence and then track it to find the trajectory of the
moving face (or the moving object).
- Video indexing: shot boundary detection, video features (colour
or/and pattern) extraction, video feature classification, and indexing.
- Face modeling: Given a clip of face video, to find the 3D face model
that is consistent with the video clip by using a reference 3D face model or
another person's 3D face model.
Pat Healey
- A chat tool experiment on human interaction.
This project would involve carrying out a psychological experiment that
examines how changes to the resources available for communication alters
peoples ability to understand one another. Some programming would be
required but the main challenge would be to carry out a properly
designed and controlled experiment.
- A project using the principles and strategies used in set design
to develop a one-off performance that engages with remote participants.
This might take the form of a drama or live performance of some kind that
exploits the possibilities offered by technology to include the audience in
the interaction.
- Design an alternate reality game, based around the mile-end campus,
that exploits the college's wireless network, physical layout and the use
of mobile devices.
- An experiment investigating the effects of symmetry of access to
communicative channels (e.g., voice, whiteboard, text) on interaction
in multi-party groups.
I am also open to project suggestions related to any use of technology
to enhance human interaction, recreation or relationships. Including,
for example, networked games, alternate realities, spontaneous performance, etc.
Kohei Honda
https://www.dcs.qmul.ac.uk/~kohei
Matthew Huntbach
https://www.dcs.qmul.ac.uk/~mmh
Max Kanovich
- Analysis and simulation of automata
(finite-state machines, non-deterministic finite automata,
deterministic push-down automata, Turing machines, and alike)
- Analysis of communication protocols (security protocols,
mathematical analysis of cryptosystems, and alike)
- Real-time systems (Hybrid systems, Embedded systems, Sensor
systems, and alike)
- Planning in Artificial Intelligence (planners and their
analysis, planning under uncertainty, and alike)
William Marsh
http://www.dcs.qmul.ac.uk/~william/ODLProjectIdeas.html
Peter McOwan
Students will select a project to develop an interactive multimedia system
for an appropriate real world application.
The following will be required and each stage will be included in the final
report
- Students need to select an application area and find an appropriate end
user or 'customer' for their system. This could be for example a
multimedia training system for staff in a local store, in which case
students would identify a shopkeeper willing to take part in the project.
- Literature review- what's been done before? What can we learn from past
attempts?
The student should research other such systems available for the chosen
application, and analyse their strengths and weaknesses. The results for
this review should inform the discussions with the user on the new system.
- User requirements-what's the system for? What does the user want the
system to do?
For a particular application students would document the users requirements
for the system, in terms of content, user interaction with the system,
computer technical specification and 'look and feel' of the interface.
While discussing this with the user be aware of the time and resource
limitations on you. It is better to produce a smaller well defined system
that works rather than a large ambitious system that doesn't work.
- Formal requirements specification- Have you clearly found what the user
wants?
The student would then formalise these system requirements in a document,
and have them agreed by the user.
- Implementation Design: design the system, and decide how to construct
it
Students then prepares an implementation design for the applications,
perhaps employing UML techniques
- Software development: write and test the code, and detail how the
systems developing
Students should then implement the system, and detail the testing done of
the software at each stage
- User testing: does the system do what the user and the target group
want it to do?
The user and other appropriate participants should then test the final
system, and its usability and fitness for purpose assessed using for example
questionnaire studies or other usability methods. Students should where
possible also include a statement from the user that they are happy the
system performs to the given specification.
- Analysis: what's good and bad about using your system?
Students should then critically analyse theirs system in the light of the
user feedback identifying where their systems strengths and weaknesses lie.
- Conclusions- what would you do differently the next time, what have you
learned?
Students should indicate which elements of the system would need to be
modified, and how they could be improved if time permitted.
Possible applications:
Interactive Training videos,
Interactive Educational systems,
Interactive Advertising systems,
Interactive Entertainment systems.
Christof Monz
http://www.umiacs.umd.edu/~christof/qmul/undergrad-projects.html
Andrew Moore
http://www.dcs.qmul.ac.uk/~awm/projects.html
Martin Neil
I invite projects each on one of three themes, all involving building
knowledge-based or decision support systems using Bayesian networks and
using a modelling tool called AgenaRisk.
The project themes are:
- modelling risk be it of a project, business, environmental or systems
nature (student's choice),
- developing a diagnostic model to identify and rank causes given a set of
observed effects. Example systems might involve medical diagnosis and fault
diagnosis.
- modelling financial and business risk using standard accounting measures
such as ROI etc.
The AgenaRisk software makes it possible to build complete decision support
systems (without programming) in almost any application domain. I am happy
to supervise students who are prepared to build such systems. The primary
component of these projects will be to build a realistic Bayesian net model,
together with its interface, in an agreed application domain. All of this
will be done within AgenaRisk and will not require programming per se se. As
such these projects will suit students who prefer modelling to programming.
In addition to building a serious model, these projects will involve:
*independently* learning about Bayesian Networks, researching the area of
application, learning how to use AgenaRisk, and experimenting with the model
(and other types of validation).
For those students who would prefer a mix of programming and modelling I am
prepared to supervise students in the use of the AgenaRiskAPI for the
purpose of enabling their own client server, web based or stand alone
appplication. However students choosing this type of project will need to
develop a small, or reuse an existing, model to run in the finished
application.
Jane Reid
General areas of interest:
- Information seeking and retrieval (including WWW): Mostly user aspects,
e.g. how users look for information, how interfaces can support this
process, user studies,
- Collaboration
- Teaching and learning support: Primarily for our teaching here in DCS
and/or in ODL
Specific project topics:
- Online Skills Portfolio.
We have a new Professional Skills Programme for first year students in DCS,
which includes development of a skills portfolio to help planning of
professional and career development. This portfolio can be given to
potential employers to impress them, and helps staff write good reference
for the students. We have much of the basic teaching material already,
but how do we support this online? This project will involve analysis of
alternative technologies and implementation of a system to support students
in developing and maintaining their skills portfolio online.
- Automatic CV generator.
Different employers and different jobs need different emphases and
presentation in your CV, but the basic elements and information are the
same. We would like to be able to: store and maintain a collection of
reusable CV objects, and produce automatically tailored CVs from this
collection according to the job / employer information available. This
project will involve the development and testing of such a system.
- Plagiarism detection using anomalies
Plagiarism is a growing problem. Automatic plagiarism detection systems
mostly use simple text matching, but there are sometimes other clues, e.g.
distinctive misspellings. This project will investigate what factors might
be employed and how to employ them, and will build a system to do it. Thr
project will involve research and will therefore be of a challenging
standard.
- Collaborative information seeking
Most information retrieval systems (including the WWW) are built on the
assumption of single users, but many people work together. We would like to
find out why and how people look for information collaboratively (which will
involve a user study), and how to support this in systems and interface
design (this will involve implementation). This project can be modified to
focus more on either the user or technical aspects of the topic.
Soren Riis
http://www.dcs.qmul.ac.uk/~smriis/indexStudents.html
(see section on BSc projects)
Thomas Roelleke
- Free-text search on relational databases: Develop a
key-word-based approach for searching data stored in SQL
databases
- Efficient XML data management: Investigate current
approaches of loading XML data to databases, measure the
performance
- Personalised travel information: Provide users with a
personalised stream of travel information containung the
information relevant to them
- Personal newspaper: Build a system that exptracts from a
number of information sources the news relevant to a user
- Source Code Search: Develop a system for searching source
code (can be any language, e.g. Perl, Java, C++)
Tony Stockman
- Database-driven and accessible version of the describe-online web site.
Explanation:
www.describe-online.com is a website designed to help people get around using text. For example, it contains directions to the London Underground and other railway stations in the UK. I know the person who runs the Company, and he has asked me if I could get a project student to produce a system where all the information contained on the site could be contained in a web-enabled database system. Because many of the users of the system are visually impaired, a key requirement of the system is that it is accessible to a screen reader. I am happy to talk with you about what this involves and how you can test this.
- Program to make guitar tab in html (as on the guitarnoise web site) accessible.
Explanation:
www.guitarnoise.com contains lots of examples of guitar tab. Using a screen reader this is completely inaccessible. The aim of this project is to produce software which can extract the guitar tab information from web pages such as those on the guitarnoise site and play them. A good solution to this project will provide a highly interactive and accessible interface.
- Accessible music composer software.
Explanation:
There is, as far as I am aware, currently no music composition software accessible to a screen reader. The input to this system would not be through normal music notation, but by specifying notes and chords together with additional characteristics such as bend, hammer on/off etc. The system should be able to play back the stored music, ideally using either MIDI or pre-recorded instruments.
- Auditory games.
Explanation:
There is a growing interest in the development of auditory games (see for example www.gmagames.com). These games use a combination of speech and other sounds to convey information. Currently though there are no auditory versions of some very popular games such as soccer or cricket. This project is to address this need. It may be possible to get input/test the software with one or two members of the England blind football or cricket teams as part of the usability evaluation of the project. The system need not have a visual interface, but this would be desirable in order to examine approaches to matches involving both blind and sighted players.
- Audio tennis game using an auditory software environment such as CSOUND or SuperCollider. Eventually this will use motion capture with gestures, but a basic version could be programmed using cursors or other keys. Equally could be done for cricket or baseball.
- Auditory version of Excel Chart Wizzard
- Designing a mobile phone interface to a spreadsheet sonification system
Explanation:
I currently have a prototype application which enables a visually impaired person to review values of cells in a spreadsheet quickly using sound. I would be interested in a project to design, build and evaluate a mobile phone-based interface to this system.
- Research into mental models of rooms and auditory scene analysis.
Explanation
Different people visualise rooms, building and routes differently.
These mental models vary between sighted people, and probably even more between
sighted and blind people. This project is about examining how different people
internalize models of space, buildings and routes. Basic research about people's
mental models of these things will be followed by the use of a specialized software
environment called SLAB, built at NASA, to construct 3D auditory scenes and explore
differences in people's mental models of these scenes.
Anastasios Tombros
http://www.dcs.qmul.ac.uk/~tassos/research.html
Graham White
http://www.dcs.qmul.ac.uk/~graham/myODLProjects.html