Masters Degrees

MSc Computer Science

Please note: This page is for 2027 entry. Click here for 2026 entry.

UCAS code 1234
Duration 1 year full time
2 years part time (September 2026 entry only)
Entry year 2026
+ January 2027 start
Campus Streatham Campus
Typical offer

View full entry requirements

Applicants are required to have either a 2:2 in a non-related science undergraduate degree, OR a 2:2 in any other degree subject and A Level Mathematics at Grade A, or equivalent.

Contextual offers

Why study MSc Computer Science at Exeter?

  • Intended for graduates from a non-computing background who aspire to work with computers in a range of industries.   
  • Designed to complement your first degree with the knowledge, and skills, required to thrive in the dynamic and rapidly evolving field of computer science.  
  • Enhances employability in a competitive job market by providing you with both specialised technical knowledge and the communication skills often sought by employers.  
  • Learn about the latest developments, tools and methodologies in areas such as artificial intelligence, cyber security and software engineering. 
  • Encourages the application of knowledge from different disciplines to provide an integrated approach to problem-solving. 

Apply online

Apply for January 2027 entry

Fast Track (current Exeter students)

Open Days

Get a prospectus

Contact

Web: Enquire online

Phone: +44 (0)1392 72 72 72

Discover MSc Computer Science at the University of Exeter.

Rosette icon

Top 20 for Computer Science

20th in The Times and The Sunday Times Good University Guide 2024 

Graduation cap and diploma icon: symbolizing academic achievement and success.

Top 10 in the UK for graduate prospects

Joint 9th for graduate prospects for Computer Science in the Complete University Guide 2027

Ancient style building icon

Long-established partnership with the Alan Turing Institute and home to the Institute of Data Science and Artificial Intelligence

Computer icon

Excellent facilities spanning a wide range of machine types and software ecosystems alongside world-class computer science labs

Entry requirements

Applicants are required to have at least a 2:2 degree in a non-related science undergraduate degree, or a 2:2 in any other degree subject and A Level Mathematics at Grade A or equivalent.

Please note, this is a conversion course designed to allow students from a wide range of backgrounds to pursue a career in computer science. If you have studied Computer Science, Mathematics, Physics, Engineering or other related degree, we very strongly advise that you apply for one of our advanced programmes, please see MSc Advanced Computer Science or MSc Advanced Computer Science with Business. The MSc Computer Science programme is a conversion course intended for students who have a non-related degree background therefore the course content has been designed so that it is appropriate for that entry level.

We may consider applications with non-standard qualifications where there is evidence of exceptional performance in modules relevant to the programme of study, significant relevant work experience, or relevant professional qualifications. 

Please also see our guidance on essential documentation required for an initial decision on taught programme applications.

Entry requirements for international students

Please visit our entry requirements section for equivalencies from your country and further information on English language requirements.

Read more

Please also see our guidance on essential documentation required for an initial decision on taught programme applications.

Entry requirements for international students

English language requirements

International students need to show they have the required level of English language to study this course.

The required IELTS test scores for this course fall under Profile B1.

Please visit our English language requirements page to view the required test scores and equivalencies from your country.

Course content

The MSc Computer Science programme is designed for individuals from diverse academic backgrounds seeking a seamless transition into the dynamic field of Computer Science. This one-year programme combines theoretical foundations with practical, hands-on experience to equip students with the essential skills and knowledge demanded by the diverse application domains of society and industry.   

The programme structure is designed to provide the core concepts in computer science, such as algorithms and architectures, data systems, programming and security. This foundation of knowledge will then be extended to the practical domains with the introduction of ethical and governance frameworks as well as professional frameworks in software development. You will also have the opportunity to explore a number of applications. Finally the capstone project of the degree will be an individual research project completed under the supervision of a computer science academic.   

By the end of the degree programme you will have learned the core principles of computer science and mastered the practical skills to solve real-world problems through the application of computer science. 

You have the option to study this programme full-time over one year or part-time over two years (September 2025 entry only).

The modules below provide examples of what you can expect to learn on this degree course based on recent academic teaching. The precise modules available to you in future years may vary depending on staff availability and research interests, new topics of study, timetabling and student demand.

Please note that the module information displayed here is subject to change.

150 credits of compulsory modules, 30 credits of optional modules

Compulsory modules

CodeModuleCredits
Compulsory 1
Algorithms and Architectures15
Data Systems15
Programming with Python15
Software Development15
Research Project60
Fundamentals of Security15
Data Governance and Ethics15

COMM107: Algorithms and Architectures

This module will introduce you to algorithms, the fundamentals of their design, and their importance within computer science. You will learn how to design and implement efficient algorithms, as well as evaluating algorithm complexity. You will also learn about key concepts concerning computer architectures, operating systems and networks – including memory management, storage concepts, process control and software execution.

The aims of this module are to introduce you to the skills needed to design, construct and manage the operation of software running on modern computing systems. You will understand the importance of designing efficient algorithms and will be able to analyse their runtime complexity.

View an example full module specification

COMM108: Data Systems

This module will introduce you to the ways in which data is stored within a computer system. You will learn about a variety of types of database, including those based on the structured query language (SQL) and those designed to structure data differently (so-called NoSQL databases). You will develop a theoretical understanding about how data should be organised, and will learn how to access and modify the data in a database from an application.

The aim of this module is to instil students with an appreciation of the different ways that data can be stored. By introducing multiple approaches (e.g. SQL-based and NoSQL) students will learn how to select the most appropriate storage for a given application, taking into account the complexities around accessing and writing data. Students will also learn how to construct software to connect an application to a database securely.

The module will also cover concurrency control, backup and recovery, user management, and web development with databases, The module will also introduce modern concepts concerning data systems, which might include big data, the cloud, data warehousing, blockchain, decentralised systems, and governance.

View an example full module specification

COMM109: Programming with Python

This module will introduce students to the fundamentals of constructing software using the Python programming language. You will learn how to decompose problems into components that can be implemented to provide a software solution, as well as how to control program flow and represent data within software. Having learned the fundamentals of Python coding you will be introduced to exception handling, Python classes, and be introduced to principles of software development and testing.

View an example full module specification

COMM110: Software Development

This module builds on the programming experience you have already obtained and provides you with experience of the cutting-edge software development skills you will need to take your abilities to the next level. You will explore topics such as product requirements and software design, software verification and validation, effective teamwork in software engineering, and software engineering tools. As part of the assessment for this module you will undertake a team project in which you will put your learning into practice to deliver a substantial software project.

The aims of this module are to move you from being able to code to being capable software developers who can function usefully in a software development team. You will learn how to work together to design robust and verified software that meets user requirements.

View an example full module specification

COMM514: Research Project

In this module, you will work on a research problem in an area relating to your programme of study, applying the tools and techniques that you have learned throughout the modules of the programme. This is an independent project, supervised by an expert from the relevant area, and culminates in writing a dissertation in the form of a research paper, describing your research and its results.

Research topics can be selected from across the breadth of computer science, data science and related topics. The project may include theoretical analysis, as well as practical software implementation.

This module aims to give you in-depth experience of research in an area relating to your programme of study. It will help you prepare for projects both in an industry or commercial setting, as well as in further postgraduate research work, such as a PhD. The module builds on the knowledge and skills you have acquired in the taught modules of the programme to allow you to investigate an area of particular interest to you. It aims to give you experience of many aspects of research work, including problem formulation, literature review, planning, tool development, experimentation, analysis and presentation of results.

View an example full module specification

ECMM462: Fundamentals of Security

Our modern life depends on the security of computerised systems ranging from social aspects (e.g. phishing) to technical and mathematical aspects (e.g. access control, encryption). In this module, you will learn the fundamental concepts required for starting a career in various areas related to security (e.g. cyber security, data security, information security, computer security). You will learn core security concepts (e.g. authenticity, confidentiality, anonymity, privacy) and core technologies (e.g. encryption, authentication, authorisation). Moreover, you will learn the basic attacks on security systems and approaches for reasoning about the correctness of security techniques.

The aim of this module to create awareness of the need for security and privacy in modern life, and to introduce the fundamental security and privacy mechanism used in modern computer systems. We will explore topics such as fundamentals of computer security, technology and principles of network security, cryptography, authentication and digital signatures, access control mechanisms, privacy, and anonymisation.

In more detail, the aims of the module are to give you an understanding of:

View an example full module specification

SOCM033: Data Governance and Ethics

Data science, machine learning, artificial intelligence and 'big data' have become central to every aspect of social life. How can these complex and powerful technologies best be managed and governed for the benefit of society now and in the future? In this module you will: (1) identify some of the main risks and ethical/legal challenges involved in the widespread automation and digitalisation of services characterising 21st century life (for example, the clash between individual desire for privacy, frameworks for data ownership and the institutional commodification of personal data); (2) examine whether and how such concerns can be handled; and (3) discuss the responsibilities of data scientists and other producers of technologies for data analysis towards their proper use.

View an example full module specification

Optional modules

CodeModuleCredits
Optional 1
Digital Transformation15
Introduction to Computer Vision15
Foundations of Human-Centred AI15
Design Methods for Human-Centred AI15
Enterprise Computing15
Social Networks and Text Analysis15
High-Performance Computing15
Building Secure and Trustworthy Systems15
Security Assessment and Validation15

BEMM190: Digital Transformation

This module will introduce you to the fundamentals of digital transformation through study of a range of practical examples. Organisations must position themselves for success in the digital era to be sustainable. For new ventures, it means creating structures and working practices appropriate to the dynamic environment. For established organisations, it means transforming existing structures and ways of working to meet current and future needs while continuing to meet the expectations of existing clients, employees and other stakeholders. Consequently, digital transformation activities are becoming increasingly strategic across public, private and third sectors.

You will also assess the implications for career development within these disruptive environments. This means building the digital skills required for success such as effective workplace communications across hybrid locations, the use of collaborative online tools, and the importance of ethical behaviour and wellbeing.

This module will help you to:

View an example full module specification

COMM042: Introduction to Computer Vision

How do we recognise objects and people? How can we catch a ball? How do we navigate our way from our desk to the coffee machine, without bumping into each other? These seemingly simple tasks have represented a challenge for AI scientists for decades. Recent developments in computer vision have seen significant improvement in important applications (face detection in cameras, body tracking, and autonomous cars).

This module will provide you with the fundamentals of computer vision, covering the essential challenges and key algorithms for solving a variety of vision problems. The course will provide both theoretical grounding in the relevant theories and a blend of classical and state-of-the-art approaches to computer vision problems. The course will focus on practical applications of computer vision and cover a broad range of problems, from low-level image processing to object recognition, tracking and 3D vision.

View an example full module specification

COMM111: Foundations of Human-Centred AI

You will study foundational concepts in how to design Artificial Intelligence (AI) systems that interact with humans. This will involve learning about human psychology including computational theories of how people represent and process knowledge, learn and work together. You will learn about topics including, how people make decisions, how they perform perceptual/manual tasks, how human vision works. You will use these theories to build and critically evaluate Artificial Intelligence systems that work with people.

You should take this module if you are interested in going on to a masters/research degree and/or in the rapidly expanding number of career pathways that involve designing AI to work with people. For these careers learning about human psychology is vital to designing systems that, for example, people find useful but not controlling and people find engaging but not addictive. For example, answers to the following questions require an understanding of the psychology of the user. How can AI be fine-tuned to human preferences and emotions? How can an AI system learn about an individual person’s goals and preferences? How can it learn about their emotions and feelings about others? Answers to these questions can help improve AI systems that work with people in the workplace and the home.

View an example full module specification

COMM112: Design Methods for Human-Centred AI

Learn the skills needed to practice Human-centred design of Artificially Intelligent systems. You will learn how to use computational design thinking to empathise with people, ideate, prototype and evaluate AI systems. You will learn how to abstract AI problems by engaging with people, communities and contexts.  You will apply methods from Human-Computer Interaction to engage with users through participatory design practices.

Having used these methods to abstract Human Centred AI problems, you will learn how to investigate prototype solutions and critically analyse their strengths and weaknesses, both from a computational perspective and a human perspective.

You will attend a weekly class in which an expert in Human-centred AI will lead discussion of an aspect of Human Centred AI design and its implications for how relevant Artificial Intelligence technologies are likely to impact people.

This course is a hands-on, practice-oriented approach to learning Human-centred AI (HCAI) design, with a strong emphasis on the evaluation of AI systems from both technical and human perspectives. Methods covered will include design thinking, participatory design, A/B testing, think-aloud protocols, diary studies, eye tracking studies etc. These tools provide students with the skills required to work with people to understand their needs and desires, understand how and why they perform tasks as they do and design AI systems that work with and for them.

View an example full module specification

ECM3408: Enterprise Computing

The vast majority of businesses now rely upon well-designed, functional, efficient and secure IT systems to carry out their day-to-day operations and to guide their business strategy.  This module introduces you to the techniques required to enable the development of systems that can operate across multiple sites, perhaps even multiple countries, in a secure and efficient manner.   In addition, the module highlights the issues and opportunities that can arise from the creation and storage of large-scale datasets.  This module will be appropriate for any student interested in the development of enterprise-level software who is studying a programme with significant programming content.

The aim of this module is to introduce you to the enterprise-level techniques used to implement large-scale distributed systems in heterogeneous environments and to consider issues such as interoperability, performance, security and persistence of information within those systems. The module also aims to provide you with an understanding of the latest internet technologies used to assist enterprises in their operation, such as service-oriented architectures, web services and cloud computing.

View an example full module specification

ECMM447: Social Networks and Text Analysis

The rise of the Web has created huge datasets relating to the interaction of users and online content. Much of this content is relational and is best understood using a network perspective (for example, hyperlinked web pages; users linking to content; users linking to users on social platforms). Much of this content consists of unstructured text (for example, webpages, blogs, social media posts) that requires computational methods for analysis at scale. In this module you will learn the core principles of social network analysis and computational text analysis, enabling you to gain insight from the rich data available on the Web.

The aim of this module is to equip you with a range of knowledge and skills needed to make effective use of data from the Web. This module will cover various topics in social network analysis and text analysis, which together allow relational and unstructured text data to be analysed at scale. The module will be taught using the Python language and various open-source packages.

The module will be taught in weekly lectures and associated practical work, together with individual self-study and labs. Lectures will introduce the topics of social network analysis and text analysis, accompanied by practical exercises based on lecture material.

View an example full module specification

ECMM461: High-Performance Computing

The demand for ever-increasing computational power drives the development and exploitation of high-performance computing that underpins leading edge research in computationally intensive engineering technologies fields. This module is designed to equip you with a solid foundation and useful skills in high-performance and distributed computing. In this module, you will learn about current high-performance computer architectures and how the computer architecture influences the performance of algorithms and programs. You will also develop skills in parallel algorithm design and parallel programming, and will gain experience of using a high-performance computing system.

This module aims to provide you with a thorough grounding in parallel programming and the architectures used in high-performance computing. After presenting the fundamental ideas and basic concepts of high-performance computing, the module outlines the architectures, components and parallel programming of high-performance computers. The module will introduce you to recent developments and future trends in architecture and algorithms in high-performance computing.

View an example full module specification

ECMM463: Building Secure and Trustworthy Systems

Building secure and trustworthy systems, i.e. systems that are hard to attack and protect the privacy of their users, are extremely hard to build. In this module, you will learn the foundations of building secure (software) systems ‘right from the beginning’. You will learn how to assess the threats of a system that need to be mitigated while building it, the risk assessment of vulnerabilities, as well as various approaches (e.g., defensive programming) and techniques for building secure systems. The module focuses on defensive security techniques that might be used by “blue teams.”

This module aims to give you a broad understanding of techniques for assessing the risks a modern IT system is exposed to. Driven by these risks, we will discuss several defensive security techniques for building security and trustworthy (software) systems. In more detail, the aims of the module are to enable you to assess the security of software architectures understand the principles of secure software architectures understand software vulnerabilities, their causes, and impact to develop secure software using defensive programming techniques to understand the principles of security testing and verification techniques.

View an example full module specification

ECMM464: Security Assessment and Validation

Even if systems have been developed with security in mind, their security needs to be assessed regularly, as, e.g., new attacks might be developed. Thus, assessing and validating the security of systems, e.g., penetration testing is an important part of cyber security. In this module you will learn the theory and practice of assessing the security of systems and applications both using manual techniques as well as automated approaches. The module focuses on offensive security that might be used by “red teams.”

This module aims to give you a broad understanding in analysing the weaknesses of a system, i.e., the areas an attacker would most likely attack a system. Driven by the discovered weaknesses, we will discuss several offensive security techniques, I.e., simulate how a threat actor (attacker) might gain access to a system or the data processed by a system. In more detail, the aims of the module are to enable you to assess the security weaknesses of a system develop a strategy how to attack a system understand the both the social and technical foundations for attacking systems or organisations understand the ethical responsibilities of an offensive security researcher.

View an example full module specification

 

Please note that the module information displayed here is subject to change.

150 credits of compulsory modules, 30 credits of optional modules

Compulsory modules

CodeModuleCredits
Compulsory 1
Data Systems15
Programming with Python15
Software Development15
Research Project60
Machine Learning15
Security Assessment and Validation15
Data Governance and Ethics15

ECMM422: Machine Learning

Machine learning has emerged mainly from computer science and artificial intelligence, and draws on methods from a variety of related subjects including statistics, applied mathematics and more specialized fields, such as pattern recognition and neural computation. Applications are, for example, image and speech analysis, medical imaging, bioinformatics and exploratory data analysis in natural science and engineering. This module will provide you with a thorough grounding in the theory and application of machine learning, pattern recognition, classification, categorisation, and concept acquisition. Hence, it is particularly suitable for Computer Science, Mathematics and Engineering students and any students with some experience in probability and programming.

In this data-driven era, modern technologies are generating massive and high-dimensional datasets. This module aims to give you an understanding of computational methods used in modern data analysis.

View an example full module specification

Optional modules

CodeModuleCredits
Optional 1
Introduction to Computer Vision15
Algorithms and Architectures15
Social Networks and Text Analysis15
 

Fees

2026/27 entry (including January 2027 entry)

UK fees per year:

£12,900 full-time; £6,450 part-time

International fees per year:

£29,800 full-time; £14,900 part-time

Scholarships

The University of Exeter offers a wide range of scholarships to support your education, with £7 million available for international students applying to study with us in the 2026/27 academic year, including our prestigious Exeter Excellence Scholarships. We also provide awards for sport, music and other achievements, as well as regional and partner scholarships with organisations such as Chevening, The Beacon Trust and the British Council. For more information on scholarships and other financial support, please visit our scholarships and bursaries page.

University of Exeter Alumni Scholarship

We are pleased to offer the University of Exeter Alumni Scholarship, a scholarship for University of Exeter alumni beginning a standalone postgraduate programme in 2026/27 with us a scholarship worth 20% of the cost of your first year tuition fees.

Terms and conditions, including deadlines, apply.

Computer Science at the University of Exeter provides a collaborative and inclusive environment in which students and researchers can advance their knowledge of this dynamic and exciting subject. 

Read more from Professor Andrew Howes

Professor Andrew Howes

Head of Computer Science

Professor Andrew Howes

Teaching and research

Teaching

Teaching is mainly delivered by lectures, workshops and online materials. Each module references core and supplementary texts, or material recommended by module deliverers, which provide in depth coverage of the subject and go beyond the lectures. 

Internationally recognised research

We believe every student benefits from being taught by experts active in research and practice. You will discuss the very latest ideas, research discoveries and new technologies, becoming actively involved in a research project yourself. 

Supportive environment

We aim to provide a supportive environment where students and staff work together in an informal and friendly atmosphere. We operate an open-door policy, so it’s easy to consult individual members of staff or to fix appointments with them via email. As a friendly group of staff, you’ll get to know us well during your time here. 

Assessments

The assessment strategy for each module is explicitly stated in the full module descriptions given to students. Group and team skills are addressed within modules dealing with specialist and advanced skills. Assessment methods include essays, closed book tests, exercises in problem-solving, use of the web for tool-based analysis and investigation, mini-projects, extended essays on specialized topics, and individual and group presentations.

Academic support

Teaching staff include scientists and leading academics in the field who work with businesses to solve difficult, real-world computational problems. The university also has a growing number of apprenticeship programmes whose direct links with industry benefit the department.  

Read more

Careers

Computer Science is at the forefront of technology and innovation. With connectivity at the heart of society, there is an increasing need for graduates who are able to understand the latest techniques and technology to negotiate problems. Huge opportunities exist for the businesses and individuals who can solve these problems using the latest technology such as artificial intelligence, machine learning, data science, high performing computing and cyber security. 

The programme will provide you with the following skills in preparation for graduate employment:  

Technical Skills: A computer science degree provides a strong foundation in programming languages, algorithms, data structures, databases, and other core technical concepts. These skills are highly sought after in the technology industry.  

Problem-Solving Abilities: Graduates are trained to approach complex problems analytically, breaking them down into manageable components.  

Versatility: Computer science is a versatile field, and a degree in this field can open doors to various career paths. Whether it is software development, cybersecurity, data science, artificial intelligence, or other areas, computer science graduates have the flexibility to explore different roles.  

Innovation and Creativity: Computer science education encourages creativity and innovation. Graduates learn to design and implement solutions to real-world problems, fostering a mindset that is valuable in many industries beyond technology.  

Adaptability: The technology landscape is constantly evolving. A computer science degree equips you with the ability to adapt to new technologies and methodologies, making you more resilient in a rapidly changing job market.  

Teamwork and Communication Skills: The programme incorporates group projects, fostering collaboration and communication skills. This is crucial in the workplace, where professionals often need to work in multidisciplinary teams. 

Graduate destinations 

Career opportunities are limitless, with graduates being found in a variety of sectors, including software engineering, health communications, education, life sciences, finance and manufacturing. This programme is particularly suited to professionals and graduates looking to develop career options or pursue academia. 

Careers support

You will receive support from our Career Zone team, who provide excellent career guidance at all stages of career planning. The Career Zone provides one-on-one support and is home to a wealth of business and industry contacts. Additionally, they host useful training events, workshops and lectures which are designed to further support you in developing your enterprise acumen. Please visit the  Career Zone for additional information on their services.

Read more