Overview

New approaches to building software, such as continuous delivery and deployment, cloud reliance for scalability, and Open Source, have led to an unprecedented speed of technological innovations. Modern software is also at the centre of our large-scale, complex and intermeshed systems that now pervade society – from energy production to finance through to healthcare and smart transportation. This new software ecosystem has also given rise to new forms of security threats, malware and system vulnerabilities. There is also now a heightened need from end-users, regulators and other stakeholders for accountability, privacy, and demonstrable and effective data protection measures from developers. The consequence is an increased worldwide demand for software security experts who are able to understand the security challenges that modern software brings and offer strong solutions to mitigate harm to valuable software-enabled infrastructures. There is a major shortage of software security experts with the skills required to protect software-intensive businesses from disruption that can have large-scale impacts on society and massive business losses.

A strong ethos of rigorous experimental and empirical cybersecurity and privacy research underpins the MSc, facilitated by a state-of-the-art testbed for studying threats and vulnerabilities related to data flows in the software and its dependencies (supply chain), critical national infrastructure (CNI) and Internet of Things (IoT). Leveraging our bespoke teaching equipment, you'll learn to apply foundational software techniques necessary to protect often interdependent software systems and will develop the skills for engineering scalable solutions. You'll be exposed to real-world problems that are practical and challenge-oriented but underpinned by rigorous research.

This MSc aims to:

  • Enable a deep understanding of fundamental concepts, design principles, building blocks and methods to understand and mitigate against cyber threats that impact critical and complex software systems;
  • Give you hands-on experience in articulating software security issues by working with devices, systems and networks utilised in realistic environments such as state-of-the-art testbeds for inter-meshed systems, CNI and IoT;
  • Equip you with the ability to apply these security principles in analysing cybersecurity problems and challenges from a variety of vantage points: networks, systems, human factors and risk, control systems and Internet of Things devices, reason about the security and privacy properties of underlying software and implications in large-scale and inter-meshed settings.
  • Enable you to apply secure software engineering principles and lifecycle to design and implement software solutions that proactively and reactively address security and privacy issues by default.
  • Provide you with the skills to reason critically about complex problems that require evaluation and analysis from a multi-dimensional perspective including technical, human and organisational aspects.

We also offer a related programme in Cyber Security (Infrastructures Security).

Programme structure

The MSc consists of compulsory units in cyber security, network security, systems security, software security analysis, and secure software engineering.

To complete your studies you will undertake an individual research project proposed by project supervisors. This unit will provide you with first-hand experience in planning, running, documenting, and presenting a substantial piece of original work in the field of software security. This will typically include reading and synthesising academic literature, developing a hypothesis and validating it through hands-on experimental or implementation work. The projects offered each year will vary and each will have a different focus under the overarching umbrella of Software Security.

The units are taught in intensive week-long blocks. Part-time study will require daytime attendance on campus for the full week when a unit is being taught.

Entry requirements

You will typically need an upper second-class honours degree or international equivalent in Computer Science, Electrical or Electronic engineering, Cyber Security, Information Security or Software Engineering. Other disciplines will be considered on a case-by-case basis.

Applicants from other related subjects are required to have studied modules relevant to the programme at minimum of 60%, or international equivalent:

Relevant Modules:

  • Algorithms
  • Cloud Native Systems
  • Computer Security
  • Continuous Integration Continuous Deployment/Delivery (CICD)
  • Data Privacy/Security
  • Data Structures
  • Databases/Structured/Unstructured Databases
  • DevOps
  • JavaScript
  • Network Security
  • Operating Systems
  • Programming (1 from the list below)
  • Requirements Engineering
  • Secure Coding
  • Service Orientated Architectures
  • Software Maintenance
  • Software Analysis
  • Software Architecture
  • Software Design
  • Software Development
  • Software Process
  • Software Security
  • Software Tools
  • Structured Programming
  • System Security
  • Systems Analysis
  • Systems Development
  • Systems Engineering
  • Systems Programming
  • Unstructured Programming
  • Web applications

Suitable Programming modules (One module from this list):

  • Ansible
  • Assembly Language
  • C/C ++
  • Cloud Computing
  • Docker
  • Java
  • Kubernetes
  • Machine Learning Fundamentals
  • Object Orientated Programming
  • Parallel Programming
  • Problem Solving & Programming
  • Programming Fundamentals
  • Programming Lab
  • Python
  • Scala
  • Serverless computing
  • Shell Scripting
  • Terrafoam

MATLAB, FORTRAN, Basic or Visual Basic will not be considered suitable for this programme.

We will also consider your application if your final overall achieved grade is slightly lower than the programme's entry requirement.

If you have at least one of the following, please include your CV (curriculum vitae / résumé) when you apply, showing details of your relevant qualifications:

  • evidence of significant, relevant work experience with a minimum of two years (full or part-time) experience within a computer science or electronic/electrical engineering role or as a software developer. Examples include software testers (especially penetration testing), technical role in cybersecurity, system engineer, security officer, data protection officer, information officer, product manager;
  • a relevant postgraduate qualification.

Specific module requirements would still apply.

See international equivalent qualifications on the International Office website.

Read the programme admissions statement for important information on entry requirements, the application process and supporting documents required.

Go to admissions statement

If English is not your first language, you will need to reach the requirements outlined in our profile level D.

Further information about English language requirements and profile levels.

Fees and funding

Home: full-time
£18,400 per year
Overseas: full-time
£35,500 per year

Fees are subject to an annual review. For programmes that last longer than one year, please budget for up to an 8% increase in fees each year.

More about tuition fees, living costs and financial support.

Alumni discount

University of Bristol students and graduates can benefit from a 25% reduction in tuition fees for postgraduate study. Check your eligibility for an alumni discount.

Funding and scholarships

Further information on funding for prospective UK and international postgraduate students.

Career prospects

This programme is informed by the skills gap identified by industry. Following graduation from this MSc, students will have the opportunity to play a fundamental role in delivering cyber security on a large scale through their careers.

Graduates may find roles as software security engineer/analyst, security software developer, network security engineer, penetration testing and security audit. You will be capable of critically evaluating and synthesising research literature, developing and deploying systems, and communicating with others in their field and other disciplines. Top graduates from this degree will be able to proactively advance the development of software security or move on to doctoral studies in cyber security.