Department of Computer Science

Research profiles

Our staff members are engaged in pioneering research projects that extend the boundaries of the field of Computer Science. Find out about their insights below.


Algorithms and Theory of Computation

Combinatorial optimisation is related to operations research, algorithm theory and computational complexity theory. Combinatorial optimisation algorithms solve instances of problems that are believed to be hard in general, by exploring the usually-large solution space of these instances.


Artificial Intelligence

An automated problem solver can be seen as a combination of algorithms, representations, and heuristics.


Computational Biology

The computational biology research focus in the Department of Computer Science includes collaborations with the Schools of Biological Sciences and Psychology, and the Departments of Physics and Statistics.


Computational Social Science

Computational social science concerns model, simulations, and analysis of social phenomena that arise from economics, sociology, psychology, and social media.


Computer Graphics

The Graphics Group is doing research in all aspects of Computer Graphics including Game Technology, Exergaming and game-based interventions in medicine, 3D Reconstruction, Scientific and Biomedical Visualization, Rendering, 3D Modelling, Texture Synthesis, Telecare, AI algorithms for Artificial Life, Sketch-based interfaces, and Computer Graphics Education.


Computer Networks

The Networks group has research interests in design, modeling, and performance evaluation of distributed systems and communication protocols.


Computing Education and Learning Technologies

Computer Science Education is the study of how students learn computing concepts. We explore how novices learn to program, differences between programming languages and environments used in computer science education, visualization of computing concepts, curriculum design and delivery, attitudes and diversity in the computing classroom.


Cyber security

Our research group develops ways to assure the privacy and security of individuals and enterprises in the cyber world. When designing secure systems, we follow a holistic approach, covering both theoretical and practical aspects. 


Data Science and Machine Learning

Data Science generates actionable knowledge from any kind of data. It covers the full pipeline from collecting, preparing, and storing the data, to analysing it, presenting the results, and turning them into actions.


Internet and Mobile Computing

Satellite Internet is a vital link to the world for people in remote areas. Compared with terrestrial service, a satellite link has longer latencies, limited bandwidth, and poor performance. We are investigating configurations and innovative solutions to improve satellite link utilisation, performance and user experience.


Knowledge and Database

The group works on a broad range of topics in both theoretical and applied research, including: conceptual modelling, data mining, data quality, data warehousing, database theory, e-science, information access, information retrieval, knowledge management, knowledge representation, machine learning, ontologies, and the semantic web.


Parallel and Distributed Computing

We focused on solving data, compute and memory intensive problems in the intersection of high speed communication, data-intensive computing such as machine learning and electronic design automation, and high performance computing.


Quantum Information Science

Quantum information science studies information and computation using quantum physics; both the theoretical and the experimental views matter.


Software Design and Quality

Software Design and Quality focusses on questions such as: • What does quality mean (for software) and how to measure it? • What factors affect software quality and how to establish good designs? • What techniques are available to enhance the quality of software development? • How do creativity, agility, sustainability, distribution, cognition, perception, complexity, and emotion affect software development?