2017-2018

Parsing the LCFG configuration language UG4 h proposal
Playing chord sequences on a mobile device UG4 h proposal
Generating musical accompaniments (chords) UG4 h proposal
Generating musical accompaniments (bass) UG4 h proposal
Fingering chord sequences on the guitar MSc h proposal
Student perception of readable code MSc h proposal
A Reusable interface for Adaptive, Comparative Judgement MSc h proposal

2016-2017

Computing guitar fingerings MSc
Generating guitar tablatures with neural networks MSc
Analysing feature usage in the Puppet configuration language MSc
Analysing feature usage in the LCFG configuration language MSc
A web-based configuration language demonstrator UG4
Automated system documentation and configuration collection UG4
Creating an interface between L3 and Microsoft Powershell UG4

2015-2016

Configuring LEGO minifigures with L3 MSc
Composition and conflicts in large system configurations MSc
Usability of system configuration languages MSc
Composition and the LCFG language in practice UG3
An exploration of Google App Engine configuration UG3
Automating release scripts UG4 - In conjunction with JP Morgan, Glasgow
Shared code editing for tutorials UG4
Planning a revision timetable with soft constraints MInf - part 2

2014-2015

Parsing the LCFG configuration language MSc
Matching interaction models for teaching with social media MSc
Structured editing of the SmartFrog configuration language MSc
Tracking provenance in a macro processing language UG4
Planning a revision timetable with soft constraints MInf - part 1
A mobile audio flashcard app UG4
Modelling social media interactions for teaching UG3

2013-2014

Providing feedback on student Java code MSc

2012-2013

Denotational semantics of Puppet MSc
Constraint-based allocation of student groups MSc
OnlineSmartEditor: web based editor for SmartFrog MSc
Support for LCFG in Eclipse MSc
Web based IDE tool for Java MSc
Configuration visualisation MSc

2011-2012

Agent-based management of cloud computing infrastructure MSc
Multi-agent-based automated service placement in cloud computing MSc
Automated virtual machine migration with JadeX agents MSc
Virtual machine migration strategies for agent-based cloud computing infrastructure MSc
Agent-based system for virtual machine management in a simulated environment MSc
Modelling cloud infrastructure configuration with answer set programming MSc
Distributed multi-agent intrusion detection system on cloud infrastructure MSc

2010-2011

Agent-based management of virtual machines for cloud infrastructure MSc
Agent-based management of virtual machines for cloud infrastructure MSc
Information extraction from images of shopping receipts MSc

2009-2010

Content-addressable storage for encrypted, shared backup MSc