Available projects 2017-18
The list of projects here gives ideas from staff. These projects are
available in 2017/2018. Due to research leave, some staff may be
unavailable in Autumn 2017 or Spring 2018 and so will be only partly
available for supervision and may share projects with another supervisor.
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
denotes a collaborative project with an external organisation
(mainly companies). These projects are ideal opportunities for a student to
gain industrially relevant experience, and perhaps even find a future
employer. If there is competition for collaborative projects, some form of
interview will be used to make the selection.
Index of supervisors:
Dr A Bracciali |
Dr S Brownlee |
Dr DE Cairns |
Dr MM Fayed |
Prof BP Graham |
Chris Grigson |
Prof A Hussain |
Dr SB Jones |
Dr M Kolberg |
Dr J Li |
Prof EH Magill |
Dr S Maharaj |
Dr G Ochoa |
Prof CE Shankland |
Prof LS Smith |
Mr KM Swingler |
Dr N Veerapen
Quantitative modelling
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.
Drone Programming
Student: Victor Alegiani Sagnotti
Outline:
This project is for a student who wishes to investigate and play with new and
developing technology. We have a camera-enabled programmable
Dji drone . The drone comes with a
programming environment and some available API. This is a highly explorative
and expectedly rewarding and fun project, with the potential to develop some
expertise in a hot technology. Who wants to be the first to program the drone?
This could possibly be an initial step of a larger project to be developed in a
few years by several students. The application can be agreed, from simple case studies
to programming the drone for a specific task. Learning the basics of flying the drone
and legal requirements could be needed (but can reasonably be avoided, if preferred).
This project is also suitable to be developed by two/three collaborating students
developing independent parts. Good programming skills and understanding of computation
are (highly) desirable.
AppSisted Parking
Student: Peter Barnes & Grant Robertson
Outline:
We want to design and develop a mobile application that can assist finding a
parking. Initially, the test case will probably be the crowded parking lots at
the University, but the project could have a more general scope (which could
also include collaborations with companies).
Beyond the quite general aim, the details of the design and implementation of the
application can be discussed and agreed, according to the interests and ideas of the
student. Early commitment preferable. Requires some inital basic understanding of the
mobile technology and willingness to learn the details of it, as needed. The project
can be extended to include elements of social computing and shared economy.
IoT: Collecting and using data
Student: TBA
Outline:
This is actually a series of possibly coordinated projects to be carried out
independently. The idea is to use sensors of different types to generate data,
along the idea of the Internet of Things. Such sensors can be located in the wild,
in a city or in more restricted spaces, such as a building. Data need then to be
visualised, interpreted, used. Developing an innovative collection/usage of data
can be part of the project.
This project(s) can be carried out at different levels, e.g. dealing with the
sensor devices and data transmission aspects, or with the algorithmic analysis or social
usage of data. One starting point could be the continuation/extension of a previous
project on monitoring water quality in lakes. Another one, the exploration of novel
wireless communications and the transformations that they will enable. Multidisciplinary
collaborations and collaborations with external entities are possible. Good understanding
of computational and technological aspects is desirable, willingness to play with,
experiment and learn how different devices and novel technologies work, needed.
An instance of this general project, currently under definition, is a possible
collaboration with public agencies to collect and manage data about attendance
by the public to specific events. Please, ask for further details, if this
sounds of interest for you (this project is currently under negotiation).
One such project will be on monitoring the University's lake in collaboration with the Biology division.
Raploch Community Partnership (RCP): Supporting Social Wellbeing and Quality of Life
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.
BitCoins? How much are they worth ?
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.
Evolutionary Algorithms for Creating Music
Second supervisor/marker: Dr David Cairns
Student: Andrew Smart
Outline:
Evolutionary algorithms are good at searching for solutions to difficult
problems and have been applied to various real-world problems.
They can also be used for creativity, such as generating music.
This is probably with the input of a human, who will evaluate the
possible tunes as they are found.
The process can reduce the human input by basing tunes on an existing
collection of music, or by guessing the human's preferences based on
what they liked previously.
This project will explore the possibilities of generating music using
evolutionary algorithms.
The skills required are general programming in Java and some creativity.
Procedurally Generated 3D Worlds for Video Games
Student: Ivalyo Hinov
Outline: TBA
Artificial Intelligence and Game Playing
Student: Sergio Xenides
Outline:
This project will develop a game playing program that is artificially
intelligent and can play the game against you and learn from it's mistakes.
Evaluating a Machine Learning Approach to Chess AI
Student: Reece Kidd
Outline:
TBA
Implementing/Evaluating Different Algorithmic Solutions to One or More
Problems
Student: TBA
Outline:
This project would be appropriate for a student who is a little less
inclined to large programming projects, but is deeply curious about advanced
algorithms, techniques, and associated theory. Surprisingly, there are
branches of computer science that involve no programming at all!
One family of algorithms deals with error-correcting codes. One reason for
these is that information may be stored or transmitted unreliably.
Error-correcting codes ensure that information remains reliable. Another use
is found in computational geometry, which tries to identify and answer
questions related to geometry in n-dimensional space. It is strongly
connected to computer graphics and spatial navigation, among others, and has
recently found application in biology, chemistry, and physics.
The student would be expected to demonstrate learning through a (relatively)
small program reinforced by a very high quality report that shows
insight and critical analysis.
"It's Built! But they've yet to come."
Student: Boyan Miroslavov Atanasov
Outline:
Jasper is an open source voice-recognition system; Smart Citizen uses open source monitoring devices that collect
and contribute environmental data to a massive pool of similarly collected data. Voice recognition has yet to move
beyond novelty; similarly, no one knows what to do with all that environmental data. Links to both projects below.
https://jasperproject.github.io/
https://smartcitizen.me/
But maybe there's something magical hiding behind the combination of the two. Voice-recognition + environmental
awareness ==> ? This project is as much creative in its potential as it is technical. Your idea/goal to bring them
together should demonstrate the merit of each.
Distributed Device-dependant Fairness for Streaming Video
Student: TBA
Outline:
Consider: You and your flatmates are at home, and each of you is watching a streaming video on their own device.
For reasons beyond your control, your flatmate is receiving a 1080p stream on their phone, while you are stuck
watching 480p on the 50" television. Is this fair?
A bottleneck-node solution was presented in this paper linked below. I'm curious to know if device-dependent
fairness can be similarly achieved in a distributed manner within a single subnet (eg. the home). Development paths
likely involve open sourced Dash.js, perhaps WebRTC; alternatively use of Tamperfox with some rate-limiter.
http://www.cs.stir.ac.uk/~mmf/res/pubs/MFA_ifip15.pdf
A Social Media Check-out Service
Student: Petra Peterkova
Outline:
I am no user of social media, though one notion has become clear: Once
connected and active, it becomes difficult to disconnect even for a short
time. The more active in a social network, the more noticeable their absence
when taking a break. In some sense the 'immediate response' applies
increasingly to people, in addition to data.
So, I pose a challenge: Design and implement a service or application
whereby a member of many social networks can 'check-out' for some fixed
period of time. Such a service could take many forms. Perhaps the simplest,
even most effective, somehow responds to posts and messages with, "I'm
taking a break and will be back soon."
Turning The Internet upside down: Investigating A Fixed Clock with Variable
Packet Size
Student: Jake Stauber
Outline:
The goal of this project is to design, implement and evaluate a simulation
of a 'future' Internet where the rate of data flow is determined by varying
packet size, rather than by ticks of a timer. (If preferred, there also
exists the opportunity in this project for analysis.)
DData flow rates in the Internet today are determined by fixing packet sizes
and varying the time between packet transmissions. Take, for example, TCP
where the maximum segment size (MSS) is fixed. Congestion control mechanisms
between sender and receiver are determined by acknowledgements, and then
varying the timer that is used to transmit the fixed-length packets. Similar
constraints determine the behaviour of admission control at edge routers.
Token-bucket algorithms use time to accumulate the tokens that determine if
a packet may be admitted to the network.
What would the Internet look like if, instead, the timers were all fixed
interval (i.e. a 'heartbeat') and packets were permitted to vary in size?
Some evidence and investigation exists to suggest merit in this approach,
though these are limited to using variable packets in a fixed-packet
protocol. Potential consequences of this approach include:
-
Some router-level functionality may be greatly simplified. In queue
management, for example, random drops are more likely to penalize those
packets that are larger in size.
-
Evaluation of TCP in this 'dual' version of the problem may give insight
into TCP in the real world.
- Imagining a different kind of network is just plain fun.
Successful completion of this project would be determined by a usable
simulation environment in ns-3 (or similar). The exact nature and scope of the
project simulation would be agreed in advance. It is possible that
additional project opportunities may be created around other aspects of this
work. More information can be found from:
-
J. Widmer, C. Boutremans and J Le Boudec. End-to-end Congestion Control
for TCP-Friendly Flows with Variable Packet Size, ACM Computer
Communication Review, 2004 (web page and code available at icapeople.epfl.ch/widmer/tfmcc/vp-tfmcc.html)
-
P. Reviriego. Variable Packet Size Equation Based Congestion Control, ICSI
Technical Report TR-00-008, April 2000
Modelling Neural Systems
Student: Keiran Docherty
Outline: I am interested in computer simulations, based on mathematical models, of (parts of) the brain.
Such simulations look at individual neurons in some detail, or neural networks using simplified
models of the neurons. If you are interested, then we can formulate a project tailored towards
what you would like to do. Typical projects will involve implementing an existing model in a
high level language such as Java or Python, and developing a suitable GUI to examine model output.
Specific simulation packages such as NEURON or Brian (Python-based) might also be used. Some
projects might concentrate on the visualisation aspects eg animated model output and data presentation.
General purpose programming with GPUs
Student: TBA
Outline: While GPUs are designed and built specifically for fast
graphics processing, their architecture is suitable for doing other sorts of calculation,
with potentially great speedup over doing the same calculation on the CPU. The release of
NVIDIA's CUDA SDK makes programming GPUs readily possible. The aim of this project is to
get familiar with the concepts and benefits of general purpose programming for GPUs, and
to make use of CUDA in developing some simple applications and testing for speedup compared
to running the same applications on the CPU. Possible applications include simple cellular
automata, such as the Game of Life. Comparison can be made with the
Java-based Netlogo simulator for this sort of application.
Modelling Navigation Strategies
Student: TBA
Outline: We use variety of strategies to navigate around our world,
including sensory cues and
measures of self-motion. Recent experimental data from mice indicates that they can
chose between strategies to reach a goal location containing food in a star maze:
(1) they use a map of the environment derived from visual cues to work out where
they are in relation to the goal, or (2) they learn the sequence of turns required
to reach the goal from a given starting location. The aim of this project is to
build a computer model of this navigation scenario and use AI learning techniques
based on neural networks and reinforcement learning to train a virtual mouse to
learn these different strategies. Coding and visualisation might be done from
scratch in a language such as Java, or simulation environments such as Netlogo
and Webots might be suitable.
Using neural networks to solve linear and quadratic programming problems for financial planning
Student: TBA
Linear and quadratic programming (LQP) is about optimising a cost function under constraints.
It is possible to set up recurrent neural networks to find approximate solutions to such
problems and a variety of approaches exist to do this. In this project you will look at
financial planning applications that can be formulated as LQPs. For example, maximising
returns on investments given that you only have a fixed amount of money to invest and are
only prepared to take so much risk. The idea is to construct a computer app that enables a
user to define their problem and specify their constraints, then run the neural network to
get a recommended solution. Computer programming skills are required, as well as sufficient
mathematics to understand LQPs and neural networks.
This project is in collaboration with the FinTech company, Bambu, based in Singapore. They
will suggest suitable financial planning applications and provide example data to work with.
Visualisation of image file formats and compression
Student: Elliot Cameron Beattie
Image file formats and associated compression algorithms, as covered in CSCU9N5,
are very complicated and varied. The aim here is to build a special "image viewer"
application that will load and image and produce an on-screen report of the file
structure, as well as showing the image. The structure will be suitably annotated
so that all the components are meaningful to even a novice viewer (as far as possible).
Either in this application, or in a separate application, details of compression
algorithms, such as LZW and JPEG will be illustrated and demonstrated through animations
to show the different steps involved: this will be a teaching tool suitable for use in
courses such as CSCU9N5.
Learning in context
Student: Sean O'Connell
Artificial neural networks are able to learn to recognise, categorize and make predictions
about data streams, such as images of faces, financial trading data etc. The networks are
trained on example data, rather than being programmed directly. However, such training is
usually done without considering issues such as the context in which the data was collected.
For example, a Satnav system that generates routes without considering the vehicle being
driven: we have all seen pictures of large trucks getting stuck on bends that are too tight
for them! Training algorithms for neural networks that take context into account do exist,
but are not yet widely used. The aim of this project is to program some examples using these
algorithms to illustrate their usefulness. The starting point are results published in several
research papers. Any programming language can be used, and suitable neural network APIs can
provide a starting point (eg TensorFlow from Google).
(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.
Possible Sports co-supervisor: Stuart Galloway
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:
- Maxim 30100 sensor
- H7 bluetooth belt
- Logging to memory card
- Android app with Poincaré live display
- Communications, cloud and datalogging
(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.
Possible Sports co-supervisor: Niels Vollaard
Student: TBA
Outline:
Regular, light hand exercise has been shown to improve blood pressure and may have
other whole body health benefits. An Android app can guide users through a
training routine providing encoragement and setting goals. The app might take
readings from a low cost custom hand grip sensor. The app should display live
results, a clear overall summary of past data and automatically load data to the
cloud.
See http://www.bbc.co.uk/programmes/articles/3nvRZxYFPxHCCvxGwmDt0cC/is-there-a-short-cut-to-getting-fit
Components:
- Andoid training app
- Sensor development
- Power management
- Communications, cloud and datalogging
(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.
Sports co-supervisor: Angus Hunter/Lee Hamilton/Dave Clark
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:
- IMUs Arduino Microbit (embedded code)
- Android interface
- Desktop interface
- Piezo resistive
- Kinect
- Performance comparison
- Communications, cloud and datalogging
- Kinovea angular measurements and camera errors
- In house video analysis software
(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.
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:
- Load platform
- Displacement sensor
- Embedded linux or RPi application
- Android app
- Communications, cloud and datalogging
(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.
Sports co-supervisor: Lee Hamilton/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:
- Improve existing system
- Add transducers to measure reaction for different senses and limbs
- Communications, cloud and datalogging
- Adapt for different sports including football
(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.
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:
- Instrumenting the bed and tools
- Rpi interface DAQ over i2C using the common HX711 amplifier
- Signal processing & experimental measures
- Communications, cloud and datalogging
(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.
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:
- Acquire image
- Filter
- Map colour intensity to pressure
- Analyse the pressure map for key statistics
- Store pressure map and results in a handy format
Towards an emotion-sensitive Mobile App for Wedding Services Management
Industrial co-supervisor: Anne Widdop (Event Software Ltd.)
Student: TBA
Outline:
The overall aim is to research, design and develop a novel customer-centric, multi-modal emotion-sensitive human-computer
interface, and a range of intelligent features that can add value and significantly enhance the functionality of an
existing Web/Mobile App based wedding services management system.
In this project, the student will research and further develop the existing App interface to enable emotion-sensitive user
interaction, and to solicit web-based feedback from customers, both after the on-line booking experience, and after the
physical event has taken place, in the form of structured and unstructured natural language text. The unstructured feedback
will be mined using advanced sentic computing based sentiment and opinion mining techniques to understand the true emotions
and sentiments of customers. Other modalities, such as voice and facial expressions may also be exploited in the future to
monitor customers' emotions on a real-time basis. Outcomes of the sentiment and opinion analysis will be used for
continuous innovation and enhancement of the customer experience.
The student will have the opportunity to spend periods of time working on the company premises in Edinburgh (as part of a
work placement). The student will learn new interdisciplinary research and development skills (using grail, groovy, HTML,
and Java) and also enhance his/her employability prospects (There could be the possibility of paid employment with the
company, following the completion of the project)
Predicting Insulin Resistance in Children
Clinical co-supervisor: Dr M.G. Shaikh, Consultant Endocrinologist, Yorkhill Childrens Hospital
Industrial co-supervisor: Dr A. Ilyas, Health-em Ltd (Scotland)
Student: TBA
Outline:
Biologically inspired machine-learning techniques are receiving growing attention from academic and clinical researchers
interested in predictive analytics of medical Big Data. The emergence of new analytically-transparent and computationally
tractable machine learning algorithms is expected to have a profound impact on the future of personalized, preventative and
prognostic medicine.
Childhood obesity remains a major global problem despite rates stabilising, over 30% of school children remain overweight
or obese. With obesity comes an increased risk of insulin resistance, development of diabetes and heart disease. Currently
blood tests are used to confirm raised levels of insulin/ insulin resistance which can be perceived as pre-diabetic stage.
Predicting which children will develop insulin resistance remains difficult and invasive, although BMI and ethnicity,
together with the presence of acanthosis nigracans (pigmented skin changes) are clear factors.
In this project, the student will extend the prototype developed by a recent Honours project, and apply new machine
learning based predictive models using existing clinical and biochemical patient data to predict insulin resistance in
children. The predictive models will be further developed using retrospective data to be provided by the Consultant
Endocrinologist at Yorkhill Hospital, with a view to deploying it for a prospective study.
The student will have the opportunity to spend periods of time working at a Hospital Clinic based in Glasgow (as part of a
work placement element). The student will acquire new research and development skills and also enhance his/her
employability prospects (There could be the possibility of paid employment with the sponsoring company, following the
completion of the project).
Towards a disruptive, intelligent Patient-centric Preventative Diabetes (Type-2) App
Clinical co-supervisor: Dr M.G. Shaikh, Consultant Endocrinologist, Yorkhill Childrens Hospital
Industrial co-supervisor: Dr A. Ilyas, Health-em Ltd (Scotland)
Student: TBA
Outline:
Around 1.8 million people have Type 2 diabetes in the UK, Types 1 and 2 together represent about 90 percent of all
prevalent diabetes cases. The increase in Type 2 diabetes is closely linked to an aging population and rapidly rising
numbers of obese people. Mobile computing can improve the quality of the patients' life by providing systems that help
diabetes patients to monitor and control their diseases.
The aim is to create a new patient-centric Mobile App integrating an intelligent predictive tool which both screens and
prevents Diabetes Type-2, by integrating information from glucose and blood pressure measuring devices, augmenting healthy
life styles, and using social media to create virtual local diabetes communities, including rewarding through gamification.
The proposed App will aim to provide preventative measures for Diabetes Type-2, through novel predictive models based on
monitoring of normal glucose functions and blood pressure profiling along with a number of other functions relating to
their lifestyle. The predictive models will be developed and validated using retrospective data to be provided by the
Consultant Endocrinologist at Yorkhill Hospital.
The student will have the opportunity to spend periods of time working at a Hospital Clinic based in Glasgow (as part of a
work placement element). The student will acquire new research and development skills and also enhance his/her
employability prospects (There could be the possibility of paid employment with the company, following the completion of
the project).
Towards a disruptive, intelligent Patient-centric Preventive Hepatitis App
Clinical co-supervisor: Dr A. Shah, Consultant GI, Kilmarnock Hospital
Industrial co-supervisor: Dr A. Ilyas, Health-em Ltd (Scotland)
Student: TBA
Outline:
An understanding of liver cancer disease progression is vital for early diagnosis which can maximize the efficiency of patient
treatment and care plan. It also provides an insight into disease mechanisms that could help with early detection and
management of liver disease. There are a number of different statistical models of disease progression presented by
researchers, including path models, oncognetic tree models, distance based trees, network aberration models, conjunction
Bayesian networks, and markov models of disease progression. Real-time progression modeling is a challenging task due to
patient heterogeneity, missing data, multiple covariates, incomplete records, random visits and irregularity of observations.
Furthermore, screening a few patients intimately does not capture the dissimilarity over the larger population. Data sets of
this kind are available and contain a wealth of information, but current data mining and prediction techniques do not exploit
the available data effectively. Thus, alternative models must come from more cross-sectional data, including a range of (MRI,
ultrascan and CT scan) imaging, laboratory and clinical data, obtained from many patients, each making a few irregular visits to
a clinic. The main aim of this project is to develop a new liver disease progression/predictor model to address this problem,
exploiting state-of-the-art machine learning techniques.
The student will have the opportunity to spend periods of time working at a Hospital Clinic based in Glasgow (as part of a
clinical work placement element). The student will acquire new research and development skills and also enhance his/her
employability prospects (There could be the possibility of paid employment with the company, following the completion of the
project).
Towards an intelligent Medication Management and Compliance App
Clinical co-supervisor: Dr M.G. Shaikh, Consultant Endocrinologist, Yorkhill Childrens Hospital
Industrial co-supervisor: Dr A. Ilyas, Health-em Ltd (Scotland)
Student: Iain Stewart
Outline:
People who do not take their medicines as directed by their doctor risk harming their health and also cost the NHS more than
£500 million every year, as reported in a new study.
The Aston Medication Adherence Study (AMAS), conducted by Aston Pharmacy School and believed to be the first large-scale
research project on medication adherence in the UK, examined the extent of non-adherence and factors associated with lower
levels of adherence with three specific patient groups - people diagnosed with dyslipidaemia, type 2 diabetes and or
hypothyroidism -
The researchers found that, overall, around a quarter to a third of the patients were non-adherent to their medication.
Profiling of those patients who were most likely to benefit from targeted support to help them take their medicines as
prescribed found that these included patients: - who are younger than 60 years of age; - of Asian, Caribbean, African and
"Other Black" origin; - whose primary language is Urdu or Bengali; and - who are living in the most socioeconomically deprived
areas. The research used software which calculated individual patient Medication Possession Ratios (MPRs) for all medication
"runs" of interest - a "run" being the time between the first and last prescriptions for a medicine. Although MPRs are not a
definitive indicator of adherence to a medication regimen, as the data does not indicate whether the prescribed medication was
dispensed and/or subsequently taken by the patient, a low MPR value is a reliable indicator of non-adherence.
The proposed innovative App will employ a camera and image processing system (driven by an expert system or machine learning
algorithm) to recognize commonly used medicines from their packaging. Once photos are captured and processed, it will store
information on the relevant medication and its target frequency. The user will then be alerted, by an interactive, personalized
virtual healthcare assistant/avatar, who would educate and remind the user to take up medications on time, and encourage a
short video recording of the medication's intake, and, finally, reward the user with a personalized gamification rewards based
experience.
The student will have the opportunity to spend periods of time working at a Hospital Clinic based in Glasgow (as part of a work
placement element)The student will acquire new research and development skills and also enhance his/her employability prospects
(There could be the possibility of paid employment with the company, following the completion of the project).
A Big audio-visual corpus for audio-visual speech processing/automatic lip reading
Co-supervisor: Dr Ahsan Adeel
Clinical co-supervisor: Dr W Whitmer, Institute of Hearing Research (IHR), Glasgow
Industrial co-supervisor: Dr P Derleth, Sonova (Phonak Hearing Systems)
Student: TBA
Outline:
The project will involve designing a new audio-visual (AV) corpus for noise-robust AV speech processing research.
In particular, we aim to capture and analyse high-quality audio and video of spoken English sentences.
The project could be distributed to a group of students, each student building a subset of the corpus
by recording different sentences with selected speakers under real world conditions. After building
the dataset, each student/group will employ their respective dataset for audio-visual (AV) mapping
using deep machine learning algorithms (already developed and available at Stirling). AV mapping is the
process of mapping visual information (e.g. lip images) to corresponding audio frames. The project is
the building block of next-generation cognitively-inspired multimodal hearing aids, listening devices,
and speech recognition technologies. The project will be co-supervised by our industrial and clinical
partners (as part of ongoing research at the Division's CogBID Lab:
http://cogbid.cs.stir.ac.uk), and
could lead to potential placement/employment opportunities for the student(s).
Evaluating audio-visual speech processing algorithms in an audio-visual setting
Co-supervisor: Dr Ahsan Adeel
Clinical co-supervisor: Dr W Whitmer, Institute of Hearing Research (IHR), Glasgow
Industrial co-supervisor: Dr P Derleth, Sonova (Phonak Hearing Systems)
Student: Stephen Nicholson
Outline:
Human speech processing is inherently multimodal, where visual cues help better understand speech.
Thus, new-generation automatic speech recognition and enhancement systems are aiming to
increasingly leverage the audio-visual (AV) nature of speech, by appropriately integrating the
audio and visual cues. For example, the clear visibility of our articulatory organs such as lips
can be effectively utilized to extract clean speech, since the visual speech representation always
remains unaffected by the acoustic noise. However, very limited work has been conducted to develop
standards for evaluating audio-visual speech processing algorithms in a realistic audio-visual
settings. This is clearly very important for future multimodal AV device design. Consequently, this
project aims to critically review the clinical, academic and commercial work relevant to developing
required standards/procedures for evaluating new AV speech processing algorithms (currently being
developed at Stirling CogBID Lab: http://cogbid.cs.stir.ac.uk),
taking into account appropriate
real-world listening conditions.
A multimodal sentiment analysis and opinion mining dataset building App
Industrial co-supervisor: Anne Widdop (Event Software Ltd.)
Student: Cameron Hill, Alan McMahon
Outline:
With the advent of mobile applications and social websites such as YouTube, Vine, and Vimeo, there
is a rapid increase in the number of online videos shared by people expressing their opinions and
reviews. The automatic analysis of these online opinion videos is bringing new or understudied
research challenges to the field of computational linguistics and multimodal analysis.
While sentiment analysis has been successful for text, it is an understudied research question for
videos and multimedia content. One of the bottlenecks is lack of a proper dataset and dataset
building tools. In this project, the student will work on developing an intelligent, user-friendly,
adaptive application which will aid the user in building a multimodal dataset.
Skills required are general programming in Python or Java, web programming (HTML, CSS, JavaScript).
The project will involve industrial co-supervision, with possibilities for the student to gain
placement/work experience.
Smart mirror using Raspberry Pi
Industrial co-supervisor: Dr Arshi Ilyas (Business Innovation Ltd)
Student: Oliver Gordon
Outline:
Every day, various aspects of our lives are becoming increasingly connected through the Internet of
Things and smart home technology. We are constantly generating data, receiving information, and in
real-time communication with our devices and each other - from anywhere, at any time. And this
connectedness is dramatically on the rise. In this project, the student will build a smart mirror
which can interact with the user and present relevant information while he/she gets ready for the
day. For a more personalised experience ,the concept of facial recognition can be incorporated into
the mirror. Features may include, but are not limited to, Weather, Calendar events, Emails, Time,
News
Skills required are general programming in Python and web programming. The project will offer a
unique learning experience to the student both at hardware and software level. The candidate should
have an interest in exploring the area of smart IoT/embedded systems/robotics.
The project will involve industrial co-supervision, with possibilities for the student to gain
placement/work experience.
Sentiment analysis of mobile text messages
Industrial co-supervisor: Anne Widdop (Event Software Ltd.)
Student: Alan McMahon
Outline:
This project involves learning concepts of natural language processing (NLP) and applying them to
detect sentiments in text messages, extracted from Android and iOS phones. Extracting mobile phone
databases are easier with iOS rather than Android since Android phones need to be rooted to do
this. Since Android is customized by mobile phone companies, the procedures to root Android phones
and extract databases and locations of databases all differ from phone to phone. The student will
learn a range of skills, including machine learning algorithms, NLP and sentiment analysis
concepts, rooting android phones, use of adb, linking databases with programming languages, etc.
The project will involve industrial co-supervision, with possibilities for the student to gain
placement/work experience.
Tracking The Usage of Division Module Web Sites
Student: David Currie
Outline:
I often wonder exactly what use my students make of the module web sites
that I look after, and whether anybody else ever visits them: how many page
views, who visits (if we know who they are), who returns for subsequent
visits (even if we don't know who they are), which pages visitors view, and
maybe in which order, how often, etc. There are various services of this
general kind already available on the Internet, for example: Google Analytics
(free) and WebTrends
(potentially pricy - web analytics is big business). But I think that it
would be useful to have a locally managed, bespoke system that is more
focused on our need. It would also be an interesting and
challenging facility to build. The service developed,
although focused on our needs, would probably be sufficiently generic that
it could apply to other web sites too.
This is a web site project that is not principally about developing
a web site! The general idea is to design components that can be added to
existing web sites/pages, no matter whether they are built using plain
static HTML, PHP, Java servlets, etc. The added components will, somehow to
be devised, report back to server-side software about the usage of the web
page to which they have been added. Various techniques can be used such as
'web bugs', cookies or Javascript inserts. The server-side software will
record, store, analyse and report on the usage data. Appropriate
consideration must be given to Data Protection issues, and also to recent
legislation on the use of cookies.
The server side will be built using Java servlets (so, elective module
CSCU9YD is required in Autumn 2015), or PHP (from CSCU9W6)
using MySQL for data
storage. There is the opportunity for some interesting data visualisation of
the analysis reports. The analysis/reporting aspects of the software could
be through a desktop application or as a web site.
A tool for supporting "Attendance and Engagement" monitoring procedures
Student: John Matthews
Outline:
The University has recently established a supportive policy concerning students'
"Attendance and Engagement" . This "has been developed as part of the University's commitment to provide a
comprehensive supportive learning environment in which all students are encouraged to develop a breadth of skills,
abilities and approaches to their studies and maximise their full potential".
The general principle is that module coordinators should record
student attendance/engagement at specific "points of contact" (for example, tutorials and coursework
submission). This will allow the coordinator to identify "when expected points of contact are missed
which may indicate a student at risk", and the coordinator may then invite them for a meeting to
discuss any problems that the student has with the module, or can refer the student to their
personal tutor to "discuss any concerns the student may have and if necessary, direct them to
the appropriate support service".
This is particularly important in the case of overseas "Tier 4" visa students (from outside Europe), who risk having their
visas cancelled (and being deported) if they do not engage with their studies.
This project is to develop a system for supporting the Division's module coordinators in their implementation
of this policy. It should
- keep attendance records for each student/module,
- make it as easy as possible for coordinators/tutors/etc to record attendance at sessions,
submission of courseworkwork, etc,
- be configurable with "triggers" to alert module coordinators when students miss expected
points of contact,
- cross-check attendance records between modules,
- be able to produce readable and archivable attendance record reports.
The implementation technology can be anything appropriate, either desktop or web, perhaps with mobile/tablet
interface components, and would probbaly require a shared database.
An on-screen marking tool for providing feedback on programming assignments
Student: Jamie McArthur
Outline:
Traditionally we annotate printed versions of programming assignments with feedback for the student
(printed either by the student or by the marker).
It is then necessary either to return the feedback to the student (it's not always easy to find them),
or to persuade the student to come and collect their feedback (it's surprising how difficult that seems
to be for some students!).
An alternative is to complete the marking electronically, and to return the feedback to the student by
email or perhaps via a web link. The clear advantages are that there is no paper management, and
feedback is delivered directly to the student. Note that this is not automatic marking, but
electronically supported manual marking and feedback.
Turnitin, accessible at Stirling through Succeed, includes an on-screen marking feature called GradeMark
(see YouTube demo here: https://www.youtube.com/watch?v=r9_mmowfEDo).
However, although GradeMark is quite sophisticated, it seems to have some drawbacks:
- It is not intended for, and is not well adapted to, marking program code (and Turnitin is not adapted to receiving code):
language extensions such as .java, annotating layout issues, indicating blocks of code, allowing feedback comments connecting several sections of code.
- GradeMark has a nice on-screen interactive view of feedback: students hover their mouse over feedback markers
and the detailed comments pop up. However, the student cannot "take away" this interactive view, they must
be logged in to Succeed and GradeMark.
- Students can download a static PDF file showing their code with feedback, but the PDF consists of simple page images,
with brief markers overlaid on the program text - sometimes obscuring it. The full feedback is available at the
end, but without easy links back to where the markers are. (See example)
So, I would like a desktop application that allows the addition of feedback to programming assignments,
and makes it possible for students to view their feedback nicely. One possibility is a Java desktop application,
generating self-contained HTML/Javascript files with program text and interactive, printable feedback. The application should be
able to help the marker manage a whole class's submissions for an assignment, and should produce feedback out in a form
suitable for convenient emailing back to the class. No support is required for actual marking.
Managing the Honours projects
Student: Ismael Sanchez Leon
Outline:
You can probably imagine what this might cover: From staff adding project proposals, through records of
supervisors ansd second markers and lists of current projects in progress, to the archiving and
presentation of catalogues past projects. All for integration with the current CSCU9Z7 web site, though
supporting the module coordinator with a desktop application is also a possibility.
Developing a mobile application for students
Student: TBA
Outline:
TBA
Servlet Services on the SIP Application Server
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.
Simulating P2P Overlay Algorithms
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.
Programming Mobile Phones
Student: Jamie Johnston
Outline:
Mobile Apps are big business and are developed for a variety of purposes. Applications can be developed in a
platform specific way (Android or iPhone) or using a cross platform approach such as PhoneGap and Titanium. This
project will develop an app in different ways and compare the advantages/challenges with each approach.
Handwriting Recognition
Student: David Endersby
Outline:
Handwriting recognition is the ability of a computer to receive and
interpret intelligible handwritten input from sources such as paper
documents, photographs, touch-screens and other devices. The aim of the
project is to implement pattern recognition on handwritten characters by
firstly extracting features and then passing them to a classifier. The
digitised form of the handwritten text needs to be first generated. Images
will then be analysed to determine the significant features, symbolic and/or
statistical, that can be extracted. The feature extraction program should
take raw images as input and produce a binary output indicating whether or
not the feature is present. The binary output would feed into a feature
vector for classification, possibly by a neural network. The project will
also investigate original thought and encourage methodical investigation of
hypotheses, even if these hypotheses turns out to be wrong.
A System for Automating the Job Recruitment Process
Student: Oliver Hobson
Outline:
A software system is needed to allow job recruiters to post jobs. It is also
needed by job seekers to view the posted jobs via different search
categories (such as location, industry, etc.) and to apply for jobs that
they think are suitable. The basic tasks of the system will include the
analysis of requirements, the design of a database that will support the
main activities, and the implementation of a web front-end to the database
which supports two interfaces that will allow both types of user (i.e. job
recruiter and job seeker) to use the database effectively.
A Knowledge Driven Search with Evolutionary Ruin and Stochastic Rebuild: Case Studies of Vehicle Routing Problems
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.
Modelling the evolution of a population of living beings
Co-supervisor: Dr Michael Jiawei Li
Student: TBA
Outline:
Iterated prisoner's dilemma (IPD) is considered as an ideal experimental platform for the
evolution of cooperation among selfish individuals. Many natural processes, interactions
among a population of human beings or animals for example, have been abstracted into IPD.
The classical prisoner's dilemma is as follows:
Two suspects, A and B, are arrested by the police. The police have insufficient evidence for
a conviction, and, having separated both prisoners, visit each of them to offer the same deal:
if one testifies for the prosecution against the other and the other remains silent, the betrayer
goes free and the silent accomplice receives the full 10-year sentence. If both stay silent, the
police can sentence both prisoners to only six months in jail for a minor charge. If each betrays
the other, each will receive a 5-year sentence. Each prisoner must make the choice of whether to
betray the other or to remain silent. However, neither prisoner knows for sure what choice the
other prisoner will make. So the question this dilemma poses is: What will happen? How will the
prisoners act?
In an IPD, two individuals have to choose their mutual strategies repeatedly and have memory of
their previous behaviours. In an evolutionary IPD, a population of individuals play IPD with each
other and generate offspring according to their payoffs received in game playing.
The main tasks of this project are: 1) to program an IPD model that simulates and visualizes the
evolutionary process of a population of living beings and 2) to research how the population evolves.
No evolutionary computation or game theory background is required.
GUESS Visualisation Tool and Second Life
Student: TBA
Outline:
Multi-user virtual worlds such as Second Life provide a 3-D space shared by
a number of avatars. The avatars interact with their environment and each
other through text chat and voice communications. However this is not a
fixed place - you can change it. Second Life allows you to create
programmable in-world objects that let you produce a unique environment of
your own choosing. You will find much more information on the Second Life web site.
The InterLife
project is developing a private island on Second Life to provide a
research educational space. In this space, data is collected on the
position, orientation, and chat of the assembled avatars. This project will
develop scripts for the
GUESS
visualisation tool to take the collected data and show the interactions
among avatars over time.
This will require a student with a interest in virtual worlds and an
interest in programming. The GUESS scripting language is
based upon Jython.
Innerpeffray Library: Books and Borrowers, 1680-1968
Student: Mark Perrie
Outline:
This project has two aspects that might well form two separate projects:
-
The construction/customisation of a suitable database. At the moment we
are thinking of using MySQL, but there may be better options. This would
link to the existing library catalogue (that uses software called
Micromarc). Data included in the database would need to include all the
information about the books and their borrowers, as well as (where
possible) geographical co-ordinates (for places where the books come
from and where they go to).
This could also include the creation of a suitable web interface that
would allow users to search data in all fields as well as combining
searches to find information in many different ways.
-
Visualisation would use the geographical co-ordinates stored in the
database, creating a way of seeing the movement of books (from
production to borrowers) visually. For example, Innerpeffray owns a book
that was printed and published in Venice, then sold to booksellers in
London, who sent it on to Edinburgh, from where it came to Innerpeffray.
From the library, this book could then be traced through the borrower
records to its various destinations in rural Perthshire. We would like
to be able to show this book's journey through a computer visualisation
that might be based on Google maps.
Android App to help University visitors
Student: Liam Robert Logan
Outline:
This project is looking towards designing and building an app to help visitors (including potential students) navigate their
way around the University within our buildings. The project may include external navigation, but GPS based app frameworks are
available for this which can be readily exploited.
So the design and preparation stages of this project will be the prominent aspect of this project rather than the more
straightforward coding within the Android environment. The challenge is using wireless Access Points (APs) within the building
to position the phone. This may be error prone and will require consideration of the positioning of the APs, their SSIDs, and
indeed a map of the internal layout of offices, walls and doors. Other positioning approaches such as Bluetooth beacons may
also be useful. There may also consideration of using GPS on the top floor.
Additional features may include aiding navigation to meetings and lectures, possibly employing a student's teaching timetable.
This could be useful for partially sighted students.
It is essential that the student was competent in the CSCU9W6 module. While an interest in Android is useful, it is important
that the student has an interest in wireless communication, as this project is rather more than straightforward Android coding.
Network Analysis in NetLogo
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).
Module assessment report generator for Computing Science modules
Student: Calum Field
Outline:
To prepare the final results for each module, a number of documents and pieces of information must be combined: a list of registered students,
coursework results, exam results, and information about students who have deferred exams or have withdrawn from the module. Currently this is
done manually by module coordinators, who must combine several spreadsheets of different formats to produce a report to be presented at the
examiners' meeting. The Chief Examiner must then archive these reports and extract result files to be uploaded to the Portal. All of this is
tedious and time-consuming and requires diligent checking to avoid errors.
This project will create an integrated tool to automate this process. The tool will take as inputs module information, class lists, and
assessment results, and will out the required reports in a uniform format (probably as an Excel spreadsheet). The tool will also automatically
archive the reports and create the files for uploading to the portal. The details of the implementation framework to be used will be decided
later. One possibility is a combination of Java, MySql, and the Apache POI for generation of Excel spreadsheets from Java. Another possibility
is a web-based implementation with PhP, MySql, and PHPExcel.
Modelling A Complex System
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.
Gamification for understanding and influencing food choices
Student: Anna Eglite
Outline:
The Green and Blue Space, based in the Atrium, is an "environmental hub",
promoting behaviours such as recycling and sustainable eating. One of the
services they provide is organic vegetable bags, using vegetables that are
grown on an allotment on campus. This project will develop an app or game to
encourage healthy eating and cooking skills among students. The game design
will be up to you, but might involve "gamifying" recipes that use the vegetables
in the veg bags, encouraging players to cook and eat the vegetables.
Games and simulations for teaching
Student: Silvia Parvanova Nacheva
Outline:
This project builds upon ongoing research in the use of computer games and
interactive simulations for university teaching. Existing examples include
an interactive simulation of predator-prey interaction and population dynamics,
used in an Ecology course, and a fishery management game, used in an Aquaculture
course to teach the principles of managing fish stock sustainably. The project
will involve identifying a new application for games and simulations in
teaching, and then developing and evaluating a game or simulation.
Extracting and Analysing a Social Collaboration Network
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.
Visualising Dynamic Networks
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.
3D Network Visualisation
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.
Egocentric Networks: Analysis and Visualisation
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
Specification and Analysis of Biological Systems using Process Algebra
Student: TBA
Outline:
Systems biology is a current hot topic for computer science. Biologists are
producing lots of data about biological systems, but lack the tools to
structure this data. Of particular importance is gaining an understanding of
how different low level interactions contribute to the overall operation of
a system.
A process algebra is a formal modelling technique that allows a system to be
specified mathematically in terms of actions and interactions. Although
designed for specifying distributed computer systems, these techniques have
also been successfully applied to specification of biological systems, for
example ant colonies, disease spread, and genetic mutation. Application of
process algebras to disease systems is an area of current research in the
Division. The preferred process
algebra to use is PEPA (Performance Evaluation Process Algebra) or Bio-PEPA (PEPA adapted
for biology).
The aim of the project would be to use process algebra to specify and
analyse a biological system.
The development procedure for this project would involve description of a
simple system using the process algebra, and then using tools to explore the
specification. The simplest exploration is simulation: tracing through
execution paths to determine whether the specification does what was
expected. Further analysis can be carried out with the aid of tools to
determine the long and short term dynamics of the system. The
process is then repeated by modifying the specification (perhaps several
times), usually to include more detail, or a different perspective on the problem.
This would be a good project for a student with mathematical leanings or
with a biological background.
Several projects are possible within this basic framework.
-
Use process algebra to investigate low level interaction details of
communication inside cancer cells and between cancer cells leading to
metastasis (when cancer spreads). Analysis would look at how the cells
respond to the interaction, and to try to determine mechanisms which most
effectively signal a change in behaviour.
-
Use process algebra to describe the interactions between immune cells and
invading cells, describing the relationship between them as if it were a
predator-prey relationship. Analysis would look at how the cells respond
to the interaction, and to try to determine conditions under which the
prey dominates or the predator dominates.
-
Consider the dynamics of communicating animals and how collective decisions
are made.
For example, when a school of fish changes direction, how do they all know
which way to go? The low-level interactions between individuals must be
creating the overall behaviour, but how? See, for example, the work of Ian Couzin on collective
dynamics.
-
You may have your own ideas about suitable systems to model. Please feel
free to suggest something. It can be a computer system too (since this is
what process algebras were originally designed for).
Use of genetic programming and evolutionary algorithms to create better models
Student: TBA
Outline:
Computational and mathematical models are being increasingly used to
describe biological systems, but modelling is a skilled task, requiring
training and expertise. An alternative approach to this problem is to use
computers to help us to build the model. Evolutionary algorithms can help in
finding the right parameter values in a hand-built model to match
experimental data. More excitingly, genetic programming techniques may be
used to help build the models themselves.
This project involves using a tool already built here at Stirling to develop
models, exploring the possibilities of using genetic programming techniques
for model creation. The target system may be on mouse immunology, or in fish
epidemiology.
From Bio-PEPA to ODE
Student: TBA
Outline:
Bio-PEPA is a process
algebra: a formal modelling technique that allows a system to be specified
mathematically in terms of actions and interactions. There is a convenient
tool (an Eclipse plugin) which can analyse Bio-PEPA models in a variety of
ways. One technique not yet implemented is to translate the Bio-PEPA code
into the equivalent Ordinary Differential Equations. This is useful because
it gives access to other forms of analysis.
This project involves extending the Bio-PEPA plugin to add the functionality
of ODE production. The underlying algorithm is already established.
Working with University Information Services
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.
A Talking Piano
Student: TBA
Outline:
Pianos are used normally for making music. Normally someone simply sits down
and plays them. But there are other possibilities as well. One of these is
to take incoming sound (speech for example), split it up unto many
bandpassed channels, and use the energy in each channel (or perhaps the
presence of a sudden increase of energy in each channel) to decide whether
to play a note, and when to release a note. Using a MIDI interface, one can
play (more or less!) as many notes as one would like at a time. The Divison
has an electric piano here, and has experience in sound processing. The aim
is to develop a system that can take incoming speech and 'play' it on the
piano. Initially this would be off-line because the processing takes time,
but later it should be made to work in real time.
A CPU emulation for teaching purposes
Student: TBA
Outline:
The Department has a very simple Java emulation of a CPU, VM4V4
(Virtual Machine for (CSCU9)V4). But it's very basic, and omits any
thing to do with calling functions or methods, allocating space on the
stack or heap, traps, interrupts, etc. To make the machine more useful
for teaching (and not necessarily just in CSCU9V4) it needs to be much more
sophisticated. The project need not start from scratch (you can look at the
code for the current machine, and try it out, by downloading
http://www.cs.stir.ac.uk/~lss/31V4/V4-VirtualMachine.zip, and you can run
this by executing the VMGui.class). The project could include an assembler
and a linker if time permitted.
Simple Cells
Student: TBA
Outline:
Cells are the simplest independent component of living matter (viruses and prions are not independent!). Abstractly, a cell has an inside,
separated from what is not in the cell by a boundary. In a real cell, inside the cell are chromosomes, ribosomes, and other cellular
apparatus, and the cell body is a bi-lipid membrane, but here we will deal with a much simpler abstraction. We think of a cell as having
some sort of behaviour. That behaviour depends on:
- how what is outside the cell affects what is inside the cell
- how what is inside the cell reacts to what it receives from outside
Actual externally visible behaviour (i.e. behaviour that doesn't just consist of changes inside the cell) requires that what is inside the
cell alters something visible – for example, the cell may move, or may change something in its immediate environment. Again, for a real
cell, protein channels in the membrane selectively allow certain ions or small molecules into the cell, and the inside of the cell may
cause the cell to move, using flagellae attached to the cell body.
Even simple rules governing what abstract cells can do can result in complex behaviour: Conway's Game of Life is a good example of this.
The project will consist of creating a reasonably general cell simulation, and then examining the effects of certain simple rule sets
governing the effects of external conditions on the behaviour of cells. The project may use SBML for cell definition, though this is up to
the student working on the project. The project may also use P-systems, but we may want to use the actual geometry of the cell (as is
indeed used in the Game of Life).
Notating music from a single note instrument
Student: TBA
Outline:
Single note musical instruments (e.g. flutes, saxophones, trumpets etc.) play one note at a time, so that the music played on them is a
single melodic line. To notate it, one needs to discover when notes start, and the pitch of each note. Actually notating the music implies
also discovering the beat (tempo) of the music, and then putting the appropriate notes and rests on a stave. There are a number of
approaches that might be taken, for example taking a Fourier transform every (say) 25ms. An alternative that is proposed here is to use a
window operator on the sound, and then take an autocorrelation with delay of that windowed sound. This will give a 2-dimensional
representation of the sound that (I believe!) can be analysed to provide note pitch and onset times, which can then be used to notate the
sound. Given the amount of processing required, it might be best to program this in a C-like language, rather than Java.
Update the Care Measure Website
Student: David Clark
Outline:
The CARE Measure website, www.caremeasure.org allows health practitioners to enter data from their patient feedback forms and then compares them to their peers. It is now a bit old and slow and needs to be updated. It is written in PHP and uses a MySQL database. The new version should have a modern design, better data visualisation and an admin section for changing user data. Suitable if you want to get to grips with a professional level website that will go into production when you finish.
Product Review Website (two projects)
Student: Meighan Barr & Andrew Blake
Outline:
Online product reviews almost all have the same format: some written text and a rating. That doesn't make it easy to compare competing products or understand the overall attitude people have. There are two different projects available on this subject. The first involves text mining and its goal is to automatically summarise large numbers of reviews from their text to extract meaningful summary information. The second involves the use of a NoSQL database to store semi-structured reviews in a format that allows automated analysis without restricting what the reviewers can say.
Computer Learning and Creativity
Student: TBA
Outline:
Computers are generally not considered to be creative, but they can learn to be. By allowing a computer program to create many solutions to a given problem and then providing feedback to the program about which are better, the program can learn to create ever improving solutions. This project will use neural networks to allow the computer to learn and aims to develop better ways of allowing the neural networks to create new solutions from what they have learned.
Visual Search
Student: Jordan Dolan
Outline:
Searching for things online is tedious. Clothes shops have thousands of products, and there are thousands of shops. Google searches produce millions of hits and finding what you are looking for is not always easy. This project aims to design a method to help people search on line by responding to images. This might be something like Tinder, using swipes left and right to guide the search, or the student may design other approaches.
Multiple Constraint Satisfaction
Student: TBA
Outline:
Imagine a set of constraints among a set of binary variables where each constraint defines whether the product across the variables should be positive or negative. The constraints also have weights – some are more important to satisfy than others. This project investigates algorithms for finding values that satisfy the largest weighted set of constraints. It is interesting because there is no binary problem that cannot be represented as such a constraint set, so solutions to this one problem are, in a sense, solutions to all such problems. There is a little maths involved, but it is mostly algorithmic problem solving.
Visualization of Rostering and Scheduling Relationships
Second supervisor/marker: Dr Gabriela Ochoa
Student: Elsa Erenmalm & Kyle Kirkpatrick Possibility for up to three students
Outline:
This project is for a student who is interested in working on a real world problem
of visualization of rostering and schedules. This project is in partnership with BT
(British Telecom) and the potential student may be required to sign a non
disclosure agreement. The work produced by the student may also be used in
ongoing research conducted by Mr Ken Reid, and within BT.
Visualization is the transformation, selection or representation of data from
simulations or experiments to allow the exploration, analysis and understanding
of the data. Typically visualization allows analysts to find underlying patterns
which can aid in the furthering of research.
This project will make use of scheduling data provided by BT, in order to
create graphs, plots and interactive diagrams which show interesting
relationships between data sets. The data provided is originally exported by
an engine which creates thousands of potential rosters for employee
schedules. Each schedule will have it's own strengths and weaknesses,
and the relationships between what makes a schedule weak or strong
can be plotted and explored.
An example of a diagram could be one which compares the following schedules:
- Schedule with demand being met to a high degree.
- Schedule with employees receiving long periods of rest days
- Schedule with employees being allocated shifts based on their first skill
preference versus their nth skill preference.
This is a project with business ties. There is a strong research element,
which may include authorship on a research paper
or two if the project produces acceptable visualizations. So it could be
lucrative to someone with their eyes on a PhD, or going into business.
Updated 6/04/18 22:41
|