Andrew Rice

I am Professor of Computer Science in the University of Cambridge Department of Computer Science and Technology working in the Digital Technology Group. I am also the Hassabis Fellow in Computer Science and Director of Studies in Computer Science at Queens' College.


My current research activity focuses on programming and software engineering:

  • Programming languages and tools in the sciences (more detail)
  • Application of machine learning techniques to software development. I will be running a course on the MPhil in Advanced Computer Science on this subject this year.
  • Static analysis and software development. I spent 10 months from in 2016/17 working at Google in Mountain View as a Visiting Researcher. I worked in the Java compiler team and (among other things) developed new checks for their static analysis tool Error Prone. I talked about my work at the CREST workshop on Bimodal software analysis: Slides + video.
  • Adaptive learning and personalised learning. I help manage the Isaac Physics project and also the Automated Language Teaching and Assessment (ALTA) project which provide excellent sources of data and support for experiments.

I have previously worked on understanding the power consumption of smart phones, particularly Android devices (more detail), and the energy consumption and energy efficiency of computing infrastructure (more detail)

These themes 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].

I organise the DTG weekly seminar series. Upcoming talks are advertised on the DTG list at

More information: publications, talks & presentations and posters.


I am a Fellow in Computer Science at Queens'. We admit between 6 and 8 undergraduates a year.

Lecturing: Currently I teach Object Oriented Programming for Part 1A of the CS Tripos; and Further Java and Prolog for Part 1B of the CS Tripos; and Machine Learning for Programming on the MPhil

Previous lecturing: I taught Programming for Mobiles for the MPhil in Advanced Computer Science from 2010-2013.

Full: [colour]

Postal Address:

William Gates Building, 15 JJ Thomson Avenue, Cambridge, CB3 0FD.