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 2019-20
CSCU9Z7 Honours Projects Autumn/Spring 2019-20
menu Honours Projects Autumn/Spring 2017-18

Home

Class of 2019-20

Available projects 2019-20

The list of projects here gives ideas from staff. These projects are available in 2019/2020. Due to research leave, some staff may be unavailable in Autumn 2019 or Spring 2020 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 Gemma Gardiner (4B112) 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 S Haraldsson | Dr P Maier | Dr P McMenemy | Dr K Nogueira | Dr D Bhowmik | Dr A Bracciali | Dr S Brownlee | Dr DE Cairns | Prof BP Graham | Chris Grigson | Dr SB Jones | Dr M Kolberg | Dr J Li | Prof G Ochoa | Prof CE Shankland | Dr KM Swingler |


Title

Supervisor: Dr Saemundur Haraldsson

Student: tbc

Outline:

project

TopUp arrow

Predicting SAT Runtime

Supervisor: Dr P Maier

Student: tbc

Outline:

Checking the satisfiability of Boolean formulae (SAT) is a well-known, and practically relevant, NP-complete problem. Algorithms for solving SAT are known since the 1960s. In fact, one of the earliest such algorithms, the /Davis-Putnam procedure/ for checking satisfiability of a Boolean formula in conjunctive normal form is still the basis of most modern-day SAT solvers. Davis-Putnam is essentially a search algorithm, exploring a potentially exponential binary search tree by backtracking.

While SAT solvers can solve many problems efficiently, there are hard instances that take a long time to solve. It is difficult to predict a priori whether a given instance will be hard, and if so, how long solving it might take.

This project aims to apply machine learning to statistical data that is generated dynamically by a state-of-the-art SAT solver. More precisely, the aim of the project is to examine whether a machine learning model is able to predict how long a state-of-the-art SAT solver will take to solve hard problem instances, based on features extracted from runs of the SAT solver.

Skills in data collection and analysis are required. Prior expertise in SAT solving is NOT expected or required.

TopUp arrow

Collecting YewPar Runtime Statistics

Supervisor: Dr P Maier

Student: tbc

Outline:

The YewPar library (https://github.com/BlairArchibald/YewPar) is a new C++ framework for parallel combinatorial search by backtracking. YewPar is based on HPX (https://github.com/STEllAR-GROUP/hpx), a C++ framework for task parallel programming on large compute clusters.

For evaluating the performance of parallel searches, YewPar needs to be extended to collect search-specific statistics, such as how many search tree nodes are evaluated per task, or how often does each task backtrack.

The aim of this project is get familiar with a modern C++ framework for parallel and distributed programming, and to extend the YewPar library to collect search-specific runtime statistics, while adding as little runtime overhead as possible.

The project requires working knowledge of C++. Basic familiarity with parallel or distributed programming concepts would be advantageous.

TopUp arrow

Heuristic Implementation to Generate the Maximum Number of Codewords in an (n,d) Linear Block Code.

Supervisor: Dr Paul McMenemy

Student: tbc

Outline:

Linear block codes have applications in binary communication channels, where intrinisic error detection and correction capabilities are essential to ensure accuracy of communication on noisy media of communication. Linear block codes transmit pre-determined codewords as binary strings of length n (e.g., concatenations of n 0's and/or 1's): the greater the number of pre-determined codewords, then the more sophisticated the language of transmission. Therefore using longer binary strings is required to transmit increasingly sophisticated information quickly but this requires increased bandwidths, and so maximising the number of codewords that can be used is desirable. This is offset by the need to use increasing Hamming Distances between codewords to provide increasing levels of error detection and correction.

In this project we will investigate how many codewords can be determined for an n-length linear block code, whilst providing varying levels of error detection and correction. This will be achieved by designing algorithms which will generate codewords for specific (n,d) linear block codes, as well as trying to determine why some algorithmic approaches to this problem generate more codewords than others.

TopUp arrow

Graph Convolution Network for Image Segmentation

Supervisor: Dr Keiller Nogueira

Student: tbc

Outline:

The project aims to analyze the hypothesis that Graph Convolutional Networks (GCNs) (https://openreview.net/pdf?id=SJU4ayYgl, https://tkipf.github.io/graph-convolutional-networks/) can be used to perform image segmentation. GCN is a novel deep learning-based method capable of performing classification of structured data from different domains and applications, including social networks, knowledge graphs, protein-interaction networks, the World Wide Web, etc. In these networks, the input are graphs (with features associated with the nodes) that are processed taken into consideration the neighborhoods. It would be really interesting to analyze the performance of this technique for image segmentation as well as investigate how well it handles the pixels' neighborhoods.

For this project, the student would research using deep learning frameworks (such as PyTorch and TensorFlow). Hence, it would be very important to have some experience with Python.

TopUp arrow

Face Recognition App

Supervisor: Dr Keiller Nogueira

Student: tbc

Outline:

This project involves the creation of a face recognition app. The main idea is to create an app that, given an input face image, retrieves similar faces from a previously established database. Such app could be used by the police to identify fugitives and missing people.

TopUp arrow

Contextual Aware Detections

Supervisor: Dr Deepayan Bhowmik

Student: Daniel Rooney

Outline:

The project will be jointly supervised by Thales UK, Glasgow (https://www.thalesgroup.com/en) and Dr Bhowmik. This will be an exciting opportunity for you to get exposed to industry.

The Digital Crew demonstrator currently uses a CNN to detect people within the field of view of the camera and issue alerts. The initial simplifying assumption was that all people were threats/of interest - this is clearly not true. Sometimes people walk along a road/footpath and are benign, sometimes people "pop-up" from behind a wall/in a window/on a rooftop and are of more interest. It would be good to try to identify a method by which these "pop-up" targets can be identified. This may be through implicit (or explicit) scene segmentation into regions of higher interest, or by providing a more contextual output from the classifier ("man near a wall", "person at a window", "person walking on a path") which can be interpreted at the next level up (which would be out of the scope of this project).

Prerequisite: Good programming skill in C++ / Python

TopUp arrow

Edge Processing/Smart Sensing/Region sub-sampling/Network optimisation

Supervisor: Dr Deepayan Bhowmik

Student: TBA

Outline:

The project will be jointly supervised by Thales UK, Glasgow (https://www.thalesgroup.com/en) and Dr Bhowmik. This will be an exciting opportunity for you to get exposed to industry.

As increasing numbers of uncompressed high resolution cameras are expected to be used as an input to a CNN type classification engine, it becomes unfeasible for a single central processing to handle all of the data. Can a lightweight (FPGA-based?) CNN be used to pre-select image patches of potential interest in order to sub-sample the input space into patches of potential interest for further processing by a larger CNN with more computation resources? This processing may take place at the sensor, or at nodes filtering some sub-set of the total number of cameras.

Prerequisite: Good programming skill in C++ / Python

TopUp arrow

Jetson TX-2 Optimisation

Supervisor: Dr Deepayan Bhowmik

Student: TBA

Outline:

The project will be jointly supervised by Thales UK, Glasgow (https://www.thalesgroup.com/en) and Dr Bhowmik. This will be an exciting opportunity for you to get exposed to industry.

This project will involve optimisation on Jetson TX-2 GPU devices. This project intend to optimise image processing algorithms to potentially use GPU boards to process imagery from a small number of cameras in a framework.

Prerequisite: Good programming skill in C++ / Python

TopUp arrow

Modeling and Predicting Cyber Hacking Breaches using Machine Learning techniques

Supervisor: Dr Deepayan Bhowmik

Student: Holly Evans

Outline:

In this project the student will focus on machine learning techniques for modeling and predicting cyber hacking breaches. This involves analyzing cyber incident data sets to understand threat situation particularly for malware based cyber hacking activities. One of the approaches will be by capturing the malicious behavior (i.e., high level semantics) of malware. We intend to develop a number of machine learning approaches to train and test classifier using these features. Further reading:
https://ieeexplore.ieee.org/document/8360172
https://ieeexplore.ieee.org/document/7299317

Prerequisite: Good programming skill in C++ / Python

TopUp arrow

The multimedia blockchain: A distributed and tamper-proof media transaction framework

Supervisor: Dr Deepayan Bhowmik

Student: TBA

Outline:

In this project the student will build a framework for trusted media transaction based on emerging Blockchain technology. The distributed and tamperproof framework will aid the JPEG Privacy and Security standard (https://jpeg.org/items/20180213_press.html). The blockchain network records any media transaction with necessary information related to intellectual property rights, access control rules and content signature. You'll use content signature, generated by compressed sensed samples or low-resolution, low bit-rate compression to verify the image integrity and authenticity. Further reading on this is available from: https://goo.gl/fhN4nG.

Prerequisite: Good programming skill in C++ / Python

TopUp arrow

Fake/Doctored image identification using machine learning and physical properties

Supervisor: Dr Deepayan Bhowmik

Student: TBA

Outline:

Image/video forensics, part of advanced digital forensics, is an important component of the modern forensic investigation. Distinct from other forensic evidences, image and video recording provides a real-time eyewitness account that investigators, prosecutors and the jury can listen or watch exactly what transpired. However due to availability of sophisticated image editing software such as Adobe Photoshop, it is now very easy to manipulate/doctor images for various purposes including tampering evidences or spreading rumors.

In this project the student will develop an image processing algorithm that can detect fake/doctored images without having access to the original image. You will use a combination of image processing, machine learning and physical properties of the content in the image. Further reading for contextual understanding: http://www.bbc.com/future/story/20170629-the-hidden-signs-that-can-reveal-if-a-photo-is-fake.

Prerequisite: Good programming skill in C++ / Python / MATLAB.

TopUp arrow

Fake news detection using machine learning and natural language processing

Supervisor: Dr Deepayan Bhowmik

Student: TBA

Outline:

Due to the growing presence of social media or social networking sites people are digitally connected more than ever. This also empowers citizens to express their views in multitude of topics ranging from Government policies, events in everyday life to just sharing their emotions. However the growing influence experience by the propaganda of fake news is now cause for concern for all walks of life. Election results are argued on some occasions to have been manipulated through the circulation of unfounded and some time doctored stories on social media.

In this project the student will develop a machine learning based algorithm that can classify fake news. This will also explore natural language processing in order to extract key features that attribute to fake news identification.

Prerequisite: Good programming skill in C++ / Python

TopUp arrow

Image auto-captioning using Deep Learning

Supervisor: Dr Deepayan Bhowmik

Student: TBA

Outline:

Image auto-captioning is an emerging area that has many applications. It is easy to capture and share images, extract the geo-location or even identify the objects. However it is a very challenging problem to train a computer to see an image, understand and describe its content. In this project the student will develop an algorithm that generates natural language descriptions of images and their regions. You'll explore about the inter-modal correspondences between language and visual data. You'll use advanced machine learning techniques such as deep learning in this work. Further reading: https://cs.stanford.edu/people/karpathy/deepimagesent/.

Prerequisite: Good programming skill in C++ / Python
Resource requirement: Computer (preferably with GPU), MATLAB.

TopUp arrow

Low power and accelerated computer vision system design on a heterogeneous FPGA+CPU platform

Supervisor: Dr Deepayan Bhowmik

Student: TBA

Outline:

Scene understanding and prompt reaction to an interesting event is a critical feature for any time critical computer vision systems for safe and reliable interaction with the environment. The deployment scenarios include a range of applications such as mobile robotics, autonomous cars, mobile and wearable devices or public space surveillance (airport / railway station). Modern vision systems which play a significant role in such interaction process require higher level scene understanding with ultra-fast processing capabilities operating at extremely low power. This is achievable through heterogeneous vision system design where FPGAs and CPUs are used for efficient implementation of image processing algorithms.

In this project the student will develop a vision system on a Xilinx Zynq (a heterogeneous FPGA+CPU platform https://www.xilinx.com/products/boards-and-kits/1-5ey5xx.html). The student will learn a new computing paradigm using Xilinx SDx development environments for embedded computing ( https://www.xilinx.com/products/design-tools/software-zone.html). Initial reading on the topic: https://goo.gl/oHWd4r.

Prerequisite: Good programming skill in C++, Python.
Resource requirement: Computer. Vision system kit is available.

TopUp arrow

The development and application of machine learning and data science to investigate animal health in marine ecosystems

Supervisor: Dr Deepayan Bhowmik

Student: TBA

Outline:

Monitoring and investigating animal health is a crucial component of marine eco-system analysis: historical analysis of health records can allow predictive modelling of disease outbreaks and development of prevention or mitigation measures. Much information has been collected over the years relating to marine ecosystems, for example pathology records of salmon farm diseases and marine mammal strandings. The aim of this project is to develop approaches for deducing the structure of data from unstructured or loosely structured documents to generate useful, context-specific knowledge.

Prerequisite: Good programming skill in C++ / Python

TopUp arrow

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

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

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: Louis Smith

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

Student: Isla Roberts & Jonathan Burgess

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. For someone learning to play an instrument, it might also be valuable to explore the trade-off between interesting or appealing music and music that is difficult or easy to play. This project will explore the possibilities of generating music using evolutionary algorithms and machine learning. The skills required are general programming in Java and some creativity.

TopUp arrow

Development of Java-specific mutation operators for search based software engineering

Supervisor: Dr Sandy Brownlee

Student: TBA

Outline:

Maintenance of software is one of the most time-consuming parts of the development cycle. Artificial intelligence methods, including search and optimisation methods like evolutionary algorithms (EAs), offer exciting potential to revolutionise software development, by automatically improving existing software. An open-source tool "Gin" uses such methods to search the source code of Java programs for possible changes. Currently the tool implements a few high-level operators, such as swap/delete/copy line, or swap "equals" for "less/more than". Ideally, the tool should make more use of known Java syntax and constructs. The goal is to automatically fix bugs, make the software run faster, more efficiently, or in some other way produce better results. You'll need some experience in Java and optimisation methods like EAs or other metaheuristics.

TopUp arrow

Towards Greener AI

Supervisor: Dr Sandy Brownlee

Student: Aya Hammad

Outline:

Machine learning is everywhere - and is having an impact on our planet as vast server centres consume ever-increasing amounts of energy. This project will explore the impact of different data sets on the energy consumption of various classifiers in the Java WEKA toolkit.

TopUp arrow

The Evolutionary Glazing Salesman

Supervisor: Dr Sandy Brownlee

Student: TBA

Outline:

This project will apply AI in the form of an evolutionary algorithm to designing the windows on a building. Aside from making the building more attractive to look at, this can have a hugh impact on the energy needed to run it - for heating, lighting and cooling - and on how much it costs to build. We will look at smart ways to solve the problem and generate interesting layouts.

TopUp arrow

Automatically speeding up Python by caching

Supervisor: Dr Sandy Brownlee

Student: TBA

Outline:

In Python, it is possible to speed up code by adding annotations. e.g. https://pypi.org/project/cachetools/ and https://docs.python.org/3/library/functools.html - it could be possible to automatically speed up existing programs by applying caching in this way and testing whether the program still works in the same way. This project will look at using search based methods such as evolutionary algorithms to explore possible caching annotations to find the ones that are worthwhile.

TopUp arrow

Modelling Neural Systems

Supervisor: Prof Bruce Graham

Student: Matthew Kennedy

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

Reinforcement learning for game play or animal behaviour

Supervisor: Prof Bruce Graham

Student: Luke Robertson & Connor Stewart

Outline: Reinforcement learning is an interesting artificial intelligence (AI) algorithm for learning good sequences of actions to achieve reward. For example, for an animal this might be the sequence of turns needed to find a food location. Reward only happens occasionally, and until reward is obtained, it is hard to know what to do. But after sufficient experience, a good path (sequence of actions) to reward can be learnt. This algorithm has been applied to models of animal foraging, but can be applied in any situation involving a system with a state and an agent who can take one of a number of actions at each time step, and who may occasionally receive a reward. Game play (computer games, card games etc) is another suitable scenario where the payoff (reward) may only happen infrequently eg at the very end of the game. A project will involve selecting a suitable application (game; simulation of animal behaviour; or anything else) and then trialling reinforcement learning algorithms on it. Coding can be done from scratch in any preferred language, or use may be made of appropriate neural network libraries (available for Python, Java etc).

TopUp arrow

Learning in context

Supervisor: Prof Bruce Graham

Student: TBA

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

Animations / Games to aid Teaching of Computing Concepts

Supervisor: Prof Bruce Graham

Student: Raina Durnan

The aim of this project is to develop suitable animations and visualisations of specific concepts in computer science. These could form part of a game that drives the concept learning. The resultant products should be useable either by an instructor in a course or by individual students for self-learning. Specific projects can be developed around aspects of the student’s choice e.g. was there a topic in any of your taught modules that was difficult to grasp and you can see how visualisation (graphics) and animation could have helped your understanding? Examples could be: data compression algorithms such as LZW (CSCU9N5); scheduling algorithms used by operating systems (CSCU9V4); collision detection in computer games (CSCU9N6) etc. Multiple students could undertake different topics. Technologies might include Java, Javascript, suitable game/animation engines.

TopUp arrow

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

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

Supervisor: Dr Mario Kolberg
2nd Supervisor: Chris Grigson

Student: Luca Fanottoli

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 , room 4B65 (or email below) about this project. A suitable supervisor in Computing Science should be approached too.

Supervisor: Dr David Cairns
2nd Supervisor: Chris Grigson

Possible Sports co-supervisor: Niels Vollaard

Student: Abdulraoof Abdullah M Almasoumi

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 , room 4B65 (or email below) about this project. A suitable supervisor in Computing Science should be approached too.

Supervisor: TBA
2nd Supervisor: Chris Grigson

Sports co-supervisor: Angus Hunter

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 , room 4B65(or email below) about this project. A suitable supervisor in Computing Science should be approached too.

Supervisor: Dr Mario Kolberg
2nd supervisor: Chris Grigson

Sports co-supervisor: Oliver Witard

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 , room 4B65 (or email below) about this project. A suitable supervisor in Computing Science should be approached too.

Supervisor: TBA
2nd supervisor: Chris Grigson

Sports co-supervisor: Angus Hunter/James Dugdale

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 , room 4B65 (or email below) about this project. A suitable supervisor in Computing Science should be approached too.

Supervisor: TBA
2nd supervisor: Chris Grigson

Sports co-supervisor: TBA

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 , room 4B65 (or email below) about this project. A suitable supervisor in Computing Science should be approached too.

Supervisor: Dr Andrea Bracciali
2nd supervisor: Chris Grigson

Sports co-supervisor: Lewis Macgregor

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

A Brookshear Machine Emulator for Teaching

Supervisor: Dr Simon Jones

Student: TBA

Outline:

This project is to produce a good Java implementation of the 'Brookshear machine'. See S J Maybank's lecture slides, based on the description in Brookshear's text book on Computing Science. See also chapter 2 and Appendix C of G J Brookshear's book. Copies of this are available from the Library.

Low-level implementation issues have been re-introduced into the second semester computing science module. The Brookshear Machine is being used to illustrate the concepts. Having a good, educational tool, produced 'in house', would be good. Currently, students have to use something only partially adequate.

A variety of existing implementations are available on the web and elsewhere. These are each incomplete or inappropriate in some way: some are written in the wrong programming language, and some have no accessible source code. There are lots of good ideas out there, but not all together in one neat package.

An important addition to what most existing implementations offer is the need for an assembler. The existing implementations allow the user to type hexadecimal into memory cells, and some can load files with programs already coded in hex. An assembler would translate an assembly language version of a program into a loadable hex file. ANTLR is suggested for this, which is a very interesting compiler generator tool.

TopUp arrow

The Scripted Debugging of Java Applications using JPDA

Supervisor: Dr Simon Jones

Student: TBA

Outline:

A simple, universal way to debug programs is to insert additional diagnostic statements into a program. This produces, usually, a textual log consisting of any useful messages about the status of execution that the programmer wishes. The disadvantages of this approach are that the program needs editing to add and remove the diagnostic statements (itself an error prone activity) and that the textual logs can become too bulky to be useful.

An alternative is to use an "interactive debugger". In this approach the original program is run without alteration, but it is under the low-level control of the debugger facility. The programmer can request that execution pauses at nominated "breakpoints" so that progress can be checked, values of variables inspected and so on. Although the original program does not require meticulous editing, using the interactive debugger on a large application is itself an intensive and meticulous process. Interactive debuggers for Java are included in Eclipse and BlueJ, and there is a stand-alone Java debugger called JSwat.

In this project a hybrid solution is proposed. The programmer devises a "debugging script" (which could be, say, an XML document) describing at which points in a Java program's execution the progress is to be monitored, and what should be reported at those points. There could be many sophisticated extensions of this idea. The program is then run under the control of a debugger facility that automatically sets breakpoints according to the script, fetches information and reports appropriately at the breakpoints, and so on. This could be purely automatic (producing a diagnostic log), or could itself be controlled interactively by the programmer.

The technology to be applied in this project is principally the section of the libraries call the Java Platform Debugger Architecture (see JPDA online). The JPDA allows a Java application (the debugger) running on one JVM to control and interrogate another Java application (the debuggee) running on another JVM.

TopUp arrow

A tool for supporting "Attendance and Engagement" monitoring procedures

Supervisor: Dr Simon Jones

Student: Fraser Stalker

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: Ashley Johnston

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

Developing a mobile application for students

Supervisor: Dr Mario Kolberg

Student: Steohanie Massie & Constantinos Constantinou

Outline:

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: Calum Arthur

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: Joseph Robson & Eldar Zhapykeev

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: Ryan Junor & Nikita Barinov

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

An Intelligent and Interactive System for Project Presentation Scheduling

Supervisor: Dr Jingpeng Li

Student: TBA

Outline:

Scheduling ubiquitously exists in everyday life affecting both the private and public sectors. It is the optimisation process of selecting among alternative plans and assigning limited resources over time among the set of activities in the plan, subject to resource limitation, precedence relationships, due dates, and other constraints. Scheduling is known to be NP-hard and has proven to be a difficult task for human planners and schedulers. Hence, this topic has attracted a significant number of researchers, in an effort to develop automatic scheduling algorithms to replace humans.

This proposal deals with a real problem at the University of Stirling. Students on the Computer Science course are required to undertake a supervised year-long project as part of their undergraduate final year. The problem is concerned with the scheduling of individual ten-minute presentations within a number of parallel sessions in a single day, which is constrained by the presence of session chairs, supervisors and second markers. Metaheuristic approaches will be investigated to find the (near-)optimal solutions of the problem, and a Java based software system for interactive scheduling will be developed.

TopUp arrow

Managing the Honours projects

Supervisor: Dr Jingpeng Li

Student: TBA

Outline:

You can probably imagine what this might cover: From staff adding project proposals, through records of supervisors and 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

Machine Learning & Supply Chain Management

Supervisor: Dr Jingpeng Li

Student: TBA

Outline:

The project aims to accurately predict future demand for products with machine learning in order to assist with supply chain management within an organisation. The users of the software will be able to enter the data about a product and get a demand forecast based on the past data. The software will also tackle the problem of managing suppliers within a supply chain efficiently, and so will contain features to help with things such as supplier change overs and supplier contracts. The software will also contain additional features (e.g. order tracking, sales data visualisation, accounts and just in time ordering) to deal with other aspects of supply chain management.

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

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

Games and interactive simulations for teaching and public engagement

Supervisor: Dr Savi Maharaj

Student: Nicholas Whitton & Darren Morgan

Outline:

This is a generic project that may be taken up by more than one student. it builds upon ongoing research in the use of computer games and interactive simulations for university teaching and public engagement. 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 or public engagement, 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

Scottish Tennis tournament and player ranking app

Supervisor: Prof Carron Shankland

Student: TBA

Outline:

Many young people all over Scotland train in tennis (and we have the National Tennis Centre on campus). The head of tennis is involved with Tennis Scotland as a creator/consultant on a project to link tournaments across Scotland with a leaderboard: this will build up player experience in live competition. The information is currently cumbersome to access through separate websites. The project will be to create an appealing mobile app which brings together tournament information with player information, allowing quick and easy access to the games coming up, and how each player can improve their ranking.

Note: the project should not simply replicate the information in a new database - it would be important to interface with the existing information sources. This project involves working with an external client and will test your skills in professional software engineering. The project may be suitable for more than one student as extensions can be envisaged (iOS vs Android, engaging graphical interfaces, notifications and gamification).

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 for labs, automated grouping of users to facilitate customised email lists, 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

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 is up to the student: some possible systems of interest are bacterial colonies, memory function, human disease spread.

TopUp arrow

Specification and Analysis of Biological Systems using Process Algebra

Supervisor: Prof Carron Shankland

Student: TBA

Outline:

Biologists are producing lots of data about biological systems, but lack the tools to structure this data: computer science can help, through modelling. Of particular importance is gaining an understanding of how different low level interactions contribute to the overall operation of a system. Computer Scientists can supply tools to help understand those systems, e.g. process algebra such as 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. This means building a model of the system then using simulation tools to explore how that model behaves in different scenarios. For example, build a disease system and then explore what happens if vaccination is added.

Several projects are possible within this basic framework:

  • Describe disease spread and the effects of different control programmes. For example, whooping cough in Scotland and infant vaccination, or tuberculosis in wild rodents and the potential to infect other mammals.
  • Describe cancer cell response to chemical treatments and combinations of treatments to determine optimal dosage.
  • Construct a model to test whether memory retrieval can be viewed as signal processing problem with either a fixed lower threshold or a more variable threshold.
  • Model immune cells and invading cells as a predator-prey relationship. Under what conditions does the prey or the predator dominate.
  • 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

Leave now for an airport/train pickup

Supervisor: Prof Carron Shankland

Student: TBA

Outline:

I'm always being picked up from the train station or the airport. Can you make an app to support my drivers to leave the house at just the right time to get to the rendezvous point, taking into account traffic and arrival delays of the flight or train? This is especially relevant when meeting an early morning flight: can you set an alarm to wake them up in time to get to the airport?

TopUp arrow

Under-represented groups in Computing Science

Supervisor: Prof Carron Shankland

Student: TBA

Outline:

Take a sample of the population of computer scientists and compare it with the wider population: are the numbers of men and women equal? What about those with disabilities? Are different sexualities represented? What about ethnic groups? Are older or younger people more prevalent? (Hint: computing is dominated by younger, white, straight men. Probably. We don't have all the data.)

You may either choose to investigate the problem further to provide data, or design an intervention to target those under-represented groups. For example, micro-aggressions might be a problem: develop a technological solution to the problem of measuring micro-aggressions, carry out experiments, and evaluate your data. Or you might analyse data (e.g. adverts for courses) to see if they display evidence of gendered language which is skewing the applicants to male or female. Are certain sorts of interfaces more suitable for men than women? How will you find out? Many possible projects are within this topic, but they must be based around a technological response to the problem (that is, you have to build something).

TopUp arrow

Computer Vision Food Classifier

Supervisor: Dr Kevin Swingler

Student: TBA

Outline:

This is part of a wider research project about the use of food diaries. The project will involve training a computer vision system to recognise and classify a variety of different types of food on a plate. This will be done using the Tensorflow and OpenCV libraries in Python and a choice of convolutional neural network models. The working system will be used as a prototype in a food diary app designed to help people eat more healthily.

TopUp arrow

3D Object Location with Computer Vision and Headphones

Supervisor: Dr Kevin Swingler

Student: TBA

Outline:

3D headphones are usually used for games and entertainment, but this project will use them to help partially sighted people locate objects in the world around them. There are several interesting challenges you could address: 3D object detection in images, soundscape design, or user interaction. I have a working prototype already, so you wouln't be starting from scratch. The system uses Python and libraries such as Tensorflow and OpenCV.

TopUp arrow

Dude, Where's My Mug? An Image Driven Dialogue

Supervisor: Dr Kevin Swingler

Student: Christos Nanos

Outline:

This project will use a mixture of state of the art computer vision and speech processing technology to build a system that allows users to ask simple questions about images. A simple example might be:

User: "Where is the horse in the picture?"

Computer: "To the left of the tree".

The project will use existing computer vision and speech processing libraries programmed in Python. The project will provide opportunities to work with systems like Amazon's Alexa and Google's speech engine. There is budget for buying interesting kit and using state of the art AI.

TopUp arrow

A Guiding Hand - Helping the Visually Impaired Locate Close Objects

Supervisor: Dr Kevin Swingler

Student: Asim Aryal

Outline:

Eating in a resaurant can be challenging when you are blind. Where are the knives and forks? Can you pick up your water without knocking over the wine glass? This project will use computer vision libraries in Python to track the location of a person's hand as they reach for different objects laid out on a table. It will investiage different methods for providing guidance to the person, such as instructions through headphones (left a bit, forward a bit) or with haptics (vibrating patterns on a wrist band). There is budget for buying interesting kit and using state of the art AI.

TopUp arrow

Indoor Mapping with Microsoft Kinect

Supervisor: Dr Kevin Swingler

Student: TBA

Outline:

The Microsoft Kinect camera has a depth sensor, and infrared projector and camera and a normal RGB camera. This project will use these to create 3D maps of rooms in a house with the goal of locating people or objects in 3D space. You will use Python to process the images generated by the Kinect using a mixture of Microsoft's own libraries and other computer vision libraries such as OpenCV. You may also like to try some machine learning with the images using Tensorflow. There is budget for buying interesting kit and using state of the art AI.

TopUp arrow

Computer Aided Design for Dementia

Supervisor: Dr Kevin Swingler

Student: TBA

Outline:

People with dementia can suffer from cognitive visual impairment, meaning that they find it hard to interpret what they see. Their lives can be improved by good use of interior design, for example making sure objects have high contrast compared to their backgrounds and avoiding carpets that have confusing patterns. This project will use computer vision to detect a number of design scenarios in a home and generate automatic advice to somebody who wants to improve the suitability of the home for a person with dementia. We already have a working prototype and are working towards using the system in a mobile app. The project is in collaboration with the Dementia Centre at Stirling. The system uses Python and libraries such as Tensorflow and OpenCV.

TopUp arrow


Updated 9/09/19 17:08
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