Computer Laboratory

Student projects (Part II and ACS)

N.B.: I am unable to supervise any Part II projects in the academic year 2014/15 as I am leaving Cambridge. However, I am leaving below material available for future students.

I am happy to supervise a small number of capable students for Part II projects in the Computer Science Tripos every year. If you are interested in doing a project with me, please contact me at .
I see myself as a demanding and proactive supervisor, and am interested in top-of-the range projects that are both interesting and have the potential to score well. However, I expect considerable dedication and initiative from my students, and will rarely consider taking on a student who does not have a first class exam result in IB. I will be able to help you with the challenges in the project, but I won't, for example, teach you a programming language.

Project Ideas

Here is a list of potential Part II projects that I am interested in supervising. Note, however, that I am also happy to develop a new idea together with interested students (and I do, in fact, encourage this). It is your project, and you should really want to do it (also, trust me, being passionate about your project helps you through motivation lows)! Please get in touch if you would like to discuss a potential project idea – or even if you only know a rough area that you are interested in.

I usually work with top students, and expect a 2.i or better in the Part IB exams, or other evidence of excellent skills and high enthusiasm for the project, to consider you.

Past projects

I have supervised a total of ten student projects to date, almost all of which received a first-class score. Five of them came within the top five projects in the year.

  • Hydra: Automatic Parallelisation using LLVM by James Chicken,
  • Unbuckle: a high-performance in-kernel key-value store by Matthew Huxtable,
  • Benson: Extending Raft with structured voting by Leonhard Markert,
  • The BDFS distributed file system by Bogdan-Cristian Tataroiu,
  • Network packet trace visualisation at scale by Christopher Wheelhouse,
  • Paxos by Forbes Lindesay,
  • Osiris: Secure Social Backup by James Bown,
  • Cirrus: Distributing Application Threads on the Cloud by Seb Hollington,
  • Implementing Homomorphic Encryption by Valentin Dalibard.

Information about the projects, and links to the dissertations that came out of them are on the past projects page.