Student Project Ideas, 2014/15


I am happy to listen to your ideas for a project and will work with you to produce an idea that suits your abilities. Typically, I supervise:
  • BSc students who take ECS621U Software Risk Assessment and/or have an interest in computer systems or software engineering.
  • MSc students who take ECS727P Real-time and Critical Systems and/or ECS738P Software Risk Assessment.
  • Students taking MSc CIS: I will always want to know about your previous study and experience and will hope to connect your project to it.

Specific Project Ideas (BSc, 2014/15)

The following project ideas are suggested for BSc/MSci students starting projects in Autumn 2014.

  • 1. Safety Hazard Editor/Browser
    Safety engineering makes very extensive use of the idea of a hazard. Recently, we have proposed a new approach with more structure. The aim of this project is to build a database and editor for this new structure, and prove it using some industry examples. The structure needs to be formalised using the OWL ontology language; the data could be stored in a database capable of handling OWL and queried using SPARQL.
    Skills needed: OWL and semantic web, programming for interface (Java Swing or web based).
    Difficulty: intermediate
  • 2. Editor for the Evidence-base of a Bayesian Network
    Bayesian network models are based on expert knowledge about the subject. However, it is not currently possible to see the details of underlying expert knowledge. An ontology for capturing this knowledge has been developed using OWL, together with a simple system for displaying the evidence using HTML. The aim of this project could either (i) be to enhance the current display software to make more used of the SPARQL query language, or (ii) to develop an editor for composing the knowledge.
    Skills needed: understanding of Bayesian nets, programming for interface (Java Swing or web based), Semantic web and OWL
    Difficulty: intermediate
  • 3. Connecting a Commercial PLC System to a Web Server
    An industry contact is interested in enhancing a PLC (see Programmable logic controller) system to a web server, to allow more convenient access to data in a process plant.
    Skills needed: Good programming, probably in C
    Difficulty: intermediate
  • 4. Explaining Predictions of a Bayesian Network Model
    Bayesian network models are based on expert knowledge about the subject therefore powerful predictive models can be built with them. However, current user interfaces do not make it clear how a prediction has been made.
    The aim of this project is to develop a graphical interface that shows the reasoning leading to a predictions. The graphical interface will show the information and relations that model used to calculate the risks and predictions. Ideally, the interface would work with any BN.
    Skills needed: understanding of Bayesian nets, programming for interface (Java Swing or web based).
    Difficulty: high

General Project Ideas

  • 1. Bayesian Net decision support: prediction or diagnosis (BSc or MSc)
    Use a Bayesian net as the kernel of a decision support system. You have expertise is some problem area (or you know someone who does and will help you) where you need to reason with uncertainty. You may also have access to relevant data. Systems can be for diagnosis (mechanic: 'this car won't start, what is the cause') or prediction (DJ: 'if I play this music how many will dance').
    Skills needed: understanding of Bayesian nets, programming for interface (Java Swing or web based). Vital to have access to (or be) an expert and/or data.
    Difficulty: intermediate
  • 2. Real-time Programming using Cortex-M0+ Freescale Freedom Board (BSc or MSc)
    The Freescale Cortex-M0+ board can be used to build real-time applications. Project could focus on one or more of the following areas:
        a. An application, such as stepper motor control.
        b. An interesting software technology (such as Lustre or Atom)
        c. Comparison for software architectures.
    Skills needed: C programming and knowledge of real-time programming; Imagination for an application.
    Difficulty: intermediate - high
  • 3. Lego Robotics (BSc)
    EECS has a number of Lego-NXT Robots. These can be programmed in a number of languages, including Java. (See http://www.lejos.org/nxj.php). Typical projects combine use of the Lego NXT sensors with the bluetooth communication to a PC or phone.
    Skills needed: Imagination. Java programming, ideally including threads.
    Difficulty: intermediate - high
  • 4. Analysis and Presentation of Statistical Data from the Web (BSc or MSc)
    There is now lots of data available on the web, including government statistics (hospitals, universities) and online data feeds (e.g. train times). A recent project collected and analysed train delay data. The purpose of such systems is to enable people to make informed decisions. See also UK government data site and another site with large datasets.
    A specific application in this area could be the use of health data from www.hesonline.nhs.uk to create an adviser or risk predictor. The data is split in several areas (e.g. critical care, maternity, ...). The project could focus on one.
    Skills: understanding of statistics and machine learning; (web) programming.
    Difficulty: intermediate/high