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: 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)

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

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

  1. 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
  2. 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.
  3. 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
  4. 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
  5. A swarm based algorithm. Swarm algorithms are linked together to create a music playing algorithm which may, or may not, additionally take user input.
  6. 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.
  7. 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.
  8. 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).
  9. 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).
  10. 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.
  11. 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.
  12. 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) In each case the end product will be an attractive self-learning system that runs over the web and which offers the following: 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) :

  1. Human motion animation: more than 5 types of motion, such as gesture, walk, run, jump, sit-down, lay-down, get-up, and so on.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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) :

  1. 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.
  2. 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.
  3. 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.
  4. 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).
  5. Video indexing: shot boundary detection, video features (colour or/and pattern) extraction, video feature classification, and indexing.
  6. 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

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


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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. Implementation Design: design the system, and decide how to construct it Students then prepares an implementation design for the applications, perhaps employing UML techniques
  6. 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
  7. 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.
  8. 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.
  9. 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:

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:

Specific project topics:

  1. 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.
  2. 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.
  3. 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.
  4. 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


Tony Stockman


Anastasios Tombros

http://www.dcs.qmul.ac.uk/~tassos/research.html

Graham White

http://www.dcs.qmul.ac.uk/~graham/myODLProjects.html