Computing students

Your Autumn term and academic year 2020–21

This course will begin on schedule in the Autumn and we plan to reopen our campuses. We are looking forward to seeing you in person, if travel and visa arrangements allow. If you can’t travel to campus in time for the start of term, we want to reassure you that your academic Department has made plans which make it possible to offer you a high-quality remote educational experience during the Autumn term.

Your  teaching will be a combination of on-campus (in-person) and remote learning (online). We call this ‘multi-mode’ delivery. Depending on official government guidance throughout the entirety of next academic year, the ‘multi-mode’ balance may be subject to change. We hope to be able to offer you increased on-campus teaching and learning activities throughout the year.

For more information about multi-mode delivery, your learning experience and the steps we’ll be taking to keep you safe on campus if you are able to join us, please see our COVID-19 information for applicants and offer holders.

Key information

Duration: 1 year full-time
Start dateOctober 2020
Location: South Kensington
ECTS: 90 credits

Applications are now closed


This course is aimed at students who have a substantial background in computing and want to study advanced computing concepts and technologies in more depth.

This taught postgraduate course offers you the opportunity to study a wide variety of topics in depth with dedicated experts.

It is aimed at students who have a substantial background in computing and who want to study advanced computing concepts and technologies in more depth.

The programme is suitable for students who are primarily interested in a career-orientated towards development and applications in industry, while the MRes in Advanced Computing is aimed at students interested in a research career either in the industrial or academic sector.

Professional accreditation

Our MSc in Advanced Computing is professionally accredited by the IET (Institute of Engineering and Technology).

Holding an accredited degree allows you to meet the academic requirement for registration as a Chartered Engineer (CEng). Registering as a Chartered Engineer will help provide improved career prospects, status, higher earning potential. It helps demonstrate your commitment to professional standards, the engineering profession and sustainable development.

The accreditation agreement with the IET is due to be renewed for students beginning these degrees in the 2023–24 academic year.


Modules shown are for the current academic year and are subject to change depending on your year of entry.

Please note that the curriculum of this programme is currently being reviewed as part of a College-wide process to introduce a standardised modular structure. As a result, the content and assessment structures of this course may change for your year of entry. We therefore recommend that you check this course page before finalising your application and after submitting it as we will aim to update this page as soon as any changes are ratified by the College.

Find out more about the limited circumstances in which we may need to make changes to or in relation to our courses, the type of changes we may make and how we will tell you about changes we have made.


Core modules

You take both of the core modules below.

MAC Individual Project (Summer)

Short Introduction to Prolog (Autumn)

Introduces the concept of logic programming and syntax and procedural reading of the Prolog language. Teaches the ability to write simple programs to query Prolog databases, and recursively process lists and other compound data structures.

Optional modules – Group 1

You choose one or two modules from below.

Prolog (Autumn)

Introduces declarative relational programming using the logic based programming language, Prolog. Focus is on writing small Prolog applications an artificial intelligence dimension.

Software Engineering for Industry (Spring)

Focuses on the tools, techniques, practices and principles software engineers use on a daily basis to successfully build, modify, maintain and grow the large software systems.

Optional modules – Group 2

You choose five to eight modules from below.

Advanced Computer Graphics (Spring)

Introduces modern techniques in realistic computer graphics and image synthesis, particularly image-based techniques for photorealism.

Advanced Issues in Object Oriented Programming (Autumn)

Discusses issues around the design and implementation of object oriented languages, the rationale and explore alternatives.

Advanced Robotics (Spring)

Addresses topics of advanced robotics, with a focus on real-time state estimation and mapping, with application to drones and Augmented and Virtual Reality.

Advanced Security* (Autumn)

Develops an advanced understanding of security topics from both a practical industrially-focused perspective, whilst also providing a storing research perspective.

Advanced Statistical Machine Learning and Pattern Recognition (Spring)

Provides the theoretical and computational skills to understand, design and implement modern statistical machine learning methodologies regarding statistical component analysis, statistical linear dynamical systems and other statistical models.

Argumentation and Multi-agent Systems (Spring)

Focuses on the foundations and advances in Multi-Agent Systems, specifically the concepts and implementation techniques required.

Body Sensor Networks in the Internet of Things* (Spring)

Introduces the concept of Body Sensor Networks (BSN) under the general principle of Internet of Things (IoT).

Complexity (Autumn)

Describes the complexity classes associated with computational problems, and the ability to fit a particular problem into a class of related problems, and so to appreciate the efficiency attainable by algorithms to solve the particular problem.

Computational Finance (Spring)

Introduces the basic concepts of quantitative finance and financial engineering, including hedging and pricing problems in finance, and how to formulate these problems as mathematical models, and understand the computational techniques to solve the arising models.

Computational Optimisation (Autumn)

Develops a deep understanding of optimal decision making models, algorithms and applications to engineering, finance, and machine learning.

Concurrent Processes* (Autumn)

Covers basics of the: process algebra, semantics of the pi-calculus, and the applications of the pi-calculus.

Cryptography Engineering (Spring)

Teaches how cryptographic techniques can be used to design and implement secure communicating systems for a variety of different needs and applications, and to do so by considering all aspects from theory to more practical issues.

Data Analysis and Probabilistic Inference (Spring)

Aims to teach how probability can be used to make decisions by a computer. Inference networks form a major part of the material along with linear and non-linear methods in statistical pattern recognition.

Independent Study Option (Spring)

Study an advanced computer science topic of your choice, ideal for those considering a PhD or a career in industrial research.

Knowledge Representation (Autumn)

Presents the theoretical foundations for the main logic-based formalisms used for knowledge representation and reasoning in AI, particularly non-monotonic logics and consequence relations, and the computational basis of logic programming.

Large Scale Data Management* (Spring)

Covers the evolution of database systems in face of new requirements (different access patterns, scalability, relaxation of transactional guarantees) and new hardware (storage class memory, SSD, main memory and multicores.

Mathematics for Machine Learning (Autumn)

Provides the necessary mathematical background and skills to understand, design and implement modern statistical machine learning methodologies, and inference mechanisms.

Medical Image Computing* (Autumn)

Covers the fundamental concepts and methodologies of medical image computing and image analysis and relates those to clinical applications in diagnosis, therapy and intervention.

Modal Logic* (Autumn)

Develops skills in modal logics for specification, knowledge representation and practical reasoning in artificial intelligence and software engineering.

Performance Engineering* (Spring)

Introduces the fundamental principles and techniques used in the performance engineering practice. The problems discussed throughout the lectures are common in industrial ICT practice.

Principles of Decentralized Ledgers* (Spring)

Decentralised ledgers (such as Bitcoin and Ethereum) have gained rapid popularity, attracting the attention of academics, entrepreneurs, economists, and policy-makers. They promise and already create new disruptive markets, and revolutionize how we think of money and financial infrastructure.

Privacy Enhancing Techniques* (Autumn)

Introduces the fundamental concepts and techniques underlying privacy-enhancing technologies across a variety of areas.

Probabilistic Model Checking and Analysis (Spring)

Quantum Computing (Autumn)

Introduces the basic notions of quantum computing with particular emphasis on quantum algorithms.

Reinforcement Learning* (Autumn)

Covers the foundations and standard methods of reinforcement learning. Reinforcement Learning (RL) is a growing sub-area of machine learning concerned with how an agent (computer, human or robot) should choose its actions in an environment so as to maximise some notion of (long-term) reward.

Scalable Distributed Systems Design* (Spring)

Provides an overview of the challenges when designing and engineering scalable distributed applications in data centre environments.

Separation Logic: Local Reasoning about Programs* (Autumn)

Introduces separation logic and associated verifications tools.

Software Reliability (Autumn)

Provides an overview of exciting recent research into techniques and tools which aim to help developers improve the reliability of their software.

Courses marked * are half courses, and 2 half courses is equal to 1 full course.

Optional modules – Group 3

You choose up to two modules from below.

Advanced Computer Architecture (Spring)

Develops a thorough understanding of high-performance and energy-efficient computer architecture, as a basis for informed software performance engineering and as a foundation for advanced work in computer architecture, compiler design, operating systems and parallel processing.

Advanced Databases (Autumn)

Provides detailed theoretical and practical knowledge of how database management systems (DBMS) are programmed in SQL, how DBMSs may be linked to form distributed databases, and how DBMSs operate and are tuned to improve performance.

Computer Vision (Autumn)

Introduces the concepts behind computer-based recognition and extraction of features from raster images.

Custom Computing (Spring)

Custom computers are special-purpose systems customised for specific applications such as signal processing and database operations, when general-purpose computers are too slow, bulky or power hungry. Development of custom computers is an expensive, time-consuming and error-prone activity. This module introduces approaches enabling the rapid and systematic design of custom computers.

Distributed Algorithms (Spring)

Covers key concepts, problems and results in distributed algorithms. Providing an introduction on how to reason about the correctness of distributed algorithms and practical experience of programming them.

Dynamical Systems and Deep Learning (Autumn)

Introduces Deep Belief Nets and Convolutional Neural Nets which provide the two main tools in Deep Learning.

Information and Coding Theory (Autumn)

Provides an advanced introduction to information and coding theory which is essential to computer security (e.g. differential privacy, side channel attacks, etc.).

Logic-Based Learning (Spring)

Gives a foundation of knowledge and basic principles of logic-based learning, to develop basic skills in algorithms and heuristics, and to form a logic-based learning task to solve a given learning problem.

Network and Web Security (Spring)

Covers network and web security broadly from the network to the application layer. The emphasis of the module is on the underlying principles and techniques, with examples of how they are applied in practice.

Systems Verification (Spring)

Introduces formal methods for system specification and verification. Particular prominence is given to logic-based formalisms and techniques, notably model checking.

Type Systems for Programming Languages (Autumn)

Entry requirements

We welcome students from all over the world and consider all applicants on an individual basis.


Minimum academic requirement

Our minimum requirement is a first-class degree in a subject with a substantial computing component.

International qualifications

We also accept a wide variety of international qualifications.

The academic requirement above is for applicants who hold or who are working towards a UK qualification.

For guidance see our Country Index though please note that the standards listed here are the minimum for entry to the College, and not specifically this Department.

If you have any questions about admissions and the standard required for the qualification you hold or are currently studying then please contact the relevant admissions team.

English language requirement (all applicants)

All candidates must demonstrate a minimum level of English language proficiency for admission to the College.

For admission to this course, you must achieve the higher College requirement in the appropriate English language qualification. For details of the minimum grades required to achieve this requirement, please see the English language requirements for postgraduate applicants.

How to apply

How to apply

Making an application

All applicants must apply online.

For full details on the online application process, please visit the admissions website.

You can submit one application form per year of entry. You can usually choose up to two courses.

ATAS certificate

An ATAS certificate is not required for overseas students applying for this course.

Tuition fees and funding

The level of tuition fees you pay is based on your fee status, which we assess based on UK government legislation.

For more information on the funding opportunities that are available, please visit our Fees and Funding website.

Tuition fees

Tuition fees (Home and EU students)

2020 entry

£15,500 per year

Fees are charged by year of entry to the College and not year of study.

Except where otherwise indicated, the fees for students on courses lasting more than one year will increase annually by an amount linked to inflation, including for part-time students on modular programmes. The measure of inflation used will be the Retail Price Index (RPI) value in the April of the calendar year in which the academic session starts e.g. the RPI value in April 2020 will apply to fees for the academic year 2020–2021.

Tuition fees (Overseas and Islands students)

2020 entry

£33,250 per year

Fees are charged by year of entry to the College and not year of study.

Except where otherwise indicated, the fees for students on courses lasting more than one year will increase annually by an amount linked to inflation, including for part-time students on modular programmes. The measure of inflation used will be the Retail Price Index (RPI) value in the April of the calendar year in which the academic session starts e.g. the RPI value in April 2020 will apply to fees for the academic year 2020–2021.

Postgraduate Master's loan

If you are a Home or EU student who meets certain criteria, you may be able to apply for a Postgraduate Master’s Loan from the UK government.

For 2019-20 entry, the maximum amount was of £10,906. The loan is not means-tested and you can choose whether to put it towards your tuition fees or living costs.


We offer a range of scholarships for postgraduate students to support you through your studies. Find out more about our scholarships to see what you might be eligible for.

There are a number of external organisations also offer awards for Imperial students, find out more about non-Imperial scholarships.

Accommodation and living costs

Living costs, including accommodation, are not included in your tuition fees.

You can compare costs across our different accommodation options on our Accommodation website.

A rough guide to what you might expect to spend to live in reasonable comfort in London is available on our Fees and Funding website.

Further information


Got a question?

T: +44 (0) 20 7594 8298

Social media icons: Instagram, YouTube, Facebook, LinkedIn, Twitter, Weibo

Join the conversation

Connect on social media

Get a first-hand account of life at Imperial.


News direct to your inbox

Receive the latest news about studying at Imperial.

Sign up to our newsletter

Studying at Imperial

London Eye

Living in London

London’s fusion of culture and charm will give you a student experience unlike any other.

Students outside the Union

Student finance

Our tuition fees website has everything you need to know about funding your studies.

Students at graduation

International students

Imperial is ranked as the UK's most international universitywelcoming students from over 140 countries.

Terms and conditions

There are some important pieces of information you should be aware of when applying to universities. We've put together this information in a dedicated section of our website.Makerspace

Read our terms and conditions for these areas: