Triangle

Course overview

Cyber physical systems integrate computation with physical objects and processes. Examples of cyber physical systems are:

  • 'smart' devices in the home such as a smart meter or fridge
  • voice assistant devices
  • driverless vehicles
  • medical monitoring equipment 
  • wearable devices
  • robotic assistants

Our course is designed for students with a background in computer science or a related field with analytical skills. You'll learn the principles of integrated system design and computational and cyber physical systems methods and tools. 

The key topics covered will include:

  • artificial intelligence
  • robotics
  • cyber security
  • modelling and simulation
  • ethical design
  • interactive systems

The benefit of a two-years masters is that you can build the foundation of your knowledge in year one then use your skills for a year-long practical or research project.

During the summer period, you will undertake an individual research project. This could be software-based or research-based. Collaboration with business, industry, and other outside bodies is encouraged. 

This course is linked to the school’s research groups, which include:

Our broad research means we can offer a variety of projects across the spectrum of computer science and cyber physical systems.

A one-year version of this course is available. 

Why choose this course?

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

96.4% of postgraduates

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

HESA Graduate Outcomes 2020, using methodology set by The Guardian

Course content

You will study a total of 240 credits, split across 120 credits of compulsory and optional modules plus a 120 credits of project and dissertation.

Modules

Core modules

Autonomous Robotic Systems 20 credits

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. You will cover a range of topics including basic behavioural control architectures, multi-source data aggregation, programming of multiple behaviours, capabilities and limitations of sensors and actuators, and filtering techniques.

Designing Sensor-Based Systems 20 credits

You will gain knowledge and hands-on experience of design and technical development of sensor-based systems. You will learn about the human-computer interaction challenges that need to be considered when creating ubiquitous computing systems along with strategies for addressing them, so as to create effective, appropriate and compelling user experiences.

Topical Trends in Computer Security 10 credits

This module involves discussing current topics relating to computer security. Each week, as individuals or as a group, you will make a presentation on an assigned topic in computer security followed by a discussion. You will meet with a member of staff to discuss and plan the form of the presentation. You'll also prepare questions for the audience and write a concise (10 page) summary of the material.

The aim of the module is to gain a deeper understanding of the important topics in computer security. You'll learn how to summarise research and present it to a peer audience. 

Malware Analysis 10 credits

This module looks at the practice of malware analysis, looking at how to analyse malicious software to understand how it works, how to identify it, and how to defeat or eliminate it.  

You will look at how to set up a safe environment in which to analyse malware, as well as exploring both static and dynamic malware analysis. Although malware takes many forms, the focus of this module will primarily be on executable binaries. This will cover object file formats and the use of tools such as debuggers, virtual machines, and disassemblers to explore them. Obfuscation and packing schemes will be discussed, along with various issues related to Windows internals.

The module is practical with encouragement to safely practice the skills you're taught.

Research Methods 20 credits

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.

Optional modules

Linear and Discrete Optimisation 20 credits

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.

Advanced Computer Networks 20 credits

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
Design Ethnography 20 credits

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. 

Advanced Algorithms and Data Structures 10 credits

This module covers data structures, efficient algorithms on them and ways to determine their complexity. You will study some modern algorithms that are widely used in contemporary software.

The topics covered can include:

  • binary search trees (red-black trees)
  • dynamic programming
  • graph-algorithms (eg shortest path, maximum flows)
  • amortized analysis
  • priority queues (binary, leftist and Fibonacci heaps)
  • string algorithms (string matching, longest common subsequence).

Among the special topics relevant to contemporary application, we can study:

  • public-key cryptography (the RSA cryptosystem)
  • the page-rank algorithm (from Google search)
  • neural networks.

The theory is practised in labs sessions where you will 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. The coursework consists of the implementation of some of the data types and algorithms on them.

Project in Advanced Algorithms and Data Structures 10 credits

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.

Data Modelling and Analysis 20 credits

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 20 credits

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 20 credits

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.

Mixed Reality Technologies 20 credits

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.

Games 20 credits

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.

Software Engineering Management 20 credits

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
Programs, Proofs and Types 20 credits

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.

Big Data 10 credits

This module will cover four main concepts.

It will start with an introduction to big data. You’ll find out about the main principles behind distributed/parallel systems with data intensive applications, identifying key challenges such as capture, store, search, analyse and visualise the data. 

We’ll also look at SQL Databases verses NoSQL Databases. You will learn:

  • the growing amounts of data
  • the relational database management systems (RDBMS)
  • an overview of Structured Query Languages (SQL)
  • an introduction to NoSQL databases
  • the difference between a relational DBMS and a NoSQL database
  • how to identify the need to employ a NoSQL database

Another concept is big data frameworks and how to deal with big data. This includes the MapReduce programming model, as well as an overview of recent technologies (Hadoop ecosystem, and Apache Spark). Then, you will learn how to interact with the latest APIs of Apache Spark (RDDs, DataFrames and Datasets) to create distributed programs capable of dealing with big datasets (using Python and/or Scala).  

Finally, we will cover the data mining and machine learning part of the course. This will include data preprocessing approaches, distributed machine learning algorithms and data stream algorithms. To do so, you will use the machine learning library of Apache Spark to understand how some machine learning algorithms can be deployed at a scale. 

Cyber Security 10 credits

Cyber security is an essential consideration for the protection of IT-based devices, systems, networks and data, providing safeguard and reassurance to the organisations and individuals that now rely (and increasingly depend) upon them. We provide coverage of both technical and human perspectives, considering the fundamental threats and safeguards that concern both personal and workplace contexts. You will emerge with the knowledge and skills necessary to enable informed cyber security decisions spanning the technical, human and organisational dimensions of the topic.

You will gain knowledge and practical experience across a range of key cyber security topics, including foundational concepts and principles, authentication and access control, operating system security, cryptographic mechanisms and applications, security management, risk assessment, cyber-attacks and threat intelligence, network and Internet security, intrusion detection and incident response, and human aspects. You will learn about the challenges that need to be considered when designing and implementing secure systems, along with associated approaches to ensure that security is addressed in an effective and holistic manner.

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 Monday 25 October 2021.

Core modules

Enhanced Masters Dissertation in Cyber Physical Systems

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

Enhanced Masters Research Project in Cyber Physical Systems

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

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 Monday 25 October 2021.

Learning and assessment

How you will learn

  • Lectures
  • Tutorials
  • Seminars
  • Computer labs
  • Project work

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

You will work in lecture theatres, seminar rooms 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.

As a guide, one credit is equal to approximately 10 hours of work.

Entry requirements

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

Undergraduate degree2:1 (or international equivalent) with an affinity for programming evidenced through prior study or practical experience detailed in the application.

Applying

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

How to apply

Fees

All listed fees are per year of study.

Qualification MSc
Home / UK £6,000 in year 1
International £17,667 in year 1

Additional information for international students

If you are a student from the EU, EEA or Switzerland, you will pay international tuition fees in most cases. If you are resident in the UK and have 'settled' or 'pre-settled' status under the EU Settlement Scheme, you will be entitled to 'home' fee status.

Irish students will be charged tuition fees at the same rate as UK students. UK nationals living in the EU, EEA and Switzerland will also continue to be eligible for ‘home’ fee status at UK universities until 31 December 2027.

For further guidance, check our information for applicants from the EU.

These fees are for full-time study. If you are studying part-time, you will be charged a proportion of this fee each year (subject to inflation).

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 may 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.

We also offer a range of international masters scholarships for high-achieving international scholars who can put their Nottingham degree to great use in their careers.

Check our guide to find out more about funding your postgraduate degree.

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.

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

International students who complete an eligible degree programme in the UK on a student visa can apply to stay and work in the UK after their course under the Graduate immigration route. Eligible courses at the University of Nottingham include bachelors, masters and research degrees, and PGCE courses.

Graduate destinations

The fourth industrial revolution is coming. Artificial intelligence, machine learning and cyber physical systems are all changing how we live and work.

With the skills gained from this degree, you could be developing the technology of the future. Careers could be in:

  • cyber security
  • financial technology (fintech)
  • networked systems
  • robotics and autonomous systems
  • smart product and service design and development
  • artificial intelligence engineering

You may choose to continue your research in this area with a PhD. 

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. 

Career progression

96.4% of undergraduates from the School of Computer Science secured graduate level employment or further study within 15 months of graduation. The average annual salary for these graduates was £28,895.*

* HESA Graduate Outcomes 2020. The Graduate Outcomes % is derived using The Guardian University Guide methodology. The average annual salary is based on graduates working full-time within the UK.

Two masters graduates proudly holding their certificates
" I'm an Associate Professor in the School of Computer Science. I teach modules in data science and artificial intelligence, as well as supervising MSc dissertation projects on a wide range of topics. I'm also involved in a research project using AI for finding and correcting bugs in code, and I'm writing a book about study skills for PhD students. "

Related courses

This content was last updated on Monday 25 October 2021. 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.