StackOverflow Sidekick

StackOverflow as an active question and answer community of people with an interest in programming. For many programmers, it is an invaluable resource that provides candidate solutions for the myriad small and large problems that programming tasks can bring with them. Unfortunately, most users of StackOverflow are merely passive consumers of the content on the […]

Continue reading

Realistic-looking fake GPS traces for privacy protection

Modern GPS-equipped devices allow for re-identification of people based on their GPS traces. In this project, you will create a tool which creates realistic-looking GPS traces and injects them into the real datastream, thus confusing a potential malicious attacker from finding useful personal information. Doing this may involve interfacing with existing online resources such as […]

Continue reading

Reconstruction of 16th century printing technology

In collaboration with the School of History, we have applied OCR to printed French bibles from the 16th century. We have observed that spaces between words come in several sizes. Closely linked words can have smaller spaces between them than other words. Modern OCR technology treats all spaces as equal. We aim to automatically reconstruct […]

Continue reading

Annotation of 3D models

An existing tool annotates 3D models with polygons and labels. It makes use of the LibGDX Java library, which was designed for computer games. The 3D models that we are using, of Ancient Egyptian coffins, are becoming too big however to be handled by this library. The task would be to redesign the tool, but […]

Continue reading

Deep Learning for Predicting Survival with Brain Tumour MRI images

This project uses an open dataset which has brain tumour segmentations along with age and survival (days to death) data (BraTS). This project seeks to use a deep learning approach using convolutional neural networks (CNNs) along with auto focus layers and a regression analysis to predict the survival of a patient given an MRI scan […]

Continue reading

Randomness and Pseudo-randomness

Many experiments in computer science are “Monte Carlo” experiments, where the results are based on a large number of random choices.  For example, one might simulate a large number of coin tosses by choosing random numbers in the range 0 to 1, and taking a heads to be any number < 0.5 and tails to […]

Continue reading

Portfolio Solvers for Solitaire/Patience Games

We have recently had success on building solvers for a variety of different Solitaire and Patience games.  But for many games, our best solver can take hours or days or simply never terminate, even if there is a relatively simple winning solution. A very successful technique for searching effectively in situations like this is to […]

Continue reading

Playing Windows Solitaire Automatically

One of the great time-wasters of all time has been the famous Windows Solitaire program. This plays a game more properly known as “Klondike”.  But nobody knows what the win percentage of this game is with best possible play – not knowing this number has been called “one of the embarrassments of applied mathematics”. This […]

Continue reading

Bayesian nonparametric learning with applications in sensor based activity recognition

Bayesian nonparametric (BNP) allows a statistical model’s complexity to grow with the data. To put it in another way, instead of fixing a model’s parameter space to some constant, the technique allows the data to decide the model’s complexity. For example, when we apply clustering algorithms, like K-means, we always need to pre-fix the size […]

Continue reading