I am happy to supervise Part II projects which are related to my research interests, general software engineering, or my personal interests (games, education, food/cooking, and aviation). While I would encourage anyone to come up with their own idea, this page contains some suggestions for projects below.

If you are interested in one of the projects on this page, a variation of one, or your own, feel free to send me an email. I would also be more than happy to answer any questions about the proposals on this page or to have an informal chat in person.

Previous projects

I have had or am currently having the pleasure of supervising the following Part II projects which might give you a general idea of the sorts of projects I supervise:

  • Well-typed music does not sound wrong (Dima Szamozvancev, Downing, 2016/2017)
  • A System for Giving Programming Exercises Adaptive Difficulty (Robin McFarland, Homerton, 2016/2017)
  • Reflect: Live Preview for Video Composition Scripts (Jack Walker, Robinson, 2015/2016)
  • Type classes for C (Dylan Ede, Robinson, 2014/2015)
  • A toy language parser builder using parser combinators (Niall Rutherford, Pembroke, 2014/2015)
  • The implementation of a compiler from BASIC 78 to LLVM (David Hoare, Robinson, 2014/2015)

Copies of all completed dissertations may be found in the Computer Lab library.