Want to record how you use your Android phone? Install our free Device Analyzer project and contribute to research at the same time.
My research activity covers a range of different areas:
These theme are derived from my work with Andy Hopper on the Computing for the Future of the Planet project in which we sought to identify Computer Science research questions in the context of global issues such as climate change, over-population, famine and desertification. A high level summary of the research themes is given in our brochure: [a4 version], [folding version]. Please see the main project pages for more information.
I organise the DTG weekly seminar series. Upcoming talks are advertised on the DTG list at talks.cam.
Recent programme committees: MASCOTS 2012, SIGMETRICS 2012, Buildsys 2011, AFRICOMM 2011, MASCOTS 2011 (PC Chair), Sustalnet 2011, PerCom 2011 (PhD programme)
I am Director of Studies in Computer Science at Queens'. We admit between 6 and 8 undergraduates a year. In addition to core teaching I organise a variety of other activities for Queens' Computer Scientists. You can find out more at the Queens' College Computer Science blog.
Lecturing: Currently I teach Programming in Java for Part 1A of the CS Tripos; and Further Java and Prolog for Part 1B of the CS Tripos
Previous lecturing: I taught Programming for Mobiles for the MPhil in Advanced Computer Science from 2010-2013.
Part II Projects: I generally supervise one or two Part II students final year projects. Students with project suggestions should contact me by email towards the end of Part 1B or at the beginning of Part II.
Summer projects: Cambridge undergraduates who are interested in taking part in software development projects over the summer vacation should feel free to contact me to find out more. This entails a 10 week period of (paid) full-time work based in the Computer Laboratory. The number of places on offer will vary depending upon resources. [more information]
The Otter (Online Teaching Tools) website is used within the department for a variety of teaching needs. All the source code is on GitHub: dashboard, signups, questions, handins. The live site is available here: http://ott.cl.cam.ac.uk (requires a Cambridge Raven account).
Android applications resulting from undergraduate projects or our research activity.
PushOggDecoder is a Java library for extracting bit streams from an Ogg container.
Cantag is a machine vision framework written in C++ which provides various mechanisms for tracking two dimensional (2D) marker tags for barcode reading, 3D overlay or recovering position and pose.
Tinytag is a minimal 2D machine-vision barcode reader written in C without any floating point requirements and so is suitable for mobile phones and embedded platforms.