Norman Fenton Student Project
All of the projects listed are suitable at either BSc or MSc level
Projects offered by Norman Fenton for 2013
(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
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.
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
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:
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
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
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:
- 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
- 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.
- Implement the solution on the web and/or mobile phone.
- For mobile phone solution incorporate GPS mapping to determine actual current location.
- 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
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:
The whole package must be web-accessible.
- 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.
- 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.
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:
Obviously all of the solutions require the artist to photograph their own works and submit them to the site.
- 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.
- Glorified flikr type service whereby photos of your
paintings are simply displayed as albums without any notion of personal
style or service.
- 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
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
With this information a website is then automatically created with appropriate pages and menus (see e.g. http://www.oisinbyrne.com/a/home%20.html).
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.
- 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)
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
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 http://tinyurl.com/39bmh.
and parse them in such a way as to get xml, endnote or bibtex
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.
projects relating to Bayesian
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
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
look at the resources on www.agenarisk.com. 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 www.agenarisk.com).
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
Balance between modelling and
programming: We are prepared to supervise BN projects that
have a different a range of balance between
modelling and programming.
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
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
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
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
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.
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
subsequent columns are the children (up to some fixed limit) then the
with column headings being the state values. Can also evolve into a
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
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
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
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.
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.]
that focus on novel modelling
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).
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
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
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