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

Home

Class of 2019-20

Available projects 2018-19

The list of projects here gives ideas from staff. These projects are available in 2018/2019. Due to research leave, some staff may be unavailable in Autumn 2018 or Spring 2019 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 Adeel | Dr D Bhowmik | Dr A Bracciali | Dr S Brownlee | Prof BP Graham | Chris Grigson | Dr SB Jones | Dr M Kolberg | Dr J Li | Dr S Maharaj | Dr G Ochoa | Prof CE Shankland | Mr KM Swingler |


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

Supervisor: Dr Ashan Adeel (ahsan.adeel@stir.ac.uk)

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

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

Student: Avinaash S Tinesh

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 Logo Smart mirror using Raspberry Pi

Supervisor: Dr Ashan Adeel (ahsan.adeel@stir.ac.uk)

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

Student: James Terence Simpson

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

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

Supervisor: Dr Deepayan Bhowmik

Student: Shleena Nazeer

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 will 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.

TopUp arrow

Visual attention based watermarking for copyright management in streaming video

Supervisor: Dr Deepayan Bhowmik

Student: Jozef Cibicek

Outline:

The film and TV entertainment industry loses billions of dollars each year due to copyright theft in which films and TV shows are copied and uploaded to file sharing sites where they can be watched for free by millions of consumers. More and more consumers are choosing to watch streaming video from services such as Amazon and Google which can be pirated relatively easily. The purpose of this project is to develop a new way to deter copyright infringement of video. This will protect the business and livelihoods of thousands of companies and individuals in the entertainment industry.

In this project the student will develop visual attention based watermarking algorithm for streaming video content. This also includes algorithmic optimisations for real time execution. Further reading: http://ieeexplore.ieee.org/document/7740049/

TopUp arrow

Fake/Doctored image identification using machine learning and physical properties

Supervisor: Dr Deepayan Bhowmik

Student: Cameron Gray

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.

TopUp arrow

Fake news detection using machine learning and natural language processing

Supervisor: Dr Deepayan Bhowmik

Student: Alexnder Carmichael

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.

TopUp arrow

Image auto-captioning using Deep Learning

Supervisor: Dr Deepayan Bhowmik

Student: Lewis Dick & Albert Jozsa-Kiraly

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

TopUp arrow

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

Supervisor: Dr Deepayan Bhowmik

Student: Dimitrios Faitas

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.

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

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

Cryptocurrency: Bitcoins and friends, new scenarios of decentralised economies

Supervisor: Dr Andrea Bracciali

Student: TBA

Outline:

Bitcoin and other cryptocurrencies have introduced a new economy/market/social/organisational model, still under development and to be understood, but with great potential. Informally speaking, these frameworks allow for the exchange of information - typically monetary transactions but also other data - between peers without any assumption of trust: I can pay anyone without a bank guaranteeing for the exchange, which is actually granted by the underlying technology - the blockchain.

This project(s) can be carried out at different levels and in accordance with the interest and expertise of the student. It is possible to analyse distinguishing features of a cryptocurrency, the distribution and graphs of payments, their security aspects, or the impact on specific markets. Details can be discussed with the lecturer while scoping the project.

No previous cryptocurrency expertise is required. The project is suitable for a curious student keen on learning new things and experimenting with developing technologies (may sometimes require an extra effort).

TopUp arrow

Blockchain technologies and smart contracts: distributed consensus and decentralised computing

Supervisor: Dr Andrea Bracciali

Student: TBA

Outline:

Blockchain technologies provide the possibility of managing data and performing computation in a very - ideally - democratic way: by means of a network of peers without dominant positions. Introduced by the Bitcoin framework about 10 years ago, Blockchain technologies are currently in an hype phase, attracting a lot of interest and capitals - in the order of billion USD - promising to revolutionise socio-economical systems. This is a frantic and chaotic defining phase, akin to the inception of the WWW (followed by the crisis of the dot coms).

This project(s) aims at the exploration of such a novel programmable world of cryptocurrencies and smart contracts, i.e. executable agreements in the form of blockchain programs that are meant to facilitate interactions between individuals, companies and the third sector. This relies on a novel model of computation, still to be fully understood and defined. Project(s) can be carried out at different levels and in accordance with the interest and expertise of the student. Details can be discussed with the lecturer while scoping the project.

No previous cryptocurrency expertise is required. The project is suitable for a curious student keen on learning new things and experimenting with developing technologies (may sometimes require an extra effort).

TopUp arrow

Identification of suitable territories for simulation products

Supervisor: Dr Andrea Bracciali

Student: TBA

Outline:

Rivet Games are focused on making high quality simulations of trains so enthusiasts can experience the challenges of train driving on their PC or gaming console. These two projects are designed to see if cutting-edge big-data techniques can be used to improve the choice of content made by Rivet and better analyse high volumes of scan data.

This project aims to improve how Rivet Games choose the target areas and trains to model for the consumer simulation products. There are a number of countries which have a traditional association with simulation products, for example, the USA and Germany, and there is already a range of material intended to satisfy this demand. This project will try to identify other areas of the world where there is high interest but few available products. Addressing these markets could help Rivet to significantly expand the train simulator market.

There are many possible data sources that can help identify where other simulation products are popular which can then be compared with the relative interest in train simulation - SteamSpy (www.steamspy.com) is an obvious data source for information on PC players. This data can be correlated with data about the availability of routes to model (from national rail authorities) to help identify latent demand. Other data sources, such as YouTube views of relevant material (say cab ride videos), sales of model trains, number of podcasts/Twitch streams, railway holiday offers or train-related TV series could also be used to confirm the regional interest in trains.

TopUp arrow

Simplification of laser scan data

Supervisor: Dr Andrea Bracciali

Student: TBA

Outline:

Rivet Games are focused on making high quality simulations of trains so enthusiasts can experience the challenges of train driving on their PC or gaming console. These two projects are designed to see if cutting-edge big-data techniques can be used to improve the choice of content made by Rivet and better analyse high volumes of scan data.

Laser scanning offers the potential to significantly increase the productivity of a key element of Rivet's development pipeline which is to create highly accurate of the inside and outside of trains and relevant buildings. Laser or other scanning could provide an improvement on the current system of using technical drawings or reference photography, but unfortunately, the amount of data captured by a laser scan is far too much to be usable in a simulation without significant post-processing. This project aims to review to options for reducing the data created by a laser scan to a volume suitable for use on a reasonably powerful consumer PC.

There are a number of (open source and proprietary) systems for reducing laser scan data into a practical form usable for consumer simulation. This project will explore the benefits and drawbacks of a range of these approaches. Four types of content will be explored:

  • Vehicle internal (driving position)
  • Vehicle external
  • Building external
  • Building internal

In each case the goal will be to create a range of models with a defined number of polygons (500, 1,000, 2,000, 4,000, 10,000, 20,000, 50,000) in a standard form for 3D modelling packages (.FBX or .max would be ideal) and compare these with models created using traditional modelling techniques.

Access to representative locomotives or other vehicles can be arranged by Rivet and suitable buildings for scanning can be suggested.

TopUp arrow

Evolutionary Algorithms for Creating Music

Supervisor: Dr Sandy Brownlee

Student: Connor Stephen & Kyle Hayden

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

Programming Java for longer battery life

Supervisor: Dr Sandy Brownlee

Student: Anna Rasburn

Outline:

Everyone gets frustrated when their phone battery runs out of charge. One of our research projects has developed a tool to estimate the power taken by a CPU when running Java code. There are a variety of approaches to tuning software, from changing basic parameters to changing source code. This project aims to take an existing piece of software and attempt to tune it for maximal battery life. The skills required are general programming in Java and data/statistical analysis.

TopUp arrow

Modelling Neural Systems

Supervisor: Prof Bruce Graham

Student: TBA

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: John Collins

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: Max Aitkenhead

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

Learning in context

Supervisor: Prof Bruce Graham

Student: Ondrej Tomek & Eoin Patrick

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: Dr David Cairns

Possible Sports co-supervisor: Niels Vollaard

Technical consultant: Chris Grigson

Student: John Ramsay

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: Dr Mario Kolberg

Sports co-supervisor: Oliver Witard

Technical consultant: Chris Grigson

Student: John Jessiman

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: Dr Andrea Bracciali

Sports co-supervisor: Lewis Macgregor

Technical consultant: Chris Grigson

Student: Fergus Macpherson

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: James Coburn

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.

Note: Prof Smith (below) has a similar sounding project. However, this project is aimed at a very clear, highly useable presentation of a simple computer, whereas Prof Smith's project addresses a much more sophisticated CPU.

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: Ryan Trainer

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 Paterson

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: Dylan Gilchrist

Outline:

Nganga Njiraini

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

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: Krzysztof Mazur

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: Calum MacEachen & Natalie Gardner

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: Vittoria Placidi

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

Machine Learning & Supply Chain Management

Supervisor: Dr Jingpeng Li

Student: Adam Addison

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: Tobias Jung

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: Krasimir Krasimirov

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

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

Use of genetic programming and evolutionary algorithms to create better models

Supervisor: Prof Carron Shankland

Student: Ryan Mitchell

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:

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. 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

Matching with Mentors

Supervisor: Prof Carron Shankland

Student: Kevin O'Hare & Aimee Ruth Quinn

Outline:

Mentoring is important to help everyone develop to their full potential, but how do you find a mentor? The basic principle is that people with more expertise in some area need to be matched with people with less expertise in that area. For example, in the academic setting, we might match someone who is a really great innovative teacher to someone who wants to develop their teaching, or we might match someone who is a frequent media commentator to support someone who is about to do their first interview, and so on.

How might you store the data that would allow people to be matched easily? And how would users interact with the tool to find a suitable mentor?

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 have teaching experience and wish to consider if teaching of programming is biased towards one gender over the other. 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

Using 3D headphones to locate items from images using computer vision

Supervisor: Kevin Swingler

Student: TBA

Outline:

3D headphones are able to play a sound that appears to originate at any location in space. Recent improvements in computer vision technology allow us to locate objects in images with high accuracy. This project will combine these two technologies by using computer vision to locate objects in a scene and then play a sound through the headphones that appears to originate at the location identified for the object. We will supply the headphones! You will be using existing computer vision libraries - probably deep convolutional neural networks using TensorFlow or YOLO.

TopUp arrow


Updated 29/04/19 20:18
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