Triangle Skip to content
Exit nav

Course overview

Computer Science is playing a key role in many industries all around the world. Developments in artificial intelligence, apps and cybersecurity are changing how we live, work, and socialise. This two-year masters provides a more in-depth study of taught modules with a full-year research project.

Taught modules in your first year will develop your knowledge in key topics such as user experience design, artificial intelligence, and data analysis. Optional modules allow you to to study specialist areas, including machine learning, cyber security and autonomous robotics.

In your second-year research project, you will get the opportunity to work with an industry partner to build your experience and connections. You can also choose to work with one of our 'world-leading' research groups. Previous projects have included:

  • Deep Learning for Plant Phenotyping
  • Automated algorithm design
  • A mobile application to prevent and cure obesity

If you choose to focus your study and research in the field of AI, you can graduate with a degree titled ‘MSc Computer Science (Artificial Intelligence)’. No computer programming experience is needed.

Why choose this course?

Ranked 7th

In the UK for Computer Science

The Guardian University Guide 2020

Scholarship available

There are three levels to the award which range from 10-50% off your tuition fees.

Top 10

University in the UK, ranked by research power

Research Excellence Framework 2014

Ranked 6th in the UK

For universities targeted by the largest number of top employers in 2019-2020

High Fliers Report The Graduate Market 2019-2020

94.4% of postgraduates

from the School of Computer Science secured work or further study within six months of graduation

DLHE 2016/17

Multiple pathways

No computer programming experience is needed.

Your modules will depend on your background in computer science and maths

Course content

You will study a total of 120 credits of taught modules in the first year. Your second year consists of a 60-credit enhanced research project and a 60-credit enhanced dissertation.

The Artificial Intelligence (AI) pathway allows you to graduate with a degree titled 'MSc Computer Science (Artificial Intelligence)'. You will study 30 credits of compulsory AI modules and undertake an AI-focused research project.

Another pathway is offered for those without a computer programming background. This includes compulsory modules in fundamental mathematics and computer science.

Modules

Core

Research Methods

This module will expose you to a variety of research methods, providing you with good quantitative and qualitative skills. Research approaches covered include:

  • laboratory evaluation
  • surveys
  • case studies
  • action research

In addition to project management, the module introduces the research process, from examining how problems are selected, literature reviews, selection of research methods, data collection and analysis, development of theories and conclusions, to the dissemination of the research based on analysis of research papers. The module also offers an overview of ethical considerations when conducting research, and supports in identifying directions for MSc projects.

Students without a background in computer science must take the following:

Programming

This module will give you a comprehensive overview of the principles of programming, including procedural logic, variables, flow control, input and output and the analysis and design of programs. Instruction will be provided in an object-oriented programming language.

Systems and Networks

This module is part of the operating systems and networks theme. The module gives an introduction to the role of the operating system and how it manages computer resources such as memory, processes and disks.

Unix is introduced in terms of the Unix file structure, Input and Output and the Command Line Interface that is used to manipulate these. Computer communication is taught with respect to the Client-Server Architecture and applications that use this. Underlying protocols, such as those in the TCP/IP protocol suite, are introduced, as commonly used on the Internet to provide a universal service. This includes IPv4 and IPv6, the need for IPv6 and how the two differ. Types of computer networks are covered in terms of scale, such as LANs and WANs; and in terms of wired and wireless networks. Mechanisms for connecting networks such as routers, switches and bridges are covered.

Other topics include the role of gateways, proxies, Virtual Private Networks and cloud computing. Potential security risks are examined and how to reduce them, including the use of firewalls.

Databases, Interfaces and Software Design Principles

This module considers both the structure of databases, including how to make them fast, efficient and reliable and the appropriate user interfaces which will make them easy to interact with for users. You will start by looking at how to design a database, gaining an understanding of the standard features that management systems provide and how they can best utilise them, then develop an interactive application to access their database.

Database/software design principles will be introduced with an emphasis on the importance of understanding user requirements and specifications. Throughout the lectures and computing sessions, you will learn how to design and implement systems using a standard database management system, web technologies and GUI interfaces through practical programming/system examples.

Students wishing to obtain MSc Computer Science (Artificial Intelligence) must select 40 credits from the list below:

Machine Learning

Providing you with an introduction to machine learning, pattern recognition, and data mining techniques, this module will enable you to consider both systems which are able to develop their own rules from trial-and-error experience to solve problems, as well as systems that find patterns in data without any supervision. In the latter case, data mining techniques will make the generation of new knowledge possible, including very big data sets. This is now fashionably termed 'big data' science.

You'll cover a range of topics including:

  • machine learning foundations
  • pattern recognition foundations
  • artificial neural networks
  • deep learning
  • applications of machine learning
  • data mining techniques and evaluating hypotheses
Autonomous Robotic Systems

This module introduces you to the computer science of robotics, giving you an understanding of the hardware and software principles appropriate for control and localisation of autonomous mobile robots. A significant part of the module is laboratory-based, utilising physical robotic hardware to reinforce the theoretical principles covered.

Spending around three to four hours each week in lectures and practicals, you’ll cover a range of topics including:

  • basic behavioural control architectures
  • programming of multiple behaviours
  • capabilities and limitations of sensors and actuators
  • filtering techniques for robot localisation
Designing Intelligent Agents

In this module, you will be given a basic introduction to the analysis and design of intelligent agents, software systems which perceive their environment and act in that environment in pursuit of their goals. You will cover topics including task environments, reactive, deliberative and hybrid architectures for individual agents, and architectures and coordination mechanisms for multi-agent systems.

Games

This module covers the history, development and state-of-the-art in computer games and technological entertainment.

You will gain an appreciation of the range of gaming applications available and be able to chart their emergence as a prevalent form of entertainment. You will study the fundamental principles of theoretical game design and how these can be applied to a variety of modern computer games.

In addition, you will study the development of games as complex software systems. Specific software design issues to be considered will include the software architecture of games, and the technical issues associated with networked and multiplayer games.

Finally, you will use appropriate software environments to individually develop a number of games to explore relevant theoretical design and practical implementation concepts.

Data Modelling and Analysis

This module will enable you to appreciate the range of data analysis problems that can be modelled computationally and a range of techniques that are suitable to analyse and solve those problems.

Topics covered include:

  • basic statistics
  • types of data
  • data visualisation techniques
  • data modelling
  • data pre-processing methods including data imputation
  • forecasting methods
  • clustering and classification methods (decision trees, naīve bayes classifiers, k-nearest neighbours)
  • data simulation
  • model interpretation techniques to aid decision support

Spending around four hours each week in lectures and computer classes, appropriate software (eg. R, Weka) will be used to illustrate the topics you'll cover.

Fuzzy Logic and Fuzzy Systems

This module aims to provide a thorough understanding of fuzzy sets and systems from a theoretical and practical perspective.

Topics commonly include:

  • type-1 fuzzy sets
  • type-1 fuzzy logic systems
  • type-1 fuzzy set based applications
  • type-2 fuzzy sets
  • type-2 fuzzy logic systems
  • type-2 fuzzy set based applications.

You will also be exposed to some of the cutting-edge research topics in uncertain data and decision making, e.g., based on type-2 fuzzy logic as well as other fuzzy logic representations. You will develop practical systems and software in a suitable programming language.

Simulation and Optimisation for Decision Support

This module offers insight into the applications of selected methods of decision support. The foundations for applying these methods are derived from:

  • operations research simulation
  • social simulation
  • data science
  • automated scheduling
  • decision analysis

Throughout the module, you will become more competent in choosing and implementing the appropriate method for the particular problem at hand. You will engage in a mixture of lectures, workshops, and computer classes.

Linear and Discrete Optimisation

This module provides an entry point to computational optimisation techniques, in particular for modelling and solving linear and discrete optimisation problems like diet optimisation, network flows, task assignment, scheduling, bin-packing, travelling salesmen, facility location, vehicle routing and related problems.

In this module, you will learn to interpret and develop algebraic models for a variety of real-world linear and discrete optimisation problems to then use powerful optimization software (linear, integer and mixed-integer solvers) to produce a solution.

The module covers topics such as:

  • linear programming
  • integer programming
  • combinatorial optimisation
  • modelling and optimisation software
  • multi-objective optimisation 

Optimisation technology is ubiquitous in today's world, for applications in logistics, finance, manufacturing, workforce planning, product selection, healthcare, and any other area where the limited resources must be used efficiently. Optimisation enables prescriptive analytics in order to support and automate decision-making.

Research projects

All students must complete a research project. If you wish to graduate with the title of MSc Computer Science (Artificial Intelligence), you must choose the AI project.

You will conduct a piece of empirical and/or theoretical research in an appropriate strand of the degree, under the supervision of a member of academic staff. Where appropriate, your project may also be conducted in conjunction with an external organisation and may involve a substantial software implementation. 

Research Project in Computer Science (Artificial Intelligence)

You will conduct a piece of empirical and/or theoretical research in artificial intelligence, under the supervision of a member of academic staff. Where appropriate, your project may also be conducted in conjunction with an external organisation and may involve a substantial software implementation. 

Optional modules

Computability

You will begin by considering the attempts to characterise the problems that can theoretically be solved by physically possible computational processes, along with the practical implications. You will then consider the area of complexity theory, looking at whether or not problems can be solved under limitations on resources such as time or space. You will examine the classes P and NP, and how to show problems are NP-complete. You will also consider other practically important classes such as: PSPACE, and its relevance to adversarial games, ontologies, and the semantic web; and also complexity classes such as NC relevant to understanding of parallel computation and the limitations of its effectiveness.

Designing Intelligent Agents

You’ll be given a basic introduction to the analysis and design of intelligent agents, software systems which perceive their environment and act in that environment in pursuit of their goals.

You’ll cover topics including:

  • task environments
  • reactive, deliberative and hybrid architectures for individual agents
  • architectures and coordination mechanisms for multi-agent systems

You will spend around four hours each week in lectures and tutorials for this module.

Computer Graphics

You’ll examine the principles of 3D computer graphics, focusing on modelling the 3D world on the computer, projecting onto 2D display and rendering 2D display to give it realism.

Through weekly lectures and laboratory sessions, you’ll explore various methods and requirements in 3D computer graphics, balancing efficiency and realism.

Software Engineering Management

This module is part of the software engineering theme.

This module covers the following topics:

  • management of the introduction of new software or IT systems
  • software project management practices
  • practical experience of use of an Agile software development project management process
  • practical experience of use of Test Driven Development, pair programming and various approaches to software management tools, including the use of software versioning, project management planning tools and continuous integration and deployment
Data Modelling and Analysis

This module will enable you to appreciate the range of data analysis problems that can be modelled computationally and a range of techniques that are suitable to analyse and solve those problems.

Topics covered include:

  • basic statistics
  • types of data
  • data visualisation techniques
  • data modelling
  • data pre-processing methods including data imputation
  • forecasting methods
  • clustering and classification methods (decision trees, naīve bayes classifiers, k-nearest neighbours)
  • data simulation
  • model interpretation techniques to aid decision support

Spending around four hours each week in lectures and computer classes, appropriate software (eg. R, Weka) will be used to illustrate the topics you'll cover.

Mixed Reality Technologies

This module focuses on the possibilities and challenges of interaction beyond the desktop. Exploring the 'mixed reality continuum' - a spectrum of emerging computing applications that runs from virtual reality (in which a user is immersed into a computer-generated virtual world) at one extreme, to ubiquitous computing (in which digital materials appear embedded into the everyday physical world - often referred to as the 'Internet of Things') at the other. In the middle of this continuum lie augmented reality and locative media in which the digital appears to be overlaid upon the physical world in different ways.

You will gain knowledge and hands-on experience of design and development with key technologies along this continuum, including working with both ubiquitous computing based sensor systems and locative media. You will learn about the Human-Computer Interaction challenges that need to be considered when creating mixed reality applications along with strategies for addressing them, so as to create compelling and reliable user experiences.

Fundamentals of Information Visualisation

Information Visualisation is the process of extracting knowledge from complex data, and presenting it to a user in a manner that this appropriate to their needs. This module provides a foundational understanding of some important issues in information visualisation design. You will learn about the differences between scientific and creative approaches to constructing visualisations, and consider some important challenges such as the representation of ambiguous or time-based data. You will also learn about psychological theories that help explain how humans process information, and consider their relevance to the design of effective visualisations.

If you want to learn how to design and implement your own interactive information visualisation, you should also take the linked module G53IVP (Information Visualisation Project). Together, these two modules form an integrated 20 credit programme of study.

Information Visualisation Project

In this module you will gain practical experience of how to design and evaluate a distinctive interactive visualisation which presents information gathered from a complex and interesting data source.

You will gain experience in web-based technologies that enable the implementation of multi-layered and interactive information visualisations, supported through lab work that introduces specific features of these technologies.

This module will require some challenging programming work and assumes some basic knowledge of HTML, CSS and Javascript. Introductory tutorials will be provided to those without this prior knowledge.

Programs, Proofs and Types

This module focuses on some of the fundamental mathematical concepts that underlie modern programming and programming languages emphasizing the role of types. We will use a dependently typed programming language/interactive proof system (eg Agda) to implement some concepts on a computer.

Example topics include

  • basic lambda calculus
  • operational semantics
  • domain theory
  • types, propositions as types and formal verification.

You will engage in a mix of lectures and working in the lab with an interactive proof system.

Knowledge, Representation and Reasoning

This module examines how knowledge can be represented symbolically and how it can be manipulated in an automated way by reasoning programs.

Some of the topics you will cover include:

  • first order logic
  • resolution
  • description logic
  • default reasoning
  • rule-based systems
  • belief networks
Design Ethnography

This module introduces you to the theory and practice of design ethnography.

You’ll cover a range of topics including:

  • origins and evolution of ethnography
  • foundations and nature of the ethnomethodological approach
  • ethnographic analysis
  • the perceived problems with the approach

You’ll spend around two hours each week in lectures and tutorials for this module. 

Programming

This module will give you a comprehensive overview of the principles of programming, including procedural logic, variables, flow control, input and output and the analysis and design of programs. Instruction will be provided in an object-oriented programming language.

Machine Learning

Providing you with an introduction to machine learning, pattern recognition, and data mining techniques, this module will enable you to consider both systems which are able to develop their own rules from trial-and-error experience to solve problems, as well as systems that find patterns in data without any supervision. In the latter case, data mining techniques will make the generation of new knowledge possible, including very big data sets. This is now fashionably termed 'big data' science.

You'll cover a range of topics including:

  • machine learning foundations
  • pattern recognition foundations
  • artificial neural networks
  • deep learning
  • applications of machine learning
  • data mining techniques and evaluating hypotheses
Advanced Algorithms and Data Structures

You'll study the theory used in the design and analysis of advanced algorithms and data structures. Topics covered include string algorithms (such as for string matching, longest common subsequence), graph algorithms (such as for minimum cuts and maximum flows, and Google's pagerank algorithm), advanced data structures (such as Fibonacci heaps and Bloom filters), and randomised search heuristics (evolutionary algorithms). You'll learn all the necessary probability theory will be introduced, including random variables and concentration inequalities.

The theory is practiced in weekly labs where we learn how to implement the algorithms and data structures as functional and imperative programs (using the languages Haskell and C), and apply these to solve large instances of real-world problems. 

Advanced Computer Networks

This module will provide you with an advanced knowledge of computer communications networks, using examples from all-IP core telecommunications networks to illustrate aspects of transmission coding, error control, media access, internet protocols, routing, presentation coding, services and security.

The module will describe Software Defined Networks (SDNs) and provide examples of using them to enable very large scale complex network control. It will also provide advanced knowledge of various routing and query protocols in:

  • Ad Hoc Networks
  • Mobile Ad Hoc Networks (MANETs)
  • Vehicular Ad Hoc Networks (VANETs)
  • Disconnection/Disruption/Delay Tolerant Networks (DTNs)
  • impact of new networking developments, such as security risks, ethics, interception and data protection will be reflected and discussed systematically
Autonomous Robotic Systems

This module introduces you to the computer science of robotics, giving you an understanding of the hardware and software principles appropriate for control and localisation of autonomous mobile robots. A significant part of the module is laboratory-based, utilising physical robotic hardware to reinforce the theoretical principles covered.

Spending around three to four hours each week in lectures and practicals, you’ll cover a range of topics including:

  • basic behavioural control architectures
  • programming of multiple behaviours
  • capabilities and limitations of sensors and actuators
  • filtering techniques for robot localisation
Systems and Networks

This module is part of the operating systems and networks theme. The module gives an introduction to the role of the operating system and how it manages computer resources such as memory, processes and disks.

Unix is introduced in terms of the Unix file structure, Input and Output and the Command Line Interface that is used to manipulate these. Computer communication is taught with respect to the Client-Server Architecture and applications that use this. Underlying protocols, such as those in the TCP/IP protocol suite, are introduced, as commonly used on the Internet to provide a universal service. This includes IPv4 and IPv6, the need for IPv6 and how the two differ. Types of computer networks are covered in terms of scale, such as LANs and WANs; and in terms of wired and wireless networks. Mechanisms for connecting networks such as routers, switches and bridges are covered.

Other topics include the role of gateways, proxies, Virtual Private Networks and cloud computing. Potential security risks are examined and how to reduce them, including the use of firewalls.

Databases, Interfaces and Software Design Principles

This module considers both the structure of databases, including how to make them fast, efficient and reliable and the appropriate user interfaces which will make them easy to interact with for users. You will start by looking at how to design a database, gaining an understanding of the standard features that management systems provide and how they can best utilise them, then develop an interactive application to access their database.

Database/software design principles will be introduced with an emphasis on the importance of understanding user requirements and specifications. Throughout the lectures and computing sessions, you will learn how to design and implement systems using a standard database management system, web technologies and GUI interfaces through practical programming/system examples.

Project in Advanced Algorithms and Data Structures

This project involves a self-guided study of a selected advanced algorithm or data structure. The outcome of the project is an analysis and implementation of the algorithm or data structure, as well as an empirical evaluation, preferably on a real-world data set of significant size.

Linear and Discrete Optimisation

This module provides an entry point to computational optimisation techniques, in particular for modelling and solving linear and discrete optimisation problems like diet optimisation, network flows, task assignment, scheduling, bin-packing, travelling salesmen, facility location, vehicle routing and related problems.

In this module, you will learn to interpret and develop algebraic models for a variety of real-world linear and discrete optimisation problems to then use powerful optimization software (linear, integer and mixed-integer solvers) to produce a solution.

The module covers topics such as:

  • linear programming
  • integer programming
  • combinatorial optimisation
  • modelling and optimisation software
  • multi-objective optimisation 

Optimisation technology is ubiquitous in today's world, for applications in logistics, finance, manufacturing, workforce planning, product selection, healthcare, and any other area where the limited resources must be used efficiently. Optimisation enables prescriptive analytics in order to support and automate decision-making.

Real-world Functional Programming

This module introduces tools, techniques, and theory needed for programming real-world applications functionally, with a particular emphasis on the inherent benefits of functional programming and strong typing for reuse, maintenance, concurrency, distribution, and high availability. These are all aspects that have contributed to the popularity of functional programming for demanding applications eg in the finance industry and have also had a significant impact on the design of many modern programming languages such as Java, C#, and Rust, and frameworks such as MapReduce and React.

Topics typically include functional design patterns, pure data structures, reactive programming, concurrency, frameworks for web/cloud programming, property-based testing, and embedded domain-specific languages. The medium of instruction is mainly Haskell, but other functional languages, for example, Erlang, may be used where appropriate and for a broader perspective.

If you wish to study some particular topic in scope of this module in more depth, you are encouraged to consider taking the module Real-world Functional Programming Project.

Real World Functional Programming Project MSc

If you choose Real-world Functional Programming, this module allows you to explore a real-world functional programming topic of your choice in depth through a programming project.

Specifically, there are no requirements regarding the programming language used. The language would not even necessarily have to be a functional one. What is important is that the ideas underpinning the project are related to real-world functional programming. You will need to define your project through a project pitch. 

Simulation and Optimisation for Decision Support

This module offers insight into the applications of selected methods of decision support. The foundations for applying these methods are derived from:

  • operations research simulation
  • social simulation
  • data science
  • automated scheduling
  • decision analysis

Throughout the module, you will become more competent in choosing and implementing the appropriate method for the particular problem at hand. You will engage in a mixture of lectures, workshops, and computer classes.

Games

This module covers the history, development and state-of-the-art in computer games and technological entertainment.

You will gain an appreciation of the range of gaming applications available and be able to chart their emergence as a prevalent form of entertainment. You will study the fundamental principles of theoretical game design and how these can be applied to a variety of modern computer games.

In addition, you will study the development of games as complex software systems. Specific software design issues to be considered will include the software architecture of games, and the technical issues associated with networked and multiplayer games.

Finally, you will use appropriate software environments to individually develop a number of games to explore relevant theoretical design and practical implementation concepts.

Fuzzy Logic and Fuzzy Systems

This module aims to provide a thorough understanding of fuzzy sets and systems from a theoretical and practical perspective.

Topics commonly include:

  • type-1 fuzzy sets
  • type-1 fuzzy logic systems
  • type-1 fuzzy set based applications
  • type-2 fuzzy sets
  • type-2 fuzzy logic systems
  • type-2 fuzzy set based applications.

You will also be exposed to some of the cutting-edge research topics in uncertain data and decision making, e.g., based on type-2 fuzzy logic as well as other fuzzy logic representations. You will develop practical systems and software in a suitable programming language.

The above is a sample of the typical modules we offer but is not intended to be construed and/or relied upon as a definitive list of the modules that will be available in any given year. Modules (including methods of assessment) may change or be updated, or modules may be cancelled, over the duration of the course due to a number of reasons such as curriculum developments or staffing changes. Please refer to the module catalogue for information on available modules. This content was last updated on Friday 17 July 2020.

You can choose to work on a practical project or do a research project. Whichever one you choose, you'll be supported by an academic supervisor who is an active researcher in this area.

Enhanced Masters Research Project in Computer Science

You will complete a significant original research project at the cutting-edge of computer science. Where appropriate, your project may also be done in partnership with an external organisation.

Enhanced Masters Dissertation in Computer Science

This module is a continuation of the Enhanced Masters Research Project in Computer Science module. Building on research carried out in the first semester, you will complete a high-quality dissertation. 

or

You will complete a significant original research project at the cutting-edge of artificial intelligence. Where appropriate, your project may also be done in partnership with an external organisation.

This module is a continuation of the Enhanced Masters Research Project in Computer Science (Artificial Intelligence) module. Building on research carried out in the first semester, you will complete a high-quality dissertation. 

The above is a sample of the typical modules we offer but is not intended to be construed and/or relied upon as a definitive list of the modules that will be available in any given year. Modules (including methods of assessment) may change or be updated, or modules may be cancelled, over the duration of the course due to a number of reasons such as curriculum developments or staffing changes. Please refer to the module catalogue for information on available modules. This content was last updated on Friday 17 July 2020.

Learning and assessment

How you will learn

  • Lectures
  • Tutorials
  • Seminars
  • Computer labs
  • Practical classes
  • Project work
  • Supervision

You will study a total of 120 credits of compulsory and optional taught modules in year one. You will complete a 60-credit research project and a 60-credit project dissertation in year two.

You will work in classrooms and labs to develop a theoretical and practical understanding of this subject.

Teaching is typically delivered by professors, associate and assistant professors. Some practical laboratory sessions and research projects may be supported by postgraduate research students or postdoctoral research fellows.

How you will be assessed

  • Coursework
  • Written exam
  • Project work

Modules are assessed using a variety of individual assessment types which are weighted to calculate your final mark for each module. In many modules, assessments are mixed with 75/25 or 25/75 coursework/exam.

The final degree classification will be the average of all credits, e.g. an average of 120 taught credits and 60 credits on your project. To pass a module you’ll need at least 50%.

Contact time and study hours

The class size depends on the module. In 2019/2020 class sizes ranged from 25 to 110 students.

All students meet their tutors in the Induction week. Students are then encouraged to make individual arrangements to discuss any issues during the study. Some staff offer weekly drop-in time for students.

Entry requirements

All candidates are considered on an individual basis and we accept a broad range of qualifications. The entrance requirements below apply to 2021 entry.

Undergraduate degree2:1 (or international equivalent) with evidence of an interest or aptitude for programming; graduates from a science or engineering background will be considered with a 55% average mark

Applying

Our step-by-step guide covers everything you need to know about applying.

How to apply

Fees

UK students

Confirmed August 2020 *

International students

Confirmed August 2020 *

The UK government has confirmed that EU, other EEA and Swiss nationals starting courses in the 2021/22 academic year will no longer be eligible for home/UK fee status or the same financial support as in previous years. We will update our guidance for students when more information becomes available.

Additional costs

We do not anticipate any extra significant costs. You should be able to access most of the books you’ll need through our libraries, though you may wish to purchase your own copies which you would need to factor into your budget.

Funding

To help support our students, we offer an Excellence in Computer Science scholarship. There are three levels to the award which range from 10-50% off your tuition fees. You will also receive a tablet to use for the duration of your study.

There are many ways to fund your postgraduate course, from scholarships to government loans.

The University also offers masters scholarships for international and EU students. Our step-by-step guide contains everything you need to know about funding postgraduate study.

Postgraduate funding

Careers

We offer individual careers support for all postgraduate students.

Expert staff can help you research career options and job vacancies, build your CV or résumé, develop your interview skills and meet employers.

More than 1,500 employers advertise graduate jobs and internships through our online vacancy service. We host regular careers fairs, including specialist fairs for different sectors.

Graduate destinations

This course prepares you for careers in advanced software development, particularly where reliability and efficiency are vital requirements. Graduates are likely to assume leading roles in major software-development projects in one of the areas of specialisation.

This course also provides an excellent foundation for further study and you may decide to progress to a PhD in order to continue your research.

Our graduates have lots of great job opportunities. Computer science-related skills make up 4 of the top 5 'most in-demand skills for employers in 2020’ according to LinkedIn.

Average starting salary and career progression

94.4% of postgraduates from the School of Computer Science secured work or further study within six months of graduation. The average starting salary was £29,250 with the highest being £30,000.* 

* Known destinations of full-time home postgraduates who were available for employment, 2016/17. Salaries are calculated based on the median of those in full-time paid employment within the UK. 

Two masters graduates proudly holding their certificates
" I'm an Associate Professor in the School of Computer Science. I teach modules related to artificial intelligence including Fundamentals of AI and Topics in AI. My main research interests include artificial intelligence algorithms (eg computational optimisation algorithms with machine learning) for intelligent transport systems (eg vehicle routing and connected vehicles) and optimisation problems in workforce scheduling, telecommunication network routing and timetabling. "
Rong Qu, School of Computer Science

Related courses

The University has been awarded Gold for outstanding teaching and learning (2017/18). Our teaching is of the highest quality found in the UK.

The Teaching Excellence Framework (TEF) is a national grading system, introduced by the government in England. It assesses the quality of teaching at universities and how well they ensure excellent outcomes for their students in terms of graduate-level employment or further study.

This content was last updated on Friday 17 July 2020. Every effort has been made to ensure that this information is accurate, but changes are likely to occur given the interval between the date of publishing and course start date. It is therefore very important to check this website for any updates before you apply.