Link to University of Stirling home page Link to Computing Science and Mathematics home page
Link to University of Stirling home page
University | Computing Science | Modules | CSCU9Z7 | Available projects 2017-18
CSCU9Z7 Honours Projects Autumn/Spring 2019-20
menu Honours Projects Autumn/Spring 2017-18

Home

Class of 2019-20

Available projects 2017-18

The list of projects here gives ideas from staff. These projects are available in 2017/2018. Due to research leave, some staff may be unavailable in Autumn 2017 or Spring 2018 and so will be only partly available for supervision and may share projects with another supervisor.

Warning Discuss projects that interest you with the named supervisor. When you agree your choice of project with a supervisor, let Dr Jingpeng Li know once this is finalized.

TBA (To Be Announced) has the following meanings:

  • supervisor - a project has been provisionally proposed, with a supervisor yet to be found
  • student - a project has been proposed but no student has yet taken it up
  • outline - only a working title has been proposed, with a project description to follow

Collaboration Logo denotes a collaborative project with an external organisation (mainly companies). These projects are ideal opportunities for a student to gain industrially relevant experience, and perhaps even find a future employer. If there is competition for collaborative projects, some form of interview will be used to make the selection.

Index of supervisors: Dr A Bracciali | Dr S Brownlee | Dr DE Cairns | Dr MM Fayed | Prof BP Graham | Chris Grigson | Prof A Hussain | Dr SB Jones | Dr M Kolberg | Dr J Li | Prof EH Magill | Dr S Maharaj | Dr G Ochoa | Prof CE Shankland | Prof LS Smith | Mr KM Swingler | Dr N Veerapen


Quantitative modelling

Supervisor: Dr Andrea Bracciali

Student: TBA

Outline:

This project is about the use of a formal (programming) language to develop a model of a system of interest, ideally in the field of biology or population dynamics, but other alternatives can be discussed.This project can be largely adapted to student interests, both in terms of the system to be modelled, the language/formalism/tool that will be used for modelling, and the type of properties one wants to study about the system. If you are vaguely interested, come to talk to me, we will explore possibilities together. For a curious student willing to address research-related topics.

TopUp arrow

Drone Programming

Supervisor: Dr Andrea Bracciali

Student: Victor Alegiani Sagnotti

Outline:

This project is for a student who wishes to investigate and play with new and developing technology. We have a camera-enabled programmable Dji drone . The drone comes with a programming environment and some available API. This is a highly explorative and expectedly rewarding and fun project, with the potential to develop some expertise in a hot technology. Who wants to be the first to program the drone?

This could possibly be an initial step of a larger project to be developed in a few years by several students. The application can be agreed, from simple case studies to programming the drone for a specific task. Learning the basics of flying the drone and legal requirements could be needed (but can reasonably be avoided, if preferred). This project is also suitable to be developed by two/three collaborating students developing independent parts. Good programming skills and understanding of computation are (highly) desirable.

TopUp arrow

AppSisted Parking

Supervisor: Dr Andrea Bracciali

Student: Peter Barnes & Grant Robertson

Outline:

We want to design and develop a mobile application that can assist finding a parking. Initially, the test case will probably be the crowded parking lots at the University, but the project could have a more general scope (which could also include collaborations with companies).

Beyond the quite general aim, the details of the design and implementation of the application can be discussed and agreed, according to the interests and ideas of the student. Early commitment preferable. Requires some inital basic understanding of the mobile technology and willingness to learn the details of it, as needed. The project can be extended to include elements of social computing and shared economy.

TopUp arrow

IoT: Collecting and using data

Supervisor: Dr Andrea Bracciali

Student: TBA

Outline:

This is actually a series of possibly coordinated projects to be carried out independently. The idea is to use sensors of different types to generate data, along the idea of the Internet of Things. Such sensors can be located in the wild, in a city or in more restricted spaces, such as a building. Data need then to be visualised, interpreted, used. Developing an innovative collection/usage of data can be part of the project.

This project(s) can be carried out at different levels, e.g. dealing with the sensor devices and data transmission aspects, or with the algorithmic analysis or social usage of data. One starting point could be the continuation/extension of a previous project on monitoring water quality in lakes. Another one, the exploration of novel wireless communications and the transformations that they will enable. Multidisciplinary collaborations and collaborations with external entities are possible. Good understanding of computational and technological aspects is desirable, willingness to play with, experiment and learn how different devices and novel technologies work, needed.

An instance of this general project, currently under definition, is a possible collaboration with public agencies to collect and manage data about attendance by the public to specific events. Please, ask for further details, if this sounds of interest for you (this project is currently under negotiation).

One such project will be on monitoring the University's lake in collaboration with the Biology division.

TopUp arrow

Raploch Community Partnership (RCP): Supporting Social Wellbeing and Quality of Life

Supervisor: Dr Andrea Bracciali

Student: TBA

Outline:

This is a project done in collaboration with RCP. "Raploch Community Partnership is a community led organisation focussing on the economic and social regeneration of Raploch and the wider Stirling area. We aim to help the people and organisations of the area to realise their potential through their activity, work and incomes. We want a thriving prosperous community and for that prosperity to be sustainable - with economic wellbeing enhancing social wellbeing and quality of life."

In this project a student will design and develop a system to track how people contribute to the goals of RCP within the community and how they can be supported in that. Likely, this could be done by designing an app that is able to record people's contributions and activities. Aspects of social media and crowdsourcing, e.g. how people activities and progresses are publicised and coordinated within the community, can also be considered.

Students are expected to contribute to the definition of such a project, with a social impact. Collaborations with the division of Economics about interpreting collected data are also a possibility.

TopUp arrow

BitCoins? How much are they worth ?

Supervisor: Dr Andrea Bracciali

Student: TBA

Outline:

This is a research-oriented project aiming at exploring the context of virtual currencies. This is an exciting field which is strongly developing and deemed to have an impact on our society in the near future. The project will be about understanding and exploring the technology, particularly the block-chain upon which such currencies rely. This will consider mainly the associated computational aspects. Most likely, writing programs interacting with one block-chain will be part of the project.

No previous knowledge is required. However, this is a research-oriented project suitable for a student with a strong CS backgroud willing to explore new technologies.

TopUp arrow

Evolutionary Algorithms for Creating Music

Supervisor: Dr Sandy Brownlee

Second supervisor/marker: Dr David Cairns

Student: Andrew Smart

Outline:

Evolutionary algorithms are good at searching for solutions to difficult problems and have been applied to various real-world problems. They can also be used for creativity, such as generating music. This is probably with the input of a human, who will evaluate the possible tunes as they are found. The process can reduce the human input by basing tunes on an existing collection of music, or by guessing the human's preferences based on what they liked previously.

This project will explore the possibilities of generating music using evolutionary algorithms. The skills required are general programming in Java and some creativity.

TopUp arrow

Procedurally Generated 3D Worlds for Video Games

Supervisor: Dr David Cairns

Student: Ivalyo Hinov

Outline: TBA

TopUp arrow

Artificial Intelligence and Game Playing

Supervisor: Dr David Cairns

Student: Sergio Xenides

Outline:

This project will develop a game playing program that is artificially intelligent and can play the game against you and learn from it's mistakes.

TopUp arrow

Evaluating a Machine Learning Approach to Chess AI

Supervisor: Dr David Cairns

Student: Reece Kidd

Outline:

TBA

TopUp arrow

Implementing/Evaluating Different Algorithmic Solutions to One or More Problems

Supervisor: Dr Marwan Fayed

Student: TBA

Outline:

This project would be appropriate for a student who is a little less inclined to large programming projects, but is deeply curious about advanced algorithms, techniques, and associated theory. Surprisingly, there are branches of computer science that involve no programming at all!

One family of algorithms deals with error-correcting codes. One reason for these is that information may be stored or transmitted unreliably. Error-correcting codes ensure that information remains reliable. Another use is found in computational geometry, which tries to identify and answer questions related to geometry in n-dimensional space. It is strongly connected to computer graphics and spatial navigation, among others, and has recently found application in biology, chemistry, and physics.

The student would be expected to demonstrate learning through a (relatively) small program reinforced by a very high quality report that shows insight and critical analysis.

TopUp arrow

"It's Built! But they've yet to come."

Supervisor: Dr Marwan Fayed

Student: Boyan Miroslavov Atanasov

Outline:

Jasper is an open source voice-recognition system; Smart Citizen uses open source monitoring devices that collect and contribute environmental data to a massive pool of similarly collected data. Voice recognition has yet to move beyond novelty; similarly, no one knows what to do with all that environmental data. Links to both projects below.
https://jasperproject.github.io/
https://smartcitizen.me/

But maybe there's something magical hiding behind the combination of the two. Voice-recognition + environmental awareness ==> ? This project is as much creative in its potential as it is technical. Your idea/goal to bring them together should demonstrate the merit of each.

TopUp arrow

Distributed Device-dependant Fairness for Streaming Video

Supervisor: Dr Marwan Fayed

Student: TBA

Outline:

Consider: You and your flatmates are at home, and each of you is watching a streaming video on their own device. For reasons beyond your control, your flatmate is receiving a 1080p stream on their phone, while you are stuck watching 480p on the 50" television. Is this fair?

A bottleneck-node solution was presented in this paper linked below. I'm curious to know if device-dependent fairness can be similarly achieved in a distributed manner within a single subnet (eg. the home). Development paths likely involve open sourced Dash.js, perhaps WebRTC; alternatively use of Tamperfox with some rate-limiter.

http://www.cs.stir.ac.uk/~mmf/res/pubs/MFA_ifip15.pdf

TopUp arrow

A Social Media Check-out Service

Supervisor: Dr Marwan Fayed

Student: Petra Peterkova

Outline:

I am no user of social media, though one notion has become clear: Once connected and active, it becomes difficult to disconnect even for a short time. The more active in a social network, the more noticeable their absence when taking a break. In some sense the 'immediate response' applies increasingly to people, in addition to data.

So, I pose a challenge: Design and implement a service or application whereby a member of many social networks can 'check-out' for some fixed period of time. Such a service could take many forms. Perhaps the simplest, even most effective, somehow responds to posts and messages with, "I'm taking a break and will be back soon."

TopUp arrow

Turning The Internet upside down: Investigating A Fixed Clock with Variable Packet Size

Supervisor: Dr Marwan Fayed

Student: Jake Stauber

Outline:

The goal of this project is to design, implement and evaluate a simulation of a 'future' Internet where the rate of data flow is determined by varying packet size, rather than by ticks of a timer. (If preferred, there also exists the opportunity in this project for analysis.)

DData flow rates in the Internet today are determined by fixing packet sizes and varying the time between packet transmissions. Take, for example, TCP where the maximum segment size (MSS) is fixed. Congestion control mechanisms between sender and receiver are determined by acknowledgements, and then varying the timer that is used to transmit the fixed-length packets. Similar constraints determine the behaviour of admission control at edge routers. Token-bucket algorithms use time to accumulate the tokens that determine if a packet may be admitted to the network.

What would the Internet look like if, instead, the timers were all fixed interval (i.e. a 'heartbeat') and packets were permitted to vary in size? Some evidence and investigation exists to suggest merit in this approach, though these are limited to using variable packets in a fixed-packet protocol. Potential consequences of this approach include:

  • Some router-level functionality may be greatly simplified. In queue management, for example, random drops are more likely to penalize those packets that are larger in size.
  • Evaluation of TCP in this 'dual' version of the problem may give insight into TCP in the real world.
  • Imagining a different kind of network is just plain fun.

Successful completion of this project would be determined by a usable simulation environment in ns-3 (or similar). The exact nature and scope of the project simulation would be agreed in advance. It is possible that additional project opportunities may be created around other aspects of this work. More information can be found from:

  • J. Widmer, C. Boutremans and J Le Boudec. End-to-end Congestion Control for TCP-Friendly Flows with Variable Packet Size, ACM Computer Communication Review, 2004 (web page and code available at icapeople.epfl.ch/widmer/tfmcc/vp-tfmcc.html)
  • P. Reviriego. Variable Packet Size Equation Based Congestion Control, ICSI Technical Report TR-00-008, April 2000
TopUp arrow

Modelling Neural Systems

Supervisor: Prof Bruce Graham

Student: Keiran Docherty

Outline: I am interested in computer simulations, based on mathematical models, of (parts of) the brain. Such simulations look at individual neurons in some detail, or neural networks using simplified models of the neurons. If you are interested, then we can formulate a project tailored towards what you would like to do. Typical projects will involve implementing an existing model in a high level language such as Java or Python, and developing a suitable GUI to examine model output. Specific simulation packages such as NEURON or Brian (Python-based) might also be used. Some projects might concentrate on the visualisation aspects eg animated model output and data presentation.

TopUp arrow

General purpose programming with GPUs

Supervisor: Prof Bruce Graham

Student: TBA

Outline: While GPUs are designed and built specifically for fast graphics processing, their architecture is suitable for doing other sorts of calculation, with potentially great speedup over doing the same calculation on the CPU. The release of NVIDIA's CUDA SDK makes programming GPUs readily possible. The aim of this project is to get familiar with the concepts and benefits of general purpose programming for GPUs, and to make use of CUDA in developing some simple applications and testing for speedup compared to running the same applications on the CPU. Possible applications include simple cellular automata, such as the Game of Life. Comparison can be made with the Java-based Netlogo simulator for this sort of application.

TopUp arrow

Modelling Navigation Strategies

Supervisor: Prof Bruce Graham

Student: TBA

Outline: We use variety of strategies to navigate around our world, including sensory cues and measures of self-motion. Recent experimental data from mice indicates that they can chose between strategies to reach a goal location containing food in a star maze: (1) they use a map of the environment derived from visual cues to work out where they are in relation to the goal, or (2) they learn the sequence of turns required to reach the goal from a given starting location. The aim of this project is to build a computer model of this navigation scenario and use AI learning techniques based on neural networks and reinforcement learning to train a virtual mouse to learn these different strategies. Coding and visualisation might be done from scratch in a language such as Java, or simulation environments such as Netlogo and Webots might be suitable.

TopUp arrow

Using neural networks to solve linear and quadratic programming problems for financial planning

Supervisor: Prof Bruce Graham

Student: TBA

Linear and quadratic programming (LQP) is about optimising a cost function under constraints. It is possible to set up recurrent neural networks to find approximate solutions to such problems and a variety of approaches exist to do this. In this project you will look at financial planning applications that can be formulated as LQPs. For example, maximising returns on investments given that you only have a fixed amount of money to invest and are only prepared to take so much risk. The idea is to construct a computer app that enables a user to define their problem and specify their constraints, then run the neural network to get a recommended solution. Computer programming skills are required, as well as sufficient mathematics to understand LQPs and neural networks.

This project is in collaboration with the FinTech company, Bambu, based in Singapore. They will suggest suitable financial planning applications and provide example data to work with.

TopUp arrow

Visualisation of image file formats and compression

Supervisor: Prof Bruce Graham

Student: Elliot Cameron Beattie

Image file formats and associated compression algorithms, as covered in CSCU9N5, are very complicated and varied. The aim here is to build a special "image viewer" application that will load and image and produce an on-screen report of the file structure, as well as showing the image. The structure will be suitably annotated so that all the components are meaningful to even a novice viewer (as far as possible). Either in this application, or in a separate application, details of compression algorithms, such as LZW and JPEG will be illustrated and demonstrated through animations to show the different steps involved: this will be a teaching tool suitable for use in courses such as CSCU9N5.

TopUp arrow

Learning in context

Supervisor: Prof Bruce Graham

Student: Sean O'Connell

Artificial neural networks are able to learn to recognise, categorize and make predictions about data streams, such as images of faces, financial trading data etc. The networks are trained on example data, rather than being programmed directly. However, such training is usually done without considering issues such as the context in which the data was collected. For example, a Satnav system that generates routes without considering the vehicle being driven: we have all seen pictures of large trucks getting stuck on bends that are too tight for them! Training algorithms for neural networks that take context into account do exist, but are not yet widely used. The aim of this project is to program some examples using these algorithms to illustrate their usefulness. The starting point are results published in several research papers. Any programming language can be used, and suitable neural network APIs can provide a starting point (eg TensorFlow from Google).

TopUp arrow

Collaboration Logo (with Health Sciences and Sport)
Heart rate variability

Please speak to Chris Grigson in 4V8 (or email below) about this project.
A suitable supervisor in Computing Science should be approached too.

Supervisor: TBA

Possible Sports co-supervisor: Stuart Galloway

Technical consultant: Chris Grigson

Student: TBA

Outline:

Heart rate variability is a key fitness and health indicator. The r-r interval or interval between heart beats can be easily read with several technologies including ECG, Pulse oximetry and Piezo sensors. The Poincaré plot is a good visual indication of HRV and might be implemented live on an Android device. Other measures can be derived from HR data. HR data can be combined with data from other sensors measuring for example breathing and activity.

See https://en.wikipedia.org/wiki/Heart_rate_variability

Components:

  1. Maxim 30100 sensor
  2. H7 bluetooth belt
  3. Logging to memory card
  4. Android app with Poincaré live display
  5. Communications, cloud and datalogging
TopUp arrow

Collaboration Logo (with Health Sciences and Sport)
Handgrip fitness trainer for sedentary people

Please speak to Chris Grigson in 4V8 (or email below) about this project.
A suitable supervisor in Computing Science should be approached too.

Supervisor: TBA

Possible Sports co-supervisor: Niels Vollaard

Technical consultant: Chris Grigson

Student: TBA

Outline:

Regular, light hand exercise has been shown to improve blood pressure and may have other whole body health benefits. An Android app can guide users through a training routine providing encoragement and setting goals. The app might take readings from a low cost custom hand grip sensor. The app should display live results, a clear overall summary of past data and automatically load data to the cloud.

See http://www.bbc.co.uk/programmes/articles/3nvRZxYFPxHCCvxGwmDt0cC/is-there-a-short-cut-to-getting-fit

Components:

  1. Andoid training app
  2. Sensor development
  3. Power management
  4. Communications, cloud and datalogging
TopUp arrow

Collaboration Logo (with Health Sciences and Sport)
Human skeleton map / Goniometry

Please speak to Chris Grigson in 4V8 (or email below) about this project.
A suitable supervisor in Computing Science should be approached too.

Supervisor: TBA

Sports co-supervisor: Angus Hunter/Lee Hamilton/Dave Clark

Technical consultant: Chris Grigson

Student: TBA

Outline:

Measuring the orientation of limbs is important in sport and health research. A goniometer specifically measures joint angles but other instruments offer a more complete view of limb positions and many are non contact or wireless. Traditional methods are often bulky, expensive or time consuming. Newer methods include the Kinect game controller and inertial measurement units (IMUs) but are these accurate and how do they compare to established methods? Can you make your own wireless IMU based sensor? Can you make a wireless adapter for a traditional sensor? Software could interpret data from multiple sensors and display a live animated skeleton. Other software might interface to the cloud and calculate the accuracy of the different sensors. Special algorithms may be required to improve results from IMU sensors. A specific and unusual application (Dave Clark) is flexibility testing to measure fitness in Rugby teams, a video analysis application would be ideal for this simple, well controlled test.

See:

Components:

  1. IMUs Arduino Microbit (embedded code)
  2. Android interface
  3. Desktop interface
  4. Piezo resistive
  5. Kinect
  6. Performance comparison
  7. Communications, cloud and datalogging
  8. Kinovea angular measurements and camera errors
  9. In house video analysis software
TopUp arrow

Collaboration Logo (with Health Sciences and Sport)
Vertical Jump measurement system

Please speak to Chris Grigson in 4V8 (or email below) about this project.
A suitable supervisor in Computing Science should be approached too.

Supervisor: TBA

Sports co-supervisor: Oliver Witard

Technical consultant: Chris Grigson

Student: TBA

Outline:

Vertical jumps provide a key measure of performance. Develop a force platform and height sensor. Establish communication with a small computing platform such as Raspberry pi, Beaglebone or Arduino. Write a gui application to guide the user through the test. Analyse the test and display results alongside the plotted raw data. Log the results to memory card and the cloud.

See:

Components:

  1. Load platform
  2. Displacement sensor
  3. Embedded linux or RPi application
  4. Android app
  5. Communications, cloud and datalogging
TopUp arrow

Collaboration Logo (with Health Sciences and Sport)
Reaction timer

Please speak to Chris Grigson in 4V8 (or email below) about this project.
A suitable supervisor in Computing Science should be approached too.

Supervisor: TBA

Sports co-supervisor: Lee Hamilton/Angus Hunter/James Dugdale

Technical consultant: Chris Grigson

Student: TBA

Outline:

We have a reaction timing system built using a Arduino mega and touchscreen. This works well and there are many opportunities to improve the system and discover new applications.

Components:

  1. Improve existing system
  2. Add transducers to measure reaction for different senses and limbs
  3. Communications, cloud and datalogging
  4. Adapt for different sports including football
TopUp arrow

Collaboration Logo (with Health Sciences and Sport)
Instrumented massage bed

Please speak to Chris Grigson in 4V8 (or email below) about this project.
A suitable supervisor in Computing Science should be approached too.

Supervisor: TBA

Sports co-supervisor: TBA

Technical consultant: Chris Grigson

Student: TBA

Outline:

It is difficult to standardise a massage procedure over multiple participants. And instrumented massage be could give live feedback to the masseuse. Applied force in multiple directions is an obvious measurement but are there any others?

Components:

  1. Instrumenting the bed and tools
  2. Rpi interface DAQ over i2C using the common HX711 amplifier
  3. Signal processing & experimental measures
  4. Communications, cloud and datalogging
TopUp arrow

Collaboration Logo (with Health Sciences and Sport)
Fuji pressure film analysis software

Please speak to Chris Grigson in 4V8 (or email below) about this project.
A suitable supervisor in Computing Science should be approached too.

Supervisor: TBA

Sports co-supervisor: Lewis Macgregor

Technical consultant: Chris Grigson

Student: TBA

Outline:

The pressure applied during massage and foam rolling can be recorded on pressure sensitive films. The image on the film lasts for a limited time. Develop software to accurately map the pressure recorded on the film in good time. This project is technically easy so the software should be complete, intuitive feature rich and debugged.

Components:

  1. Acquire image
  2. Filter
  3. Map colour intensity to pressure
  4. Analyse the pressure map for key statistics
  5. Store pressure map and results in a handy format
TopUp arrow

Collaboration Logo Towards an emotion-sensitive Mobile App for Wedding Services Management

Supervisor: Prof Amir Hussain

Industrial co-supervisor: Anne Widdop (Event Software Ltd.)

Student: TBA

Outline:

The overall aim is to research, design and develop a novel customer-centric, multi-modal emotion-sensitive human-computer interface, and a range of intelligent features that can add value and significantly enhance the functionality of an existing Web/Mobile App based wedding services management system.

In this project, the student will research and further develop the existing App interface to enable emotion-sensitive user interaction, and to solicit web-based feedback from customers, both after the on-line booking experience, and after the physical event has taken place, in the form of structured and unstructured natural language text. The unstructured feedback will be mined using advanced sentic computing based sentiment and opinion mining techniques to understand the true emotions and sentiments of customers. Other modalities, such as voice and facial expressions may also be exploited in the future to monitor customers' emotions on a real-time basis. Outcomes of the sentiment and opinion analysis will be used for continuous innovation and enhancement of the customer experience.

The student will have the opportunity to spend periods of time working on the company premises in Edinburgh (as part of a work placement). The student will learn new interdisciplinary research and development skills (using grail, groovy, HTML, and Java) and also enhance his/her employability prospects (There could be the possibility of paid employment with the company, following the completion of the project)

TopUp arrow

Collaboration Logo Predicting Insulin Resistance in Children

Supervisor: Prof Amir Hussain

Clinical co-supervisor: Dr M.G. Shaikh, Consultant Endocrinologist, Yorkhill Childrens Hospital

Industrial co-supervisor: Dr A. Ilyas, Health-em Ltd (Scotland)

Student: TBA

Outline:

Biologically inspired machine-learning techniques are receiving growing attention from academic and clinical researchers interested in predictive analytics of medical Big Data. The emergence of new analytically-transparent and computationally tractable machine learning algorithms is expected to have a profound impact on the future of personalized, preventative and prognostic medicine.

Childhood obesity remains a major global problem despite rates stabilising, over 30% of school children remain overweight or obese. With obesity comes an increased risk of insulin resistance, development of diabetes and heart disease. Currently blood tests are used to confirm raised levels of insulin/ insulin resistance which can be perceived as pre-diabetic stage. Predicting which children will develop insulin resistance remains difficult and invasive, although BMI and ethnicity, together with the presence of acanthosis nigracans (pigmented skin changes) are clear factors.

In this project, the student will extend the prototype developed by a recent Honours project, and apply new machine learning based predictive models using existing clinical and biochemical patient data to predict insulin resistance in children. The predictive models will be further developed using retrospective data to be provided by the Consultant Endocrinologist at Yorkhill Hospital, with a view to deploying it for a prospective study.

The student will have the opportunity to spend periods of time working at a Hospital Clinic based in Glasgow (as part of a work placement element). The student will acquire new research and development skills and also enhance his/her employability prospects (There could be the possibility of paid employment with the sponsoring company, following the completion of the project).

TopUp arrow

Collaboration Logo Towards a disruptive, intelligent Patient-centric Preventative Diabetes (Type-2) App

Supervisor: Prof Amir Hussain

Clinical co-supervisor: Dr M.G. Shaikh, Consultant Endocrinologist, Yorkhill Childrens Hospital

Industrial co-supervisor: Dr A. Ilyas, Health-em Ltd (Scotland)

Student: TBA

Outline:

Around 1.8 million people have Type 2 diabetes in the UK, Types 1 and 2 together represent about 90 percent of all prevalent diabetes cases. The increase in Type 2 diabetes is closely linked to an aging population and rapidly rising numbers of obese people. Mobile computing can improve the quality of the patients' life by providing systems that help diabetes patients to monitor and control their diseases.

The aim is to create a new patient-centric Mobile App integrating an intelligent predictive tool which both screens and prevents Diabetes Type-2, by integrating information from glucose and blood pressure measuring devices, augmenting healthy life styles, and using social media to create virtual local diabetes communities, including rewarding through gamification.

The proposed App will aim to provide preventative measures for Diabetes Type-2, through novel predictive models based on monitoring of normal glucose functions and blood pressure profiling along with a number of other functions relating to their lifestyle. The predictive models will be developed and validated using retrospective data to be provided by the Consultant Endocrinologist at Yorkhill Hospital.

The student will have the opportunity to spend periods of time working at a Hospital Clinic based in Glasgow (as part of a work placement element). The student will acquire new research and development skills and also enhance his/her employability prospects (There could be the possibility of paid employment with the company, following the completion of the project).

TopUp arrow

Collaboration LogoTowards a disruptive, intelligent Patient-centric Preventive Hepatitis App

Supervisor: Prof Amir Hussain

Clinical co-supervisor: Dr A. Shah, Consultant GI, Kilmarnock Hospital

Industrial co-supervisor: Dr A. Ilyas, Health-em Ltd (Scotland)

Student: TBA

Outline:

An understanding of liver cancer disease progression is vital for early diagnosis which can maximize the efficiency of patient treatment and care plan. It also provides an insight into disease mechanisms that could help with early detection and management of liver disease. There are a number of different statistical models of disease progression presented by researchers, including path models, oncognetic tree models, distance based trees, network aberration models, conjunction Bayesian networks, and markov models of disease progression. Real-time progression modeling is a challenging task due to patient heterogeneity, missing data, multiple covariates, incomplete records, random visits and irregularity of observations. Furthermore, screening a few patients intimately does not capture the dissimilarity over the larger population. Data sets of this kind are available and contain a wealth of information, but current data mining and prediction techniques do not exploit the available data effectively. Thus, alternative models must come from more cross-sectional data, including a range of (MRI, ultrascan and CT scan) imaging, laboratory and clinical data, obtained from many patients, each making a few irregular visits to a clinic. The main aim of this project is to develop a new liver disease progression/predictor model to address this problem, exploiting state-of-the-art machine learning techniques.

The student will have the opportunity to spend periods of time working at a Hospital Clinic based in Glasgow (as part of a clinical work placement element). The student will acquire new research and development skills and also enhance his/her employability prospects (There could be the possibility of paid employment with the company, following the completion of the project).

TopUp arrow

Collaboration Logo Towards an intelligent Medication Management and Compliance App

Supervisor: Prof Amir Hussain

Clinical co-supervisor: Dr M.G. Shaikh, Consultant Endocrinologist, Yorkhill Childrens Hospital

Industrial co-supervisor: Dr A. Ilyas, Health-em Ltd (Scotland)

Student: Iain Stewart

Outline:

People who do not take their medicines as directed by their doctor risk harming their health and also cost the NHS more than £500 million every year, as reported in a new study.

The Aston Medication Adherence Study (AMAS), conducted by Aston Pharmacy School and believed to be the first large-scale research project on medication adherence in the UK, examined the extent of non-adherence and factors associated with lower levels of adherence with three specific patient groups - people diagnosed with dyslipidaemia, type 2 diabetes and or hypothyroidism -

The researchers found that, overall, around a quarter to a third of the patients were non-adherent to their medication. Profiling of those patients who were most likely to benefit from targeted support to help them take their medicines as prescribed found that these included patients: - who are younger than 60 years of age; - of Asian, Caribbean, African and "Other Black" origin; - whose primary language is Urdu or Bengali; and - who are living in the most socioeconomically deprived areas. The research used software which calculated individual patient Medication Possession Ratios (MPRs) for all medication "runs" of interest - a "run" being the time between the first and last prescriptions for a medicine. Although MPRs are not a definitive indicator of adherence to a medication regimen, as the data does not indicate whether the prescribed medication was dispensed and/or subsequently taken by the patient, a low MPR value is a reliable indicator of non-adherence.

The proposed innovative App will employ a camera and image processing system (driven by an expert system or machine learning algorithm) to recognize commonly used medicines from their packaging. Once photos are captured and processed, it will store information on the relevant medication and its target frequency. The user will then be alerted, by an interactive, personalized virtual healthcare assistant/avatar, who would educate and remind the user to take up medications on time, and encourage a short video recording of the medication's intake, and, finally, reward the user with a personalized gamification rewards based experience.

The student will have the opportunity to spend periods of time working at a Hospital Clinic based in Glasgow (as part of a work placement element)The student will acquire new research and development skills and also enhance his/her employability prospects (There could be the possibility of paid employment with the company, following the completion of the project).

TopUp arrow

Collaboration Logo A Big audio-visual corpus for audio-visual speech processing/automatic lip reading

Supervisor: Prof Amir Hussain

Co-supervisor: Dr Ahsan Adeel

Clinical co-supervisor: Dr W Whitmer, Institute of Hearing Research (IHR), Glasgow

Industrial co-supervisor: Dr P Derleth, Sonova (Phonak Hearing Systems)

Student: TBA

Outline:

The project will involve designing a new audio-visual (AV) corpus for noise-robust AV speech processing research. In particular, we aim to capture and analyse high-quality audio and video of spoken English sentences. The project could be distributed to a group of students, each student building a subset of the corpus by recording different sentences with selected speakers under real world conditions. After building the dataset, each student/group will employ their respective dataset for audio-visual (AV) mapping using deep machine learning algorithms (already developed and available at Stirling). AV mapping is the process of mapping visual information (e.g. lip images) to corresponding audio frames. The project is the building block of next-generation cognitively-inspired multimodal hearing aids, listening devices, and speech recognition technologies. The project will be co-supervised by our industrial and clinical partners (as part of ongoing research at the Division's CogBID Lab: http://cogbid.cs.stir.ac.uk), and could lead to potential placement/employment opportunities for the student(s).

TopUp arrow

Collaboration Logo Evaluating audio-visual speech processing algorithms in an audio-visual setting

Supervisor: Prof Amir Hussain

Co-supervisor: Dr Ahsan Adeel

Clinical co-supervisor: Dr W Whitmer, Institute of Hearing Research (IHR), Glasgow

Industrial co-supervisor: Dr P Derleth, Sonova (Phonak Hearing Systems)

Student: Stephen Nicholson

Outline:

Human speech processing is inherently multimodal, where visual cues help better understand speech. Thus, new-generation automatic speech recognition and enhancement systems are aiming to increasingly leverage the audio-visual (AV) nature of speech, by appropriately integrating the audio and visual cues. For example, the clear visibility of our articulatory organs such as lips can be effectively utilized to extract clean speech, since the visual speech representation always remains unaffected by the acoustic noise. However, very limited work has been conducted to develop standards for evaluating audio-visual speech processing algorithms in a realistic audio-visual settings. This is clearly very important for future multimodal AV device design. Consequently, this project aims to critically review the clinical, academic and commercial work relevant to developing required standards/procedures for evaluating new AV speech processing algorithms (currently being developed at Stirling CogBID Lab: http://cogbid.cs.stir.ac.uk), taking into account appropriate real-world listening conditions.

TopUp arrow

Collaboration Logo A multimodal sentiment analysis and opinion mining dataset building App

Supervisor: Prof Amir Hussain

Industrial co-supervisor: Anne Widdop (Event Software Ltd.)

Student: Cameron Hill, Alan McMahon

Outline:

With the advent of mobile applications and social websites such as YouTube, Vine, and Vimeo, there is a rapid increase in the number of online videos shared by people expressing their opinions and reviews. The automatic analysis of these online opinion videos is bringing new or understudied research challenges to the field of computational linguistics and multimodal analysis.

While sentiment analysis has been successful for text, it is an understudied research question for videos and multimedia content. One of the bottlenecks is lack of a proper dataset and dataset building tools. In this project, the student will work on developing an intelligent, user-friendly, adaptive application which will aid the user in building a multimodal dataset.

Skills required are general programming in Python or Java, web programming (HTML, CSS, JavaScript).

The project will involve industrial co-supervision, with possibilities for the student to gain placement/work experience.

TopUp arrow

Collaboration Logo Smart mirror using Raspberry Pi

Supervisor: Prof Amir Hussain

Industrial co-supervisor: Dr Arshi Ilyas (Business Innovation Ltd)

Student: Oliver Gordon

Outline:

Every day, various aspects of our lives are becoming increasingly connected through the Internet of Things and smart home technology. We are constantly generating data, receiving information, and in real-time communication with our devices and each other - from anywhere, at any time. And this connectedness is dramatically on the rise. In this project, the student will build a smart mirror which can interact with the user and present relevant information while he/she gets ready for the day. For a more personalised experience ,the concept of facial recognition can be incorporated into the mirror. Features may include, but are not limited to, Weather, Calendar events, Emails, Time, News

Skills required are general programming in Python and web programming. The project will offer a unique learning experience to the student both at hardware and software level. The candidate should have an interest in exploring the area of smart IoT/embedded systems/robotics.

The project will involve industrial co-supervision, with possibilities for the student to gain placement/work experience.

TopUp arrow

Collaboration Logo Sentiment analysis of mobile text messages

Supervisor: Prof Amir Hussain

Industrial co-supervisor: Anne Widdop (Event Software Ltd.)

Student: Alan McMahon

Outline:

This project involves learning concepts of natural language processing (NLP) and applying them to detect sentiments in text messages, extracted from Android and iOS phones. Extracting mobile phone databases are easier with iOS rather than Android since Android phones need to be rooted to do this. Since Android is customized by mobile phone companies, the procedures to root Android phones and extract databases and locations of databases all differ from phone to phone. The student will learn a range of skills, including machine learning algorithms, NLP and sentiment analysis concepts, rooting android phones, use of adb, linking databases with programming languages, etc.

The project will involve industrial co-supervision, with possibilities for the student to gain placement/work experience.

TopUp arrow

Tracking The Usage of Division Module Web Sites

Supervisor: Dr Simon Jones

Student: David Currie

Outline:

I often wonder exactly what use my students make of the module web sites that I look after, and whether anybody else ever visits them: how many page views, who visits (if we know who they are), who returns for subsequent visits (even if we don't know who they are), which pages visitors view, and maybe in which order, how often, etc. There are various services of this general kind already available on the Internet, for example: Google Analytics (free) and WebTrends (potentially pricy - web analytics is big business). But I think that it would be useful to have a locally managed, bespoke system that is more focused on our need. It would also be an interesting and challenging facility to build. The service developed, although focused on our needs, would probably be sufficiently generic that it could apply to other web sites too.

This is a web site project that is not principally about developing a web site! The general idea is to design components that can be added to existing web sites/pages, no matter whether they are built using plain static HTML, PHP, Java servlets, etc. The added components will, somehow to be devised, report back to server-side software about the usage of the web page to which they have been added. Various techniques can be used such as 'web bugs', cookies or Javascript inserts. The server-side software will record, store, analyse and report on the usage data. Appropriate consideration must be given to Data Protection issues, and also to recent legislation on the use of cookies.

The server side will be built using Java servlets (so, elective module CSCU9YD is required in Autumn 2015), or PHP (from CSCU9W6) using MySQL for data storage. There is the opportunity for some interesting data visualisation of the analysis reports. The analysis/reporting aspects of the software could be through a desktop application or as a web site.

TopUp arrow

A tool for supporting "Attendance and Engagement" monitoring procedures

Supervisor: Dr Simon Jones

Student: John Matthews

Outline:

The University has recently established a supportive policy concerning students' "Attendance and Engagement" . This "has been developed as part of the University's commitment to provide a comprehensive supportive learning environment in which all students are encouraged to develop a breadth of skills, abilities and approaches to their studies and maximise their full potential".

The general principle is that module coordinators should record student attendance/engagement at specific "points of contact" (for example, tutorials and coursework submission). This will allow the coordinator to identify "when expected points of contact are missed which may indicate a student at risk", and the coordinator may then invite them for a meeting to discuss any problems that the student has with the module, or can refer the student to their personal tutor to "discuss any concerns the student may have and if necessary, direct them to the appropriate support service".

This is particularly important in the case of overseas "Tier 4" visa students (from outside Europe), who risk having their visas cancelled (and being deported) if they do not engage with their studies.

This project is to develop a system for supporting the Division's module coordinators in their implementation of this policy. It should

  • keep attendance records for each student/module,
  • make it as easy as possible for coordinators/tutors/etc to record attendance at sessions, submission of courseworkwork, etc,
  • be configurable with "triggers" to alert module coordinators when students miss expected points of contact,
  • cross-check attendance records between modules,
  • be able to produce readable and archivable attendance record reports.

The implementation technology can be anything appropriate, either desktop or web, perhaps with mobile/tablet interface components, and would probbaly require a shared database.

TopUp arrow

An on-screen marking tool for providing feedback on programming assignments

Supervisor: Dr Simon Jones

Student: Jamie McArthur

Outline:

Traditionally we annotate printed versions of programming assignments with feedback for the student (printed either by the student or by the marker). It is then necessary either to return the feedback to the student (it's not always easy to find them), or to persuade the student to come and collect their feedback (it's surprising how difficult that seems to be for some students!).

An alternative is to complete the marking electronically, and to return the feedback to the student by email or perhaps via a web link. The clear advantages are that there is no paper management, and feedback is delivered directly to the student. Note that this is not automatic marking, but electronically supported manual marking and feedback.

Turnitin, accessible at Stirling through Succeed, includes an on-screen marking feature called GradeMark (see YouTube demo here: https://www.youtube.com/watch?v=r9_mmowfEDo).

However, although GradeMark is quite sophisticated, it seems to have some drawbacks:

  • It is not intended for, and is not well adapted to, marking program code (and Turnitin is not adapted to receiving code): language extensions such as .java, annotating layout issues, indicating blocks of code, allowing feedback comments connecting several sections of code.
  • GradeMark has a nice on-screen interactive view of feedback: students hover their mouse over feedback markers and the detailed comments pop up. However, the student cannot "take away" this interactive view, they must be logged in to Succeed and GradeMark.
  • Students can download a static PDF file showing their code with feedback, but the PDF consists of simple page images, with brief markers overlaid on the program text - sometimes obscuring it. The full feedback is available at the end, but without easy links back to where the markers are. (See example)

So, I would like a desktop application that allows the addition of feedback to programming assignments, and makes it possible for students to view their feedback nicely. One possibility is a Java desktop application, generating self-contained HTML/Javascript files with program text and interactive, printable feedback. The application should be able to help the marker manage a whole class's submissions for an assignment, and should produce feedback out in a form suitable for convenient emailing back to the class. No support is required for actual marking.

TopUp arrow

Managing the Honours projects

Supervisor: Dr Simon Jones

Student: Ismael Sanchez Leon

Outline:

You can probably imagine what this might cover: From staff adding project proposals, through records of supervisors ansd second markers and lists of current projects in progress, to the archiving and presentation of catalogues past projects. All for integration with the current CSCU9Z7 web site, though supporting the module coordinator with a desktop application is also a possibility.

TopUp arrow

Developing a mobile application for students

Supervisor: Dr Mario Kolberg

Student: TBA

Outline:

TBA

TopUp arrow

Servlet Services on the SIP Application Server

Supervisor: Dr Mario Kolberg

Student: TBA

Outline:

Like ordinary telephony, Internet telephony can provide services such as call blocking, call waiting, and call forwarding. However Internet telephony offers a more flexible range of choices such as filtering calls by the source address or source domain.

SIP (Session Initiation Protocol) is an increasingly popular standard for Internet telephony. So far there have been two main approaches to developing SIP services: CPL (Call Processing Language) and CGI (Common Gateway Interface). However, more recently a third approach has been developed: SIP Servlets.

This project is to investigate SIP Servlets. This will include developing some SIP Servlet services and deploying them on a testbed within the department. Particular emphasis will be placed on the new opportunities offered by SIP Servlets, such as the integration of communications with other computer and web applications.

This project would be appropriate for a student with an interest in (tele)communications and programming.

TopUp arrow

Simulating P2P Overlay Algorithms

Supervisor: Dr Mario Kolberg

Student: TBA

Outline:

Structured overlays provide scalable network overlays based on a distributed data structure that supports deterministic behaviour for data lookup. Structured P2P overlays impose restrictions on node placement in the overlay, and hence improve the efficiency of data lookup.

A number of such algorithms have been developed. These algorithms can be complex. Due to the inherent dynamic nature of such networks, these algorithms are difficult to study without suitable implementation. Simulation environments provide a suitable testbed for this work (e.g. Omnet++ with Oversim).

Ongoing research activities at Stirling require the implementation of particular P2P algorithms in such simulators. This project will focus on implementing one such algorithm and verify its behaviour by running sample simulations and studying suitable performance measures.

TopUp arrow

Programming Mobile Phones

Supervisor: Dr Mario Kolberg

Student: Jamie Johnston

Outline:

Mobile Apps are big business and are developed for a variety of purposes. Applications can be developed in a platform specific way (Android or iPhone) or using a cross platform approach such as PhoneGap and Titanium. This project will develop an app in different ways and compare the advantages/challenges with each approach.

TopUp arrow

Handwriting Recognition

Supervisor: Dr Jingpeng Li

Student: David Endersby

Outline:

Handwriting recognition is the ability of a computer to receive and interpret intelligible handwritten input from sources such as paper documents, photographs, touch-screens and other devices. The aim of the project is to implement pattern recognition on handwritten characters by firstly extracting features and then passing them to a classifier. The digitised form of the handwritten text needs to be first generated. Images will then be analysed to determine the significant features, symbolic and/or statistical, that can be extracted. The feature extraction program should take raw images as input and produce a binary output indicating whether or not the feature is present. The binary output would feed into a feature vector for classification, possibly by a neural network. The project will also investigate original thought and encourage methodical investigation of hypotheses, even if these hypotheses turns out to be wrong.

TopUp arrow

A System for Automating the Job Recruitment Process

Supervisor: Dr Jingpeng Li

Student: Oliver Hobson

Outline:

A software system is needed to allow job recruiters to post jobs. It is also needed by job seekers to view the posted jobs via different search categories (such as location, industry, etc.) and to apply for jobs that they think are suitable. The basic tasks of the system will include the analysis of requirements, the design of a database that will support the main activities, and the implementation of a web front-end to the database which supports two interfaces that will allow both types of user (i.e. job recruiter and job seeker) to use the database effectively.

TopUp arrow

A Knowledge Driven Search with Evolutionary Ruin and Stochastic Rebuild: Case Studies of Vehicle Routing Problems

Supervisor: Dr Jingpeng Li

Student: TBA

Outline:

The Vehicle Routing Problem (VRP) is a well known problem in operational research where customers of known demands are supplied by one or several depots. The objective is to find a set of delivery routes satisfying some requirements or constraints and giving minimal total cost. The VRP has drawn enormous interests from many researchers during the last decades because of its vital role in planning of distribution systems and logistics in many sectors such as garbage collection, mail delivery and task sequencing.

This project aims to develop a new model for intelligent search, in which the advantages of single-solution-based approaches (e.g. local search) and population-based approaches (e.g. genetic algorithms) are combined. To achieve this, the key difficulty of how to carry out an evolution on a single solution will be resolved. Experts' tacit knowledge on the efficiency of the deployment of individual solution components will play a central role in the development of the proposed model.

TopUp arrow

Modelling the evolution of a population of living beings

Supervisor: Dr Jingpeng Li

Co-supervisor: Dr Michael Jiawei Li

Student: TBA

Outline:

Iterated prisoner's dilemma (IPD) is considered as an ideal experimental platform for the evolution of cooperation among selfish individuals. Many natural processes, interactions among a population of human beings or animals for example, have been abstracted into IPD. The classical prisoner's dilemma is as follows:

Two suspects, A and B, are arrested by the police. The police have insufficient evidence for a conviction, and, having separated both prisoners, visit each of them to offer the same deal: if one testifies for the prosecution against the other and the other remains silent, the betrayer goes free and the silent accomplice receives the full 10-year sentence. If both stay silent, the police can sentence both prisoners to only six months in jail for a minor charge. If each betrays the other, each will receive a 5-year sentence. Each prisoner must make the choice of whether to betray the other or to remain silent. However, neither prisoner knows for sure what choice the other prisoner will make. So the question this dilemma poses is: What will happen? How will the prisoners act?

In an IPD, two individuals have to choose their mutual strategies repeatedly and have memory of their previous behaviours. In an evolutionary IPD, a population of individuals play IPD with each other and generate offspring according to their payoffs received in game playing.

The main tasks of this project are: 1) to program an IPD model that simulates and visualizes the evolutionary process of a population of living beings and 2) to research how the population evolves.

No evolutionary computation or game theory background is required.

TopUp arrow

GUESS Visualisation Tool and Second Life

Supervisor: Prof Evan Magill

Student: TBA

Outline:

Multi-user virtual worlds such as Second Life provide a 3-D space shared by a number of avatars. The avatars interact with their environment and each other through text chat and voice communications. However this is not a fixed place - you can change it. Second Life allows you to create programmable in-world objects that let you produce a unique environment of your own choosing. You will find much more information on the Second Life web site.

The InterLife project is developing a private island on Second Life to provide a research educational space. In this space, data is collected on the position, orientation, and chat of the assembled avatars. This project will develop scripts for the GUESS visualisation tool to take the collected data and show the interactions among avatars over time.

This will require a student with a interest in virtual worlds and an interest in programming. The GUESS scripting language is based upon Jython.

TopUp arrow

Innerpeffray Library: Books and Borrowers, 1680-1968

Supervisor: Prof Evan Magill

Student: Mark Perrie

Outline:

This project has two aspects that might well form two separate projects:

  1. The construction/customisation of a suitable database. At the moment we are thinking of using MySQL, but there may be better options. This would link to the existing library catalogue (that uses software called Micromarc). Data included in the database would need to include all the information about the books and their borrowers, as well as (where possible) geographical co-ordinates (for places where the books come from and where they go to).

    This could also include the creation of a suitable web interface that would allow users to search data in all fields as well as combining searches to find information in many different ways.

  2. Visualisation would use the geographical co-ordinates stored in the database, creating a way of seeing the movement of books (from production to borrowers) visually. For example, Innerpeffray owns a book that was printed and published in Venice, then sold to booksellers in London, who sent it on to Edinburgh, from where it came to Innerpeffray. From the library, this book could then be traced through the borrower records to its various destinations in rural Perthshire. We would like to be able to show this book's journey through a computer visualisation that might be based on Google maps.

TopUp arrow

Android App to help University visitors

Supervisor: Prof Evan Magill

Student: Liam Robert Logan

Outline:

This project is looking towards designing and building an app to help visitors (including potential students) navigate their way around the University within our buildings. The project may include external navigation, but GPS based app frameworks are available for this which can be readily exploited.

So the design and preparation stages of this project will be the prominent aspect of this project rather than the more straightforward coding within the Android environment. The challenge is using wireless Access Points (APs) within the building to position the phone. This may be error prone and will require consideration of the positioning of the APs, their SSIDs, and indeed a map of the internal layout of offices, walls and doors. Other positioning approaches such as Bluetooth beacons may also be useful. There may also consideration of using GPS on the top floor.

Additional features may include aiding navigation to meetings and lectures, possibly employing a student's teaching timetable. This could be useful for partially sighted students.

It is essential that the student was competent in the CSCU9W6 module. While an interest in Android is useful, it is important that the student has an interest in wireless communication, as this project is rather more than straightforward Android coding.

TopUp arrow

Network Analysis in NetLogo

Supervisor: Dr Savi Maharaj

Student: TBA

Outline:

NetLogo (ccl.northwestern.edu/netlogo) is a free open-source tool for the agent-based computational simulation of complex systems. Graphs or networks can be represented as agents connected by links, allowing the simulation of dynamic processes that take place on a network. For example, it is possible to model the spread of a virus on a computer network, or the formation and evolution of human social contact networks. There are a number of publicly available network data sets, for example, http://www-personal.umich.edu/~mejn/netdata/. NetLogo's Network extension allows such data sets to be imported and used in simulation models. The project will explore the usability and flexibility of the NetLogo Network extension by using it to create a collection of examples of network models based on imported data sets. If time permits, the use of NetLogo will be compared with another network analysis tool, iGraph (http://igraph.org/redirect.html).

TopUp arrow

Module assessment report generator for Computing Science modules

Supervisor: Dr Savi Maharaj

Student: Calum Field

Outline:

To prepare the final results for each module, a number of documents and pieces of information must be combined: a list of registered students, coursework results, exam results, and information about students who have deferred exams or have withdrawn from the module. Currently this is done manually by module coordinators, who must combine several spreadsheets of different formats to produce a report to be presented at the examiners' meeting. The Chief Examiner must then archive these reports and extract result files to be uploaded to the Portal. All of this is tedious and time-consuming and requires diligent checking to avoid errors.

This project will create an integrated tool to automate this process. The tool will take as inputs module information, class lists, and assessment results, and will out the required reports in a uniform format (probably as an Excel spreadsheet). The tool will also automatically archive the reports and create the files for uploading to the portal. The details of the implementation framework to be used will be decided later. One possibility is a combination of Java, MySql, and the Apache POI for generation of Excel spreadsheets from Java. Another possibility is a web-based implementation with PhP, MySql, and PHPExcel.

TopUp arrow

Modelling A Complex System

Supervisor: Dr Savi Maharaj

Student: TBA

Outline:

This is a generic project that may be taken up by more than one student. The project will use tools and techniques for modelling complex systems, such as Agent Based Modelling and process algebras, to model and study a complex system. The specific system to be studied will be decided by the supervisors and students; however, the supervisors can suggest examples from biology, epidemiology, environmental economics, ecology, and other areas. The project will involve some programming using non-standard, domain-specific languages such as NetLogo and BioPEPA, as well as some data analysis using statistical tools such as Excel or R. Some background in mathematics (probability, statistics, ordinary differential equations) would be helpful but is not assumed.

TopUp arrow

Gamification for understanding and influencing food choices

Supervisor: Dr Savi Maharaj

Student: Anna Eglite

Outline:

The Green and Blue Space, based in the Atrium, is an "environmental hub", promoting behaviours such as recycling and sustainable eating. One of the services they provide is organic vegetable bags, using vegetables that are grown on an allotment on campus. This project will develop an app or game to encourage healthy eating and cooking skills among students. The game design will be up to you, but might involve "gamifying" recipes that use the vegetables in the veg bags, encouraging players to cook and eat the vegetables.

TopUp arrow

Games and simulations for teaching

Supervisor: Dr Savi Maharaj

Student: Silvia Parvanova Nacheva

Outline:

This project builds upon ongoing research in the use of computer games and interactive simulations for university teaching. Existing examples include an interactive simulation of predator-prey interaction and population dynamics, used in an Ecology course, and a fishery management game, used in an Aquaculture course to teach the principles of managing fish stock sustainably. The project will involve identifying a new application for games and simulations in teaching, and then developing and evaluating a game or simulation.

TopUp arrow

Extracting and Analysing a Social Collaboration Network

Supervisor: Dr Gabriela Ochoa

Student: TBA

Outline:

A social network is a set of people or groups of people with some pattern of contacts or interactions between them. A network is represented as a set of points (or vertices) denoting people, joined in pairs by lines (or edges) denoting acquaintance. One could, in principle, construct the social network for a company or firm, for a school or university, or for any other community up to and including the entire world.

This project will extract the data associated to a scientific collaboration network. Once the data is collected the goal is to analyse it and visualise it using modern complex networks libraries and tools.

The skills required are general programming in Python or Java, web programming for data collection, data analysis and visualisation.

TopUp arrow

Visualising Dynamic Networks

Supervisor: Dr Gabriela Ochoa

Student: TBA

Outline:

Networks have become a powerful modelling tool for studying complex systems in science and society. A network captures the connectivity pattern between the system's components. Important examples are the Internet and the WWW. Networks are represented as a set of points (or vertices) denoting components, joined in pairs by lines (or edges) denoting interaction. The network structure arises from the underlying system and can evolve with the system dynamics.

Data sets containing dynamic network information related to optimisation algorithms will be provided. The project will explore ways of analysing and visualising the dynamic networks. The goal is to provide animations and videos reflecting the network dynamic. A number of freeware libraries and tools for network analysis and visualisation are available, and this project will explore what are the most suitable for dynamic networks.

The skills required are general programming in Python or Java, data manipulation, analysis and visualisation.

TopUp arrow

3D Network Visualisation

Supervisor: Dr Gabriela Ochoa

Student: TBA

Outline:

Networks have become a powerful modelling tool for studying complex systems in science and society. A network captures the connectivity pattern between the system's components. Important examples are the Internet and the WWW. Networks are represented as a set of points (or vertices) denoting components, joined in pairs by lines (or edges) denoting interaction.

Data sets containing network information related to optimisation algorithms will be provided. One of the nodes features (their fitness) can be represented as the depth coordinate in a 3D plot. This project will explore ways of visualising the networks in 3D. The goal is to provide 3D images and videos reflecting the network structure. A number of freeware libraries and tools for network analysis and visualisation are available, and this project will explore what are the most suitable for 3D visualisation. The project may require the implementation or modification of network layout algorithms, which are more suitable than those available in the freeware libraries, for the task at hand.

The skills required are general programming in Python or Java, data manipulation, analysis and visualisation.

TopUp arrow

Egocentric Networks: Analysis and Visualisation

Supervisor: Dr Gabriela Ochoa

Student: TBA

Outline:

Networks have become a powerful modelling tool for studying complex systems in science and society. A network captures the connectivity pattern between the system's components. Networks are represented as a set of points (or vertices) denoting components, joined in pairs by lines (or edges) denoting interaction. Egocentric analysis examines the local structure of networks around a single node (the ego). The purpose is to understand how network egocentric features relate to processes taking place on them.

Data sets containing social networks will be gathered form existing repositories. Additional data sets with network information related to optimisation algorithms will be provided. The goal is to analyse the networks using egocentric analysis. A number of freeware libraries and tools for network analysis and visualisation are available, and this project will explore which are the most suitable for egocentric analysis.

The skills required are general programming in Python or Java, data manipulation, analysis and visualisation

TopUp arrow

Specification and Analysis of Biological Systems using Process Algebra

Supervisor: Prof Carron Shankland

Student: TBA

Outline:

Systems biology is a current hot topic for computer science. Biologists are producing lots of data about biological systems, but lack the tools to structure this data. Of particular importance is gaining an understanding of how different low level interactions contribute to the overall operation of a system.

A process algebra is a formal modelling technique that allows a system to be specified mathematically in terms of actions and interactions. Although designed for specifying distributed computer systems, these techniques have also been successfully applied to specification of biological systems, for example ant colonies, disease spread, and genetic mutation. Application of process algebras to disease systems is an area of current research in the Division. The preferred process algebra to use is PEPA (Performance Evaluation Process Algebra) or Bio-PEPA (PEPA adapted for biology).

The aim of the project would be to use process algebra to specify and analyse a biological system. The development procedure for this project would involve description of a simple system using the process algebra, and then using tools to explore the specification. The simplest exploration is simulation: tracing through execution paths to determine whether the specification does what was expected. Further analysis can be carried out with the aid of tools to determine the long and short term dynamics of the system. The process is then repeated by modifying the specification (perhaps several times), usually to include more detail, or a different perspective on the problem.

This would be a good project for a student with mathematical leanings or with a biological background.

Several projects are possible within this basic framework.

  • Use process algebra to investigate low level interaction details of communication inside cancer cells and between cancer cells leading to metastasis (when cancer spreads). Analysis would look at how the cells respond to the interaction, and to try to determine mechanisms which most effectively signal a change in behaviour.
  • Use process algebra to describe the interactions between immune cells and invading cells, describing the relationship between them as if it were a predator-prey relationship. Analysis would look at how the cells respond to the interaction, and to try to determine conditions under which the prey dominates or the predator dominates.
  • Consider the dynamics of communicating animals and how collective decisions are made. For example, when a school of fish changes direction, how do they all know which way to go? The low-level interactions between individuals must be creating the overall behaviour, but how? See, for example, the work of Ian Couzin on collective dynamics.
  • You may have your own ideas about suitable systems to model. Please feel free to suggest something. It can be a computer system too (since this is what process algebras were originally designed for).
TopUp arrow

Use of genetic programming and evolutionary algorithms to create better models

Supervisor: Prof Carron Shankland

Student: TBA

Outline:

Computational and mathematical models are being increasingly used to describe biological systems, but modelling is a skilled task, requiring training and expertise. An alternative approach to this problem is to use computers to help us to build the model. Evolutionary algorithms can help in finding the right parameter values in a hand-built model to match experimental data. More excitingly, genetic programming techniques may be used to help build the models themselves.

This project involves using a tool already built here at Stirling to develop models, exploring the possibilities of using genetic programming techniques for model creation. The target system may be on mouse immunology, or in fish epidemiology.

TopUp arrow

From Bio-PEPA to ODE

Supervisor: Prof Carron Shankland

Student: TBA

Outline:

Bio-PEPA is a process algebra: a formal modelling technique that allows a system to be specified mathematically in terms of actions and interactions. There is a convenient tool (an Eclipse plugin) which can analyse Bio-PEPA models in a variety of ways. One technique not yet implemented is to translate the Bio-PEPA code into the equivalent Ordinary Differential Equations. This is useful because it gives access to other forms of analysis.

This project involves extending the Bio-PEPA plugin to add the functionality of ODE production. The underlying algorithm is already established.

TopUp arrow

Working with University Information Services

Supervisor: Prof Carron Shankland

Student: TBA

Outline:

University Information Services develop a number of systems to support the work of the university, and are interested in working with project students to achieve some of their goals. Precise project details have still to be worked out, but possible systems include: development of an attendance monitoring system, automated grouping of users to facilitate customised email lists, development of the mStir mobile platform functionality, and researching the use of new technologies to develop versions of existing systems.

Key elements of these projects will be: working with Information Services as clients, and developing systems to operate within a complex environment of existing legacy systems.

TopUp arrow

A Talking Piano

Supervisor: Prof Leslie Smith

Student: TBA

Outline:

Pianos are used normally for making music. Normally someone simply sits down and plays them. But there are other possibilities as well. One of these is to take incoming sound (speech for example), split it up unto many bandpassed channels, and use the energy in each channel (or perhaps the presence of a sudden increase of energy in each channel) to decide whether to play a note, and when to release a note. Using a MIDI interface, one can play (more or less!) as many notes as one would like at a time. The Divison has an electric piano here, and has experience in sound processing. The aim is to develop a system that can take incoming speech and 'play' it on the piano. Initially this would be off-line because the processing takes time, but later it should be made to work in real time.

TopUp arrow

A CPU emulation for teaching purposes

Supervisor: Prof Leslie Smith

Student: TBA

Outline:

The Department has a very simple Java emulation of a CPU, VM4V4 (Virtual Machine for (CSCU9)V4). But it's very basic, and omits any thing to do with calling functions or methods, allocating space on the stack or heap, traps, interrupts, etc. To make the machine more useful for teaching (and not necessarily just in CSCU9V4) it needs to be much more sophisticated. The project need not start from scratch (you can look at the code for the current machine, and try it out, by downloading http://www.cs.stir.ac.uk/~lss/31V4/V4-VirtualMachine.zip, and you can run this by executing the VMGui.class). The project could include an assembler and a linker if time permitted.

TopUp arrow

Simple Cells

Supervisor: Prof Leslie Smith

Student: TBA

Outline:

Cells are the simplest independent component of living matter (viruses and prions are not independent!). Abstractly, a cell has an inside, separated from what is not in the cell by a boundary. In a real cell, inside the cell are chromosomes, ribosomes, and other cellular apparatus, and the cell body is a bi-lipid membrane, but here we will deal with a much simpler abstraction. We think of a cell as having some sort of behaviour. That behaviour depends on:

  • how what is outside the cell affects what is inside the cell
  • how what is inside the cell reacts to what it receives from outside

Actual externally visible behaviour (i.e. behaviour that doesn't just consist of changes inside the cell) requires that what is inside the cell alters something visible – for example, the cell may move, or may change something in its immediate environment. Again, for a real cell, protein channels in the membrane selectively allow certain ions or small molecules into the cell, and the inside of the cell may cause the cell to move, using flagellae attached to the cell body.

Even simple rules governing what abstract cells can do can result in complex behaviour: Conway's Game of Life is a good example of this. The project will consist of creating a reasonably general cell simulation, and then examining the effects of certain simple rule sets governing the effects of external conditions on the behaviour of cells. The project may use SBML for cell definition, though this is up to the student working on the project. The project may also use P-systems, but we may want to use the actual geometry of the cell (as is indeed used in the Game of Life).

TopUp arrow

Notating music from a single note instrument

Supervisor: Prof Leslie Smith

Student: TBA

Outline:

Single note musical instruments (e.g. flutes, saxophones, trumpets etc.) play one note at a time, so that the music played on them is a single melodic line. To notate it, one needs to discover when notes start, and the pitch of each note. Actually notating the music implies also discovering the beat (tempo) of the music, and then putting the appropriate notes and rests on a stave. There are a number of approaches that might be taken, for example taking a Fourier transform every (say) 25ms. An alternative that is proposed here is to use a window operator on the sound, and then take an autocorrelation with delay of that windowed sound. This will give a 2-dimensional representation of the sound that (I believe!) can be analysed to provide note pitch and onset times, which can then be used to notate the sound. Given the amount of processing required, it might be best to program this in a C-like language, rather than Java.

TopUp arrow

Update the Care Measure Website

Supervisor: Kevin Swingler

Student: David Clark

Outline:

The CARE Measure website, www.caremeasure.org allows health practitioners to enter data from their patient feedback forms and then compares them to their peers. It is now a bit old and slow and needs to be updated. It is written in PHP and uses a MySQL database. The new version should have a modern design, better data visualisation and an admin section for changing user data. Suitable if you want to get to grips with a professional level website that will go into production when you finish.

TopUp arrow

Product Review Website (two projects)

Supervisor: Kevin Swingler

Student: Meighan Barr & Andrew Blake

Outline:

Online product reviews almost all have the same format: some written text and a rating. That doesn't make it easy to compare competing products or understand the overall attitude people have. There are two different projects available on this subject. The first involves text mining and its goal is to automatically summarise large numbers of reviews from their text to extract meaningful summary information. The second involves the use of a NoSQL database to store semi-structured reviews in a format that allows automated analysis without restricting what the reviewers can say.

TopUp arrow

Computer Learning and Creativity

Supervisor: Kevin Swingler

Student: TBA

Outline:

Computers are generally not considered to be creative, but they can learn to be. By allowing a computer program to create many solutions to a given problem and then providing feedback to the program about which are better, the program can learn to create ever improving solutions. This project will use neural networks to allow the computer to learn and aims to develop better ways of allowing the neural networks to create new solutions from what they have learned.

TopUp arrow

Visual Search

Supervisor: Kevin Swingler

Student: Jordan Dolan

Outline:

Searching for things online is tedious. Clothes shops have thousands of products, and there are thousands of shops. Google searches produce millions of hits and finding what you are looking for is not always easy. This project aims to design a method to help people search on line by responding to images. This might be something like Tinder, using swipes left and right to guide the search, or the student may design other approaches.

TopUp arrow

Multiple Constraint Satisfaction

Supervisor: Kevin Swingler

Student: TBA

Outline:

Imagine a set of constraints among a set of binary variables where each constraint defines whether the product across the variables should be positive or negative. The constraints also have weights – some are more important to satisfy than others. This project investigates algorithms for finding values that satisfy the largest weighted set of constraints. It is interesting because there is no binary problem that cannot be represented as such a constraint set, so solutions to this one problem are, in a sense, solutions to all such problems. There is a little maths involved, but it is mostly algorithmic problem solving.

TopUp arrow

Collaboration Logo Visualization of Rostering and Scheduling Relationships

Supervisor: Dr Nadarajen Veerapen

Second supervisor/marker: Dr Gabriela Ochoa

Student: Elsa Erenmalm & Kyle Kirkpatrick Possibility for up to three students

Outline:

This project is for a student who is interested in working on a real world problem of visualization of rostering and schedules. This project is in partnership with BT (British Telecom) and the potential student may be required to sign a non disclosure agreement. The work produced by the student may also be used in ongoing research conducted by Mr Ken Reid, and within BT.

Visualization is the transformation, selection or representation of data from simulations or experiments to allow the exploration, analysis and understanding of the data. Typically visualization allows analysts to find underlying patterns which can aid in the furthering of research.

This project will make use of scheduling data provided by BT, in order to create graphs, plots and interactive diagrams which show interesting relationships between data sets. The data provided is originally exported by an engine which creates thousands of potential rosters for employee schedules. Each schedule will have it's own strengths and weaknesses, and the relationships between what makes a schedule weak or strong can be plotted and explored.

An example of a diagram could be one which compares the following schedules:

  • Schedule with demand being met to a high degree.
  • Schedule with employees receiving long periods of rest days
  • Schedule with employees being allocated shifts based on their first skill preference versus their nth skill preference.

This is a project with business ties. There is a strong research element, which may include authorship on a research paper or two if the project produces acceptable visualizations. So it could be lucrative to someone with their eyes on a PhD, or going into business.

TopUp arrow


Updated 6/04/18 22:41
Module coordinator    Email - Room 4B122 - Tel 01786 467444
Mail Computing Science and Mathematics, Faculty of Natural Sciences,
University of Stirling, Stirling, Scotland, FK9 4LA
Scottish Charity No: SC011159