Department of Computer Science

MSc Projects 2017/2018

Dr. Mabrouka Abuhmida ()

MSA-1: HOSPITAL MANAGEMENT SYSTEM.

Hospital management is an integrated Hospital Information System, which addresses all the major functional areas of multi-speciality hospitals. The hospital management enables better patient care, patient safety, patient confidentiality, efficiency, reduced costs, and better management information system. It provides easy access to critical information thus enabling the management to take better decisions on time.

In this project, you will focus on developing and implementing a specific system that aims to reduce the manual processing of a particular department in a hospital.

The project is suitable for a student with good programming skills, and databases, and interest in formal methods.

MSA-2: Electrooculography-Based eye tracker.

Eye tracking has a long history in medical and psychological research as a tool for recording and studying human visual behaviour. Real-time gaze-based text entry can also be a powerful means of communication and control for people with physical disabilities. Following recent technological advances and the advent of affordable eye trackers, there is a growing interest in pervasive attention-aware systems and interfaces that have the potential to revolutionize mainstream human-technology interaction.

In this project, you will design an eye-tracker device based on the Electrooculography. The new device should be able to identify an eye movement by tracking the potential difference generated by their eye movements to control computer mouse courses within a specific software designed for this project.

The project is suitable for a student with good programming skills, an interest in formal methods, and an interest Arduino and embedded design.

MSA-3: Physical Games Using Swarm Robot Interface Human-computer interaction based project.

Recently, robot swarms have been used for user interface [1, 2], where many tiny robots self-assemble to display a structure or move objects like a group of ants. Open source hardware and software designs for swarm robots are now available. This offers us a unique opportunity to develop applications using swarm user interface.

In this project, we will build physical games using swarm robotics. The swarmbots will be built using open source Arduino based hardware and software (for example, The main contribution of the project would be exploring various gaming and interaction designs possible using the swarmbots framework

The project is suitable for a student with good programming skills, an interest in formal methods, and an interest Arduino and embedded design.

The project will be supervised by Dr Deepak Sahoo and Dr Mabrouka Abuhmida.

MSA-4: ANT COLONY OPTIMIZED ROUTING FOR MOBILE ADHOC NETWORKS (MANET).

A Mobile Ad-Hoc Network (MANET) is a collection of wireless mobile nodes forming a temporary network without using centralized access points, infrastructure, or centralized administration. Routing means the act of moving information across an internet work from a source to a destination. The biggest challenge in this kind of networks is to find a path between the communication end points, what is aggravated through the node mobility. The protocol is based on swarm intelligence. Ant colony algorithms are a subset of swarm intelligence and consider the ability of simple ants to solve complex problems by cooperation. The introduced routing protocol should be well adaptive, efficient, and scalable. The main goal in the design of the protocol is to reduce the overhead for routing. We refer to the protocol as the Ant Colony Optimization Routing (ACOR).

In this project you will be working on developing and improving the ANTMANET, which is one of the routing protocols that is based on ACO algorithm.

The project is suitable for a student with good programming skills, an interest in formal methods, and an interest Arduino and embedded design.

Internet of things.

Internet of Things (IoT) played a vital role in connecting the surrounding environmental things to the network and made accessible to access those un-internet things from any remote location. It’s inevitable for the people to update with the growing technology. And generally, people are facing problems on parking vehicles in parking slots in a city. In this project, you can choose one of the following topics to create a smart system towards.

•• Internet of things applications in healthcare.

•• Smart university campus and the internet of things.

•• Internet of things security issues.

The project is suitable for a student with good programming skills, an interest in formal methods, and an interest Arduino and embedded design.

Dr. Dan Archambault()

In addition to these project proposals, I am interested in information visualization, graph drawing, and social media. I'm also interested in human-computer interaction and perceptual implications of visualization and graph drawing. If you have project ideas in these areas, don't hesitate to contact me. I am willing (and mostly perfer) advising students that come with their own project ideas.

DWA-1:NewsScape: Topic Similarity of Media Microblogging Services (technical project)
Ever wonder what media outlets tweet similar stuff to the BBC? Is it ITV, MSNBC or the CBC? In this project, the student will create methods for visualising topic similarity for Twitter posts by news organisations. The final program would be able to draw a map of the news. The first stage of this project is deciding on a number of news organisations and collecting the microblogging information from those organisations over about a month or so. Then, given this data, we apply algorithms to place these news organisations into a two dimensional map where news outlets that are close to each other tweet similar things and those far away are progressively more dissimilar. Finally, we will also develop a method for interactively querying these topics to get an idea of their content. This project is very technically challenging. Only a strong programmer should consider it.

Prof Arnold Beckmann ()

Professor Beckmann's research interests are mainly in Theoretical Computer Science. The following are examples of possible projects. Studentsinterested in one of those or similar projects are strongly encouraged to makean appointment to meet and discuss options.

AB-1: Model Driven Software Development for LEGO Mindstormsbased on UML (AMSc and MScST)

This project is about applying software tools for embedded systems to develop a traffic light system with Lego Mindstorms. UML (Unified Modeling Language) is a general purpose modelling language used in software engineering intended to visualise the system under design. The task in this project will be to identify a UML tool suitable to generate code which can be run on a Lego

Mindstorm EV3. We will then develop a traffic light system in UML using the identified tool, and generate code to be run on a Lego Mindstorm EV3.We will also consider safety properties for this system, and how they can be verified.

The project is suitable for a student with good programming skills, an

interest in formal methods, and an interest in LEGO Mindstorms.

AB-2: Compiling formulas for SAT (All MScs)

SAT solvers take as inputs a special kind of propositional formulas. Generating such formulas can be very tedious. This project will look intotools which can produce inputs to SAT solvers from a more abstract

description given by a predicate logic formula with quantifiers. An example is the transformation described in [1], but others are possible as well.

This project is suitable for students with good programming skills andinterest in logical notation. Your main task will be to write a kind ofcompiler for logical formulas.

[1] Arnold Beckmann, Pavel Pudlák and Neil Thapen: Parity Games and Propositional Proofs, ACM-ToCL 2014, 15(2), 17:1-17:30.

AB-3: Solving Games (AMSc and MScST)

Parity games, mean payoff games and simple stochastic games are three classes of two player games, played by moving a token around a finite graph. Thecomplexities of deciding who has a winning strategy in such games areimportant long-standing open problems in Theoretical Computer Science. Inthis project, we will look into solving these games by transforming them into

input readable for SAT solvers. The background about these transformations has been described in a recent paper [1].

This project is suitable for good students with an enthusiasm for logical notation and theoretical computer science.

[1] Arnold Beckmann, Pavel Pudlák and Neil Thapen: Parity Games andPropositional Proofs, ACM-ToCL 2014, 15(2), 17:1-17:30.

Dr. Ulrich Berger ()

UB-1 Automatic Differentiation for Deep Artificial Neural Networks
Automatic Differentiation (AD) is a simple and efficient method for computingthe derivative of a function. AD is crucial for a Artificial Neural Networksbecause it provides an efficient implementation of the gradient descent methodfor training the network. The project shall (a) give a clear mathematical explanation of AD and a stringent proof of its correctness (b) provide an
implementation of AD in Haskell using type class polymorphism, and(c) apply AD to a prototype implementation of a deep artificial neural network and assess its efficiency.
Literature:
Richard D Neidinger. Introduction to Automatic Differentiation and MATLAB
Object-Oriented Programming. SIAM Review 52(3):545--563, 2010.
Ian Goodfellow, Yoshua Bengio, Aaron Courville. Deep Learning.
MIT Press, 2016. Online available at
UB-2 Developing a tool for exploring processes
The tool ProBE ( can be used to explore thebehaviour of processes formalised in the process algebra CSP. A similar toolshall be developed in Haskell. The tool shall be as simple as possible with acommand-line interface instead of a GUI. The idea is to use the tool toexperiment with new process constructs and alterations of the semantics.
A protototype is avaliable which the project may build on.
UB-3 Multi-lingual proof interface
The existing proof tool Prawf ( by PhD student Olga Petrovska and myself has a naturallanguage interface that currently works for English. The project
shall improve this interface and make it multi-lingual.
For this project some familiarity with formal logic and functionalprogramming is mandatory.

Dr Jens Blanck ()

Dr. Blanck is available for supervision of projects. Students should visit his website to find out about his research interests and meet him to discuss projects topics.

JEB-1: Parallelising multiplication

The algorithm taught in school is quadratic in the length of the numbers. This can be improved upon by several algorithms. One example of such an algorithm is to convert the problem by the Fourier transform. In this formulation it is possible to parallelise the computation. However, this is not currently done in most big integer packages. The task is to find the size where a parallelised version would improve performance compared to some well optimised big integer package, such as GMP.

Dr. Alena Denisova ()

Alena's research interests are mainly in the area of video games and games user research.Students interested in the proposed projects or projects related to video games research (game techniques and features and their effects on player experience (challenge, visuals, controls, choices),game analytics, gamification, persuasive games) are strongly encouraged tocontact Alena directly to arrange a meeting.

Dr. Michael Edwards ()

ME-1: Machine learning and computer vision for card games/board games

Modern day machine learning often utilises a deep learning approach to learn features for a specific application. Deep learning is becoming widespread in use; from language translation to object recognition. Deep learning models have been trained to play such games as Mario Kart and GTA5, and the results are promising. This project will combine a computer vision approach, which watches two individuals playing a card game, with a deep learning approach to learn the rule-set in order to play. We will recognise the patterns on the cards and develop a model which attempts to approximate the rules and play style. Once the machine has learnt to play, we will pit two models against each other to refine their understanding of the game and see if they are able to beat a human player.
ME-2: Analysis of global geo-tagged Twitter data

This project will look at developing a system for learning features from tweets across the globe using advanced machine learning methods. Possible applications involve event detection of severe weather events etc. Using geo-tagged data pulled from twitter, we wish to use natural language processing techniques to identify key themes of interest across the globe.
ME-3: Visualisation of deep learning features

This project will aim to understand the underlying representation of information learned by cutting-edge machine learning techniques. Such information has been seen in the Google ‘DeepDream' project, however this is yet to be applied to more complex domains.
ME4: Machine learning

I am happy to take enquiries related to machine learning projects, including methodology and application based projects. Please email me to discuss at

Dr Neal Harman ()

Dr Harman may be available for project supervision. Please visit his web pages and contact him directly to discuss possible topics

Dr. Jonathan Jones ()

I can offer a collaborative software engineering project with datascience and the SAIL databank. Please come to see me to discuss more details.

Prof. Mark Jones ()

I’m interested in supervising projects in the following areas: Internet of Things, Sensors, Wifi Buttons, Security (of IoT), Data from IoT (see phant.io, freeboard.io), IFTTT, Business Process Models. Example 1, can you take an administrative task, create a Business Process Model (BPM) for it, then create a hybrid hardware/software solution for it? Can you write software that allows users to build many administrative tasks quickly? (e.g., see bonitasoft.com). Example 2, can you create a Scratch like visual programming tool (or see microsoft blocks editor), for IoT devices? In this case you would create a connection between a visual programming tool and Arduino, so you can connect to lots of different devices that support Arduino (like Sparkfun things). Example 3, can you write a PKI (public key infrastructure) library (or use an existing one) that enables IoT sensors to post data to the cloud in a secure and reliable way, and enable users to use a visual programming tool to set it up? (If you use existing libraries, you will need to make effort elsewhere in the project, such as the visual programming tool).

These projects require reasonably confident programmers.

Prof Matt Jones ()

Professor Jones may be available to supervise projects in the field of Human Computer Interaction. Students are invited to arrange to meet him to discuss project topics.

Dr Oliver Kullmann ()

OK-1: Understanding the engine behind model checking

This project is only suitable for Advanced Master in Safe and Secure Systems
With ever more complicated systems, model checking isan indispensable tool (see some overview). So-called "SAT technology" is emerging as a centralengine used in such tools. And the principle behind it isactually very simple: formulate everything at the (logical) gate-level,and then run a SAT solver. The devil is then in the details.This project is about exploring this fascinating and recent connection.Either gaining some overview, or exploring a concrete application.
Projects for everybody, starting with two generic ones:
OK-2 Theory and practise of "brute force"
The article "The Science of Brute Force"

outlines recent developments in the area of solving hard problems.
Many projects possible -- to be discussed.
OK-3: Parallel computing for hard problems
Exploring HPC for hard algorithmic problems in the direction of "brute force"
--- details to be discussed.
Examples for more specific projects are as follows:
OK-4: Games for teaching propositional logic
Puzzles and Sudoku-variations are approaches to teach aspects ofpropositional logic. This project first needs to get an overview onexisting approaches and systems, and then might embark on producing newand better ones.
OK-5: Efficient implementation of some function
The tau-function takes as inputs positive real numbers x1, ..., xn,and computes the x > 1 with x^-x1 + ... + x^-xn = 1.For example tau(1,2) = 1.618 ... (the Golden Ratio).It is of importance for algorithms which have to branch (like backtrackingalgorithms), and fast implementations are sought. Since we really need*very* fast implementations, actually C++ is to be used here, but since theprograms to be written here are very small, this should be quickly learnablefrom a Java background. Some basic understanding of numerical computationswould be helpful.
OK-6: Efficient implementation of subsumption elimination
Given sets X_1, ..., X_n, we want to eliminate all such X_i where there isan X_j which is a strict subset of X_i. For example for the input{1,2},{1,2,4},{1,3},{1,2,3} we want to eliminate {1,2,4},{1,2,3}.Some basic algorithms have been developed, and the task is toimplemented them, and to thoroughly compare their efficiency (possiblyalso coming up with new ideas).
Implementation can be in Java or C++ (where the latter can be learned
through this project).
OK-7: Sudoku -- rules, classifications, hardness
In previous MSc projects a conceptual overview on rules and their hardnessfor solving (standard) Sudoku puzzles has been developed.Now we want to investigate the general notion of "hardness" in a systematicway for Sudoku puzzles.
OK-8: On the use of boolean logic in the social sciences
QCA ("Qualitative comparative analysis") has been developed by Charles Ragin(see as an interesting approachtowards handling diversity in empirical data, especially regardingtheir use in the social sciences. Meanwhile there is a wealth of
empirical studies using these methods (e.g., on the effectivenessof organisations of homeless people, on rating agencies in thefootwear industry, ...). What is needed is an overview on the variety of
existing studies. So the main work in this project would be to get anoverview on the studies, and tackling the problems of how to access the data.Furthermore we want to know what further questions / problems are raised bythese applications of current methods. To understand the field, the
the open-source implementation in R shall be applied to some of the studies.
OK-9: Finding short resolution proofs
This project is about the "resolution rule": a "clause" is a setof integers without 0, and the "resolution rule" allows to derivefrom a clause C containing x and a clause D containing -x the clauseC union D without x,-x. For example from {1,2,-3,4} and {2,3,5} we get{1,2,4,5}. The goal is to derive the empty clause, for example from{-1} and {1} we get {}.Resolution is the underlying mechanism for basically every practical systemperforming automated reasoning; for some background information you might wantto have a look at however want to study it from the purely combinatorialpoint of view. The question is: given a set of clauses, find a shortestderivation of the empty clause. We want to implement various algorithms,and we want to apply it to various research problems.