Course overview

The development and use of machine learning (ML) and artificial intelligence (AI) have revolutionised areas such as computer vision, speech recognition and language processing.

On this course you will learn how to apply ML and AI techniques to real scientific problems. This will help you build vital skills, enhancing your employability in a rapidly expanding area.

Graduates of this course will learn how to:

  • identify and use relevant computational tools and programming techniques
  • apply statistical and physical principles to break down algorithms, and explain how they work
  • design strategies for applying machine learning to the analysis of scientific data sets.

In addition, you will develop a broad set of transferable skills, including communication, critical thinking, and problem-solving. Previous students of this course have undertaken paid part-time internships with external partners.

Find out what our graduates say about the course on our Physics Blog.

You will have the opportunity to develop your own research project on a topic of your choice. Previous projects have looked at:

  • Deep Learning for drug discovery
  • Machine Learning for sustainable solvent selection
  • Quantum reinforcement learning
  • Supervised machine learning on a quantum computer
  • Deep Learning network for fatigue monitoring of wind turbine blades
  • Shaking all over – vibration cancellation at the atomic level
  • Using machine learning to automatically segment the placenta from pregnancy MRI scans
  • Machine learning assisted high-throughput computational screening of metal organic frameworks for biogas upgrading
  • Simulating the Universe
  • Detecting dark matter substructure in galaxies
  • Personalised modelling of cerebral blood flow from multi-modal features for early detection of dementia
  • Machine Learning natural product biosynthesis
  • Advanced natural language processing in Fintech

Why choose this course?


average starting salary

HESA Graduate Outcomes 2020, using methodology set by The Guardian.


for reach and significance of research impact across all physics units in the UK. 

Research Excellence Framework 2021


of our research is classed as ‘world-leading’ (4*) or ‘internationally excellent’ (3*)

Research Excellence Framework 2021


of postgraduates secured graduate level employment or further study within 15 months of graduation

HESA Graduate Outcomes 2020, using methodology set by The Guardian.

Research project

supervised by one or more academic staff members

Learn skills

for applying machine learning and AI techniques to real scientific problems

Course content

This course consists of 180 credits, split into 120 credits of taught modules during the autumn and spring semesters, and a 60 credit research project that is completed in the summer period.


Mathematics Bootcamp

Prior to delving into the intricacies of machine learning, students will undertake an intensive mathematics bootcamp. This will ensure you are equipped with the robust quantitative skills necessary for this course.


Core modules

Machine Learning in Science – Part 1 20 credits

This module will provide an introduction to the main concepts and methods of machine learning. It introduces the basics of supervised, unsupervised and reinforcement learning as applied to regression, classification, density estimation, data generation, clustering and optimal control. It will be taught via two sessions per week through a combination of fundamental concepts and hands-on applications.

Machine Learning in Science – Part 2 20 credits

This module will cover more advanced topics following from Machine Learning in Science Part 1, specifically the concepts and methods of modern deep learning. Topics include deep neural networks, CNNs, RNNs, GANs, LLMs, autoencoders, transfer learning, reinforcement learning, interpretable machine learning and Markov decision processes, cleaning data and handling large data sets The main project for the module is the self-driving PiCar, as seen in this video.

Applied Statistics and Probability 20 credits

Cover introductory topics in statistics and probability that could be applied to data analysis in a broad range of subjects.

Topics include:

  • common univariate probability distributions
  • joint and conditional distributions
  • parameter estimation (for example via maximum likelihood)
  • confidence intervals
  • hypothesis testing
  • statistical modelling

Consideration is given to issues in applied statistics such as data collection, design of experiments, and reporting statistical analysis.

Topics will be motivated by solving problems and case studies, with much emphasis given to simulating and analysing data using computer software to illustrate the methods.

Machine Learning in Science – Project 60 credits

You will carry out a substantial investigation in the form of a research project on the application of the machine learning techniques learned as part of the course to a scientific problem.

The study will be largely self-directed, with oversight and input provided by a supervisor from the School of Physics and Astronomy, School of Computer Science or School of Mathematical Sciences. The topic will be chosen from a list of potential projects provided by the schools in the Faculty of Science. The topic could be based on a theoretical and/or computational investigation, a review of research literature, and/or a combination of the two.

Optional modules

Professional Ethics in Computing 10 credits

This module looks broadly into professional ethics within the scope of the computing discipline. It covers a range of professional, ethical, social and legal issues in order to study the impact that computer systems have in society and the implications of this from the perspective of the computing profession. In particular, the module covers topics such as introduction to ethics, critical thinking, professionalism, privacy, intellectual and intangible property, cyber-behaviour, safety, reliability and accountability, all within the context of computer systems development.

Introduction to Practical Quantum Computing 10 credits

The purpose of this module is to provide an introduction to quantum computing with an emphasis on being able to run quantum circuits on existing and near-term quantum computers. It will introduce essential elementary concepts from quantum mechanics and quantum information, as well as exploring how quantum computers may be utilised in the context of machine learning.

It will introduce the language of quantum computing – qubits, unitary quantum gates, and quantum circuits – and will consider how quantum parallelism may provide an advantage over existing numerical methods. It will additionally cover the use of basic quantum programming languages with the goal of running simple quantum circuits on simulated and real quantum computers. The module will be accessible to all students of the MLiS MSc irrespective of whether they have any background in quantum mechanics.

Computer Vision 20 credits

You will examine current techniques for the extraction of useful information about a physical situation from individual and sets of images. You will learn a range of methods and applications, with particular emphasis being placed on the detection and identification of objects, image segmentation, pose estimation, recovery of three-dimensional shape and analysis of motion. These problems will be approached with both traditional and modern computer vision approaches, including deep learning.

Designing Intelligent Agents 20 credits

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.

Neural Computation

The aim of this module is to teach you how neural processes can be understood in computational terms and how they can be analysed using mathematical and computational methods.

Topics included:

  • biophysical and reduced models of neurons
  • models of networks (eg Hopfield networks, ring-attractors and rate networks)
  • models of synaptic plasticity and memory
  • perceptrons
  • unsupervised learning
  • neural coding
  • visual system
  • model fitting
Big Data Learning and Technologies 20 credits

'Big Data' involves data whose volume, diversity and complexity requires new technologies, algorithms and analyses to extract valuable knowledge, which go beyond the normal processing capabilities of a single computer. The field of Big Data has many different faces such as databases, security and privacy, visualisation, computational infrastructure or data analytics/mining.

'Big Data' involves data whose volume, diversity and complexity requires new technologies, algorithms and analyses to extract valuable knowledge, which go beyond the normal processing capabilities of a single computer. The field of Big Data has many different faces such as databases, security and privacy, visualisation, computational infrastructure or data analytics/mining.

This module will provide the following concepts:

  1. Introduction to Big data: introducing the main principles behind distributed/parallel systems with data intensive applications, identifying key challenges: capture, store, search, analyse and visualise the data.
  2. SQL Databases vs. NoSQL Databases: understand the growing amounts of data; the relational database management systems (RDBMS); overview of Structured Query Languages (e.g. SQL); introduction to NoSQL databases; understanding the difference between a relational DBMS and a NoSQL database; Identifying the need to employ a NoSQL DB.
  3. 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)
  4. Finally, we will dive into the data mining and machine learning part of the course, including data preprocessing approaches (to obtain quality data), distributed machine learning algorithms and data stream algorithms. To do so, you will use the Machine learning library of Apache Spark (MLlib) to understand how some machine learning algorithms (e.g. Decision Trees, Random Forests, k-means) can be deployed at a scale.
Statistical Foundations

In this module, the fundamental principles and techniques underlying modern statistical and data analysis will be introduced. You will gain experience in using a statistical package and interpreting its output. The course will cover a 'common core' consisting of:

  • statistical concepts and methods
  • linear models
  • probability techniques
  • Markov chains
Autonomous Robotic Systems 20 credits

This module introduces the main concepts of autonomous mobile robotics, providing an understanding of the hardware and software principles appropriate for control, spatial localisation and navigation. The module consists of theoretical concepts around robotic sensing and control in the lectures, together with a strong practical element for robot programming in the laboratory sessions

Simulation for Decision Support 20 credits

This module introduces you to three broad simulation paradigms commonly used in operations research and management science: system dynamics, discrete event, and agent-based. Covering topics such as the introduction to the principles of modelling and simulation, conceptual modelling, model implementation, and output analysis, you will become competent in choosing and implementing the correct method for your particular problem. You will spend around four hours per week in lectures and computer classes. 

Linear and Discrete Optimisation 20 credits

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

Optimization sits at the interface of computer science and mathematics. Optimization is considered one of the key techniques within the broad spectrum of artificial intelligence methods. Optimization focuses on making decisions instead of predicting or identifying patterns. Optimization is also one of the most important areas within operations research (OR), which is a discipline that uses modelling techniques, analytics and computational methods to solve complex problems in industry and business.

In this module, you will learn to interpret and develop algebraic models for a variety of real-world linear and discrete optimization 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 optimization, modelling and optimization software, multi-objective optimization, simplex method, and branch and bound method among others. Optimization 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. Optimization enables prescriptive analytics, in order to support and automate decision-making"

Handling Uncertainty with Fuzzy Sets and Fuzzy Systems 20 credits

This module focuses on handling uncertainty such as vagueness using fuzzy sets and similar approaches. It provides a thorough understanding of key topics such as:

  • the nature of uncertainty captured by fuzzy sets and associated links to human reasoning
  • inference using fuzzy sets
  • similarity of fuzzy sets
  • design and modelling of information via fuzzy sets
  • type-1 fuzzy sets
  • type-2 fuzzy sets
  • fuzzy logic systems
  • fuzzy set based applications
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 03 June 2024.

Due to timetabling availability, there may be restrictions on some module combinations.

In addition, this course offers alternative strands/pathways which allow you to select different combinations of core and optional modules to meet your interests and background. You will choose one of each of the following pairs of core modules.

Choice between computer science or mathematics focused ML module:

Machine Learning 20 credits

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
Statistical Machine Learning 20 credits

This module is a topic at the interface between statistics and computer science, concerning models that can adapt to and make predictions based on data. This module builds on the principles of statistical inference and linear regression to introduce a variety of methods of clustering, dimension reduction, regression and classification.

Much of the focus is on the bias-variance trade-off and on methods to measure and compensate for overfitting. The learning approach is hands-on; you will be using R extensively in studying contemporary statistical machine learning methods, and in applying them to tackle challenging real-world applications.

Choice between long or short computing module:

Programming 20 credits

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.

Scientific Programming in Python 10 credits

This module will introduce the Python programming language and its associated ecosystem, with a focus on the elements most applicable to scientific computing. You will begin by covering the essentials of pure Python, as well as installation, environment maintenance and version control issues. You will then introduce the 'numpy' module for efficiently dealing with array data, followed by plotting with 'matplotlib', and the various scientific tools in 'scipy7'.

The module will continue with a tour of various modules useful for different aspects of scientific programming, including data handling and analysis, symbolic mathematics, Monte Carlo sampling, tools for machine learning, and producing graphical and online interfaces.

Finally, you will cover areas of good software development, such as testing and profiling, as well as approaches for dealing with very large amounts of data or speed critical applications. 

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 03 June 2024.

Due to timetabling availability, there may be restrictions on some module combinations.

Learning and assessment

How you will learn

  • Lectures
  • Problem classes
  • Workshops

There is a range of core and optional modules, as well as alternative strands, which allow you to select core and optional modules in different combinations. This allows you to choose modules to fit your undergraduate background and personal interests.

Class sizes are typically around 20-40 students. 

The course is taught by experienced academics with a track record of application of machine learning to scientific research.

How you will be assessed

  • Practical exams
  • Coursework
  • Research project
  • Project work

Modules are assessed using a variety of individual assessment types which are weighted to calculate your final mark for each module. There will be a research project assessed by a 8,000 word report.

You will need an average mark of 50% to pass the MSc overall – you won't get a qualification if you don't achieve this. You will be given a copy of our marking criteria when you start the course and will receive regular feedback from your tutors.

Research project

During the summer period, you will concentrate on an independent research project which focuses on the application of machine learning methods to original scientific problems. These are provided by research groups from across the Faculty of Science.

The project involves writing a dissertation and is supervised by a member of the academic staff with the opportunity to collaborate with external partners and industry.

We also provide the exciting opportunity to pursue a paid industry internship  (part-time) alongside your research project. Our programme has a proven track record of offering numerous internships in the past, giving you the chance to gain practical experience and further enhance your skills.

Contact time and study hours

On a typical week during term you will work around 30 hours: 10 contact hours and 20 hours of self-study. 

Entry requirements

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

Undergraduate degree2.1 (or international equivalent) in one of the following areas: physics, mathematics, computer science, chemistry, engineering. A high 2.2, above 56%, (or international equivalent) may be considered if the applicant has relevant work experience or another supporting factor.


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

How to apply


Qualification MSc
Home / UK £12,750
International £30,750

Additional information for international students

If you are a student from the EU, EEA or Switzerland, you may be asked to complete a fee status questionnaire and your answers will be assessed using guidance issued by the UK Council for International Student Affairs (UKCISA) .

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

All students will need at least one device to approve security access requests via Multi-Factor Authentication (MFA). We also recommend students have a suitable laptop to work both on and off-campus. For more information, please check the equipment advice.

We do not anticipate any extra significant costs, alongside your tuition fees and living expenses. 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. Personal laptops are not compulsory as we have computer labs that are open 24 hours a day but you may want to consider one if you wish to work at home.

Due to our commitment to sustainability, we don’t print lecture notes. You are welcome to buy print credits if you need them.


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


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

Machine learning and artificial intelligence have become central for the economy and society. Our graduates have gone onto data science positions in industry or the financial sector. Some have continued their research to PhD level, while others have returned to their previous employers. 

Two masters graduates proudly holding their certificates
" The coding skills that I developed during my MSc have proven essential in the computational projects I have undertaken, involving analytical modelling and density functional theory (DFT) simulations. I am currently a PhD student at the University of Cambridge in the department of Material Science. "
Sunny Howard

Related courses

This content was last updated on Monday 03 June 2024. 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.