top_left_Logo.jpg (13050 bytes)

news_side_Button.jpg (3776 bytes)

projects_side_Button.jpg (3894 bytes)

publications_side_Button.jpg (4042 bytes)

abourradar_side_Button.jpg (4035 bytes)

people_side_Button.jpg (3827 bytes)

links_side_Button.jpg (3757 bytes)

Norman Fenton Student Project Suggestions

Updated: 23/01/2013

All of the projects listed are suitable at either BSc or MSc level

Projects offered for summer 2013

Previous Projects (most of these are no longer offered)

Projects offered by Norman Fenton for 2013

UML Toolset

(This project is suitable only for students with outstanding programming and design skills)
The objective is to produce a UML modelling toolkit that supports class diagrams and sequence diagrams in such a way that, within a given project,  class diagram objects and methods are available to sequence diagrams. The look and feel should be something like the ArgoUML tool:
So it can be viewed as a restricted version of ArgoUML, but one wich properly does the class diagram/sequence diagram interaction (Argo UML does not do it).

Excel to AgenaRisk Bayesian Network parser
The objective is to produce a Java program that creates a Bayesian Network model (AgenaRisk cmp format) from an excel file of a particular structure (such as one where the first column represents nodes names, second column represents node type, and subsequent columns represent parent nodes. The program (which requires the AgenaRisk API) would be expected to be fault tolerant in various ways, such as handling typos in node types and parent names.

Previous Projects

Please note that most of these are no longer offered, but if you have a special interest and capability in one of the topics you should contact Norman Fenton.

Bayesian Network decision support model on a mobile phone

The challenge is to produce a program - using the AgenaRisk API and a pre-defined Bayesian network model - that runs on a mobile phone platform.  It is not obvious if this is even possible (the fallback would be to run it on a mobile phone simulator). Norman Fenton can provide expertise on using the AgenaRisk API in Java and the Bayesian network model, but the student would have to find out about Java-based mobile phone platforms and programming.

Requirements for students undertaking this project: Good  programming skills and desire to learn about mobile phone programming. Ideally students should register for module DCS335 (AMSC335 for MSc students) "Software Risk Assessment".

Probability and risk animations

Norman Fenton has developed a (static) set of web pages about probability puzzles and reasoning about risk. Various problems that appear, for example, on the site are best explained by interactive animations. The idea of this project is to select a small number of such problems and create interactive animations that run over the web.
Requirements for students undertaking this project: Understanding of probability and statistics; Very good web programming and design skills. Must register for module DCS335 (AMSC335 for MSc students) "Software Risk Assessment".

Example of what a previous project student did (this runs  in Internet Explorer but may not run in Firefox if you do not have all the relevant plugins):

Other professional examples can be found here:

and at various places on:

Music player for Android platform

The novelty of the player is the tagging and mixing system, which allows users to tag any composition with any number of user defined tags and, when the user would like to listen to music, they chose how they want to mix these tags into the current play list. The challenge presented by this project is to create a comfortable user interface which supports appropriate number of tags.

For details see here.

Media Content Classifier (several different projects)

The overall objective of this set of (related) projects is to produce a rich database of intelligently classified media (ranging from TV, Films, Music through to YouTube videos and possibly even books and magazines) suitable ultimately for web searching and personalisation/recommendation. The background for our interest in this is our patented work on TV recommendation systems.

There are several possible projects involved. One project would focus purely on films, while others would focus on TV programmes and Music etc. In each of these cases we can provide at least part of the required rich classification structure and some content, but the challenge of the project is to develop methods for 'mining' content from the web in such a way that as much of the classification as possible is completed for each piece of media. Hence a successful project would be one that produces not only an extensive database but also one which is well classified according to subjective evaluation criteria.

Other projects could involve 'web enabling' the databases in various ways, ranging from simple searching through to full use of the rich classification scheme for personalisation and recommendation. For example, an application could involve learning from YouTube videos viewed and making recommendations based on the personalised profile. Another application (a separate project) would involve users actively specifying what programmes and films they like and having a personal profile built around this.

An example of a previous project (one that achieved one of the highest ever project scores) is here. This was a BSc project (over 2 semesters) so that scope was broader than would be expected in an MSc project.

Bus route finder for web/mobile phone

(This project is suitable only for students with outstanding programming and mathematical skills)
The requirement is to determine optimal bus routes for a medium sized city (Tel Aviv, Israel) based on a pre-defined bus route map, timetable, and city map. Students undertaking this project would be required to attempt as many as possible of the following requirements challenges in order:
  1. Calculate a route based on a given source bus stop and destination bus stop. The route should be optimised in terms of number of changes and length of journey (taking into account frequency of buses).
  2. Determine a rote between any given two map locations; so the requirement here is find suitable source and destination bus stops. This should take account not just proximity but also convenience, such as the fact that it is better to recommend a route that involves just one bus even if the necessary bus stops are further away.
  3. Implement the solution on the web and/or mobile phone.
  4. For mobile phone solution incorporate GPS mapping to determine actual current location.
  5. Produce a plan for extending the solution to arbitrary cities.

Football results and knowledge database

The aim of this project is to build a web accessible, real-time updated, database of football results where most of the data is automatically sucked in from web resources. A minimum data requirement would be to populate the database with all FA premiership results/dates since 1991 (ideally the database should include all English professional football results for the last 100 years plus all major international matches). Minimum functional requirements would be basic queries (auch as find a particular match score in a given year and list all results for criteria like team, season) and output to csv format files. Additional requirements are to incoporate 'knowledge' fields that provide explanatory information such as team league position/ranking at time of match, availability of key players, players sent off .
Requirements for students undertaking this project: Strong knowledge and interest in football; Strong database and programming skills;

Intelligent Football Prediction

The RADAR group has been involved in a number of projects that use intelligent methods (notably Bayesian networks) to predict football results using a combination of past results and expert judgement. We are happy to discuss a range of possible projects in this area (the projects do not necessarily have to be based around Bayesian networks). The projects will all involve some serious programming (typically building a web-based prediction system).
Requirements for students undertaking this project: Understanding of probability and statistics;  Strong knowledge and interest in football; Strong database and programming skills; Must register for module DCS335 (AMSC335 for MSc students) "Software Risk Assessment".

Animated self-learning and assessment programme (several different projects)

The objective of this class of projects is to produce one or more individual training packages targeted at primary or secondary school children for self-learning individual national curriculum topics (ideally the topics would be in maths/stats but could also be other science topics - the choice is up to the individual project student). A training package will have two components:
  1. a video that contains the material teaching the topic (typically this should be between 10 and 20 minutes); the video needs to be visually engaging with extensive use of graphics and animation.
  2. a self-assessment test of the material. Ideally this would also be interactive, but at the least the results of the test must be fed back to the user.
The whole package must be web-accessible.
Students should, of course, check the 'state-of-the-art' of material on the web - there is a lot out there. See, for example:

and of coure QM's own Cs4fn

Automated artists website

Many thousands of artists in the UK alone (and millions worldwide) would like to display and sell their material on the web. There are many websites that claim make it easy for artists to do this, but they fall into one of the following categories:
  1. More or less bespoke development, i.e. you pay somebody (normally a lot of money) to create a tailored web site for you. You then keep paying every time you want to update the site.
  2. Glorified flikr type service whereby photos of  your paintings are simply displayed as albums without any notion of personal style or service.
  3. Glorified blogger type service where you are offered one or more templates, which tend to be very inflexible and inevitably require non-trivial web programming/design skills to build and maintain. With these types of service it is very difficult to get any sensible layout of your images (and you are responsible for creating and managing thumbnails etc).
Obviously all of the solutions require the artist to photograph their own works and submit them to the site.
The objective of this project is to automatically construct an attractive web site based on  minimal information provided by the artist online. Specifically, the artist provides the following kind of information:
  • name and contact details
  • biography and photo (optional)
  • categorisation of works (e.g. the user might wish to display separate categories for Landscape, portrait, photography, pottery, 3d work, etc.)
  • image(s) for home page (typically this will be a photo of one piece of work)
With this information a website is then automatically created with appropriate pages and menus (see e.g. Of course, at this stage there is no actual content to the website. To submit content the artist should be able  to select (through the same web interface as the setup) a category and submit a set of photographs in that catgeory. This should be done in the same way as popular photo websites (i.e. by a standard file  navigation dialog). Crucially, the system must automatically create a thumbnail of each uploaded photo and must lay these out intelligently (where necessary this means creating more than one page per catgeory). Obviously clicking on a thumbnail must lead to the full image being displayed. Once uploaded and displayed the artist should be able to change the order in which the thumbnails are displayed.
The system should provide appropriate password protection.

Probability puzzles wiki

Norman Fenton has developed a (static) set of web pages about probability puzzles and reasoning.
The idea behind this project is to produce a wiki version that enables web users to make their own contributions. 

Intelligent Bibliography parser

The objective of this project is to take regular textual citations of the form:

Dawid, A. P. (2003). An object-oriented Bayesian network for estimating mutation rates. In Proceedings of the Ninth International Workshop on Artificial Intelligence and Statistics, January 3-6 2003, Key West, Florida, edited by Christopher M. Bishop and Brendan J. Frey. ISBN 0-9727358-0-1. Online at

and parse them in such a way as to get xml, endnote or bibtex formatting.

Other requirements are:
  • Mutliple citations: It should be possible to run the parser on text containing multiple citations.
  • Find 'matching entries': Systems like Endnote are really bad at this - if there is so much as a comma different then it will treat entries as different references. So this problem will need to be tackled by some intelligent analysis of what is meant by differences.

Various projects relating to Bayesian Networks

Note: these are only available to students who have either completed the software risk assessment module or who have already achieved some understanding of Bayesian networks

Bayesian Nets (BNs) is an exciting technology that underpins a wide class of decision-support systems.  RADAR (and the company Agena of which Norman Fenton and Martin Neil are directors) has been at the forefront of building applications around BNs.  A nice introduction to Bayesian Nets can be found here. Examples include TV programme recommendation systems, software and system safety assessment; vehicle reliability evaluation; risk assessment in air traffic management systems; financial and operational risk assessment; legal arguments; predicting football and racing results. A number of possible projects are available in this area for students who will be attending (or have already attended) the module Software Risk Assessment  (SRA).  

Requirements: For all of these projects you need to have taken the SRA course or understand the basics of Bayesian Networks already.  Look at this introduction and the material here and here. Also look at the resources on You should try out the AgenaRisk software tool (this is available on all PCs at Queen Mary and you can also download a free 1-week version from In particular, you should run through the three tutorials and some of the example models that come with the tool.  You do not have to implement the algorithm to do the calculations in the BNs; we supply software for this.  But you do have to understand how to use it in your software.

Balance between modelling and programming: We are prepared to supervise BN projects that have a different a range of  balance between modelling and programming. 

Projects that focus mainly on programming using the AgenaRisk API

There is an AgenaRisk API that we can make available to students whose primary interest is either to take an existing model and build a novel interface to it, or to produce some generic application based on the API that will work for any BN. These projects will involve Java programming, BN modelling and will require competence in statistics and probability theory. Specific projects include: 

BN Models over the web

We are interested in projects where you would design and program an interface for running a particular model over the web. For such projects you would need to understand enough about the underlying model to know how best to present the inputs and outputs to it over the web. You will need to design it carefully so that end users step through data entry in a sensible way and such that sensible outputs can be provided. You would be using the API to enter observations into the model, run the model calculations, and extract relevant results. All GUI design and programming would be novel, since the existing AgenaRisk GUI would be irrelevant here.

Poker Player

There have been a number of attempts to develop intelligent poker playing games (see for example this one). This project will attempt to provide an improved poker playing game using a Bayesian network and will ideally make it run over the web.

Risk Dashboard

This project involves using the API to build a novel 'dashboard' type interface to any BN. The idea is that the user will be able to define which nodes of a BN should be displayed as 'outputs' on the dashboard and also how the output should be presented (for example by traffic lights or dials). The challenge is then to interrogate the underlying probabilities and present the information in dashboard format. The user should be able to define, for example, what probability 'threshold' leads to a particular traffic light colour.

Building models from data files

The idea of this project is use the API to generate a BN model (specifically a cmp file) straight from a data file (such as a csv file). Can initially work with fixed structure (e.g. first column are the node names, subsequent columns are the children (up to some fixed limit) then the marginals with column headings being the state values. Can also evolve into a more intelligent parser.

Model Selection and Prediction

This project will involve using the AgenaRisk API to implement an algorithm for automatically detecting, from a sequence of data, the most likely model to exaplain that data from a finite set of possible models. Applications of
the algorithm can include object detection and attribution from radar data (i.e. clutter removal), and the selection of a "best" reliability model, from a finite set, for the purposes of software product reliability evaluation. 

Model parsing in different formats

Whereas AgenaRisk has its own proprietary format (cmp) for BN models there are a number of different BN formats defined and some of these (like the Microsoft format and the Hugin format) are publicly defined. This project will enable models in different formats to be parsed into cmp files. 


Programming Projects that extend the power of Bayesian nets

These projects require programming that is independent of the existing API and hence generally require a deeper understanding of underlying algorithms.

Learning models from data

This project is to understand and implement published algorithms that learn a BN structure from data.

Automatic Binary factorisation

One of the limitations of current BN tools (including AgenaRisk) is that when nodes have more than 3 or 4 parents the calculations become very inefficient. For more than 6 parents the calculations are impossible. The manual solution to this problem is to redefine the structure as a binary hierarchy (whereby each node has at most 2 parents). But this process is tedious and error prone. This project, which is suitable for somebody with excellent maths and programming skills, will extend AgenaRisk by allowing binary factorisation for certain types of nodes to be performed automatically.

Graph drawing for AI tracking applications.

Temporal BNs can be used to track and classify objects for the purpose of object identification, navigation, and decision making in AI applications. This project will involve the specification, design and implementation of graph drawing software to enable data and forecasts derived from a temporal BN to be plotted in 2D. To aid the specification the project will initially involve taking output from the AgenaRisk tool and drawing graphs in Excel.
Next a Java based program will be written to embedd such graphs to be drawn within the tool itself. A number of small test BNs will be developed by the student to test the programme. This project will require strong UI and Java
programming skills.

Report Generator

AgenaRisk does not have any user-definable report generation. The idea of this project would be to build a report generator that would enable end-users to define the type of information they would like to generate once a BN model is built and run. The report generator should be capable of exporting relevant graphs and tables into different formats such as html.

Extended database interconnectivity

We have developed some prototype code that enables a limited amount of external database/spreadsheet input and output into AgenaRisk. The challenge of this project would be to extend this code, for example incorporating drag and drop features.

Intelligent GUI

Microsoft Office products use "intelligent" algorithms to reconfigure GUI options presented to the user. One example of this is where menu items disappear if the user does not use them. This project will involve research into intelligent GUI presentation, using Bayesian networks, and the production of a software tool implementing these ideas. [Requirements: Programming including GUI; mathematics and some statistics.]


Projects that focus on novel modelling

The AgenaRisk software makes it possible to build complete decision support systems (without programming) in almost any application domain. We are prepared to supervise a number of highly motivated students who are prepared to build such systems. The primary component of these projects will be to build a realistic Bayesian net model in an agreed application domain. The application domain must be one that either the student a) is passionately interested in (to the extent that they themselves understand all the key variables and their relationships) or b) has access to relevant experts or data to enable a realistic model to be built.  All of the modelling 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: learning about Bayesian nets, researching the area of application, learning how to use AgenaRisk, and experimenting with the model (and other types of validation).



Projects that involve a mixture of novel modelling and programming

For students who  want to combine model building (with the requirements as specified above) and programming the additional challenge will be to produce a novel interface (such as a web-based interface) to the system. Such a challenge requires interfacing to the AgenaRisk API.


Examples of recent previous project topics

TV Programme Recommendation System 

Real Estate Investment Risk Analysis Tool (REIRAT)

Web accessible legal database

Intelligent Address Parser

Integrating External Databases with AgenaRisk

Learning Bayesian Networks

Stock Investment Risk Prediction System

Cloud Browser

Optimising and Planning Car Rental Strategies Using Bayesian Networks.

Integration of Microsoft Excel with Agena Risk Assessment Software

Football Manager Simulation

House-buying expert system

Java Graphing Utility


home_side_Button.jpg (3716 bytes) Norman Fenton website last updated on 16 June, 2010.
Please direct all comments about this website to