Making computers do things that are traditionally thought of as requiring human intelligence.
Computing in Everyday Life
Innovative applications of existing computing technologies and techniques to interesting problems in everyday life.
Interdisciplinary research that covers the broad areas of distributed systems, networked systems, sensor systems and data-intensive systems.
Using data analysis, simulation, and formal methods to improve diagnosis, monitoring and treatment of patients.
Human Computer Interaction
Multidisciplinary study of the interaction between computer technology and humans.
Programming languages enable humans to tell a computer what to do. Our research makes programming languages as easy to use as possible. Making software safer, more secure and more performant.
Research software is any software used to generate, process or analyse research results. It can range from a few lines of code written by a researcher themselves to a large software package.
Demonstrations of projects and assignments from across our teaching modules and courses.