I am a lecturer in the School of Computer Science at University of Birmingham. I currently teach programming modules in years 1 and 2. I am also the Senior Welfare Tutor in the School of Computer Science.

At University of Birmingham and elsewhere I have taught databases, games programming, computer graphics, AI, evolutionary computing, amongst other topics. The main programming languages I have taught (and used) are C/C++ and Java. I have also developed systems using Assembly Language and the various web languages.

I have worked as a developer in industry, as a games programmer and also as an embedded systems developer. I have also worked in other fields.

For BSc and MSc projects, I welcome projects in the following topics:

- Video game technology: game engine programming, graphics, artificial intelligence, learning.
- Natural language processing.
- Web applications, including social media tools.
- Evolutionary techniques (genetic algorithms, genetic programming).
And combinations thereof.