Computing students

Key information

Duration: 1 year full-time
Start date: October 2018
Campus: South Kensington
ECTS: 90 credits

Applications for 2018

Open to applications for 2018 entry
Apply now

Overview

This course specialises in the application of engineering to the design, development, and maintenance of software.

This taught postgraduate course is aimed at students who may not have studied computing exclusively but who have studied a considerable amount of computing already.

If you want to become a specialist in a particular area of computing, this course will provide a first crucial step towards that goal.

This course specialises in the application of engineering to the design, development, and maintenance of software. Study areas include computational finance; computer networks and distributed systems; computer vision; computing for optimal decisions; custom computing; databases; distributed algorithms; distributed systems; graphics; intelligent data and probabilistic inference; and an introduction to bioinformatics.

We also offer specialisms in:

Each specialism has a flexible mix of breadth and depth, consisting of two or three compulsory modules as well as choices from a selection of core and optional modules.

Structure

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

Structure

Core modules

You take all of the core modules below.

MSc Computing Science (Specialist) Individual Project (Summer)

MSc Software Engineering Group Project (Autumn and Spring)

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 1

You choose four to seven modules from below.

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.

Advanced Issues in Object Oriented Programming (Autumn)

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

Advanced Security* (Autumn)

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

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.

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.

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

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.

Modal Logic* (Autumn)

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

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.

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.

Pervasive Computing (Spring)

Pervasive, or Ubiquitous Computing, is the result of technology advancing at exponential rates, enabling computing devices to become smaller, more powerful and more connected.

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)

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.

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)

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

Optional modules – Group 2

You choose up to three 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 Computer Graphics (Spring)

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

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.

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.

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.

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.

Dynamical Systems and Deep Learning (Autumn)

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

Graphics (Spring)

Provides an understanding of basic concepts of computer graphics, and introduces the fundamental mathematical principles used for computer generated imagery, shading and light approximations.

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.

Machine Learning (Spring)

Provides the foundations to Machine Learning (ML) and an understanding of basic ML concepts and techniques. Uses Matlab to design, implement and test ML systems.

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.

Operations Research (Autumn)

Studies quantitative methods for decision making, and the emphasis is on numerical algorithms to solve constrained optimisation programs. The methods studied are applicable to problems in many areas: computer science, economics, logistics, and industrial engineering.

Quantum Computing (Autumn)

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

Robotics (Autumn)

Focuses on the field of mobile robotics both theoretically and practically. Covers wheeled locomotion, control, outward-looking sensors, mapping, place recognition and reactive behaviours.

Simulation and Modelling (Autumn)

Introduces system performance analysis and prediction using computer simulation and mathematical techniques (Markov Processes and queuing theory).

Extracurricular

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.

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)

2018 entry
£14,000

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 2019 will apply to fees for the academic year 2019–2020. 

Tuition fees (Overseas and Islands students)

2018 entry
£30,500

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 2019 will apply to fees for the academic year 2019–2020. 

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 of up to £10,280 from the UK government. The loan is not means-tested, and you can choose whether to put it towards your tuition fees or living costs.

Scholarships

We offer a range of scholarships for postgraduate students to support you through your studies. Try our scholarships search tool 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.

Admissions

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

For advice on the requirements for the qualifications listed here please contact the Department (details at the bottom of this page).

We also accept a wide range of international qualifications. If the requirements for your qualifications are not listed here, please see our academic requirements by country page for guidance on which qualifications we accept.

Admissions

Minimum academic requirement

Our minimum requirement is at least a 2.1 UK Honour's degree in science, engineering or computing.

Applicants must provide Graduate Record Examination (GRE) scores for Quantitative Reasoning and Verbal Reasoning. As well as entering the scores on the application form, applicants must ask the GRE organisation to send validating certificates to the department. We will consider only the first scores submitted.

While there is no minimum requirement for GRE scores, a strong application would include scores higher than 159 for Quantitative Reasoning and higher than 145 for Verbal Reasoning.

Admissions test

If sending via the online system please use 3007 Imperial College as the Institution Code and 0402 Computer Science as the Department Code.

If sending certificates by post, please address them to:

Mr Sam Hesketh
Department of Computing
180 Queen's Gate
London SW7 2AZ

Only the first set of GRE scores received will be considered, and we will not be able to assess an application until we have received the official certificate/online confirmation from the GRE organisation.

Find out more about the GRE.

International qualifications

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

We also accept a wide variety of international qualifications. For guidance see our Country Index though please note that the standards listed here are the minimum for entry to the College.

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 standard 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

All applicants must apply online.

You can usually apply for up to two courses, although your second choice will only be considered if your first-choice application is unsuccessful.

Most courses don't have a formal closing date, but popular courses close when they are full, so you should apply early to avoid disappointment. There may also be funding deadlines that apply to you.

You will need to upload documents with your applications, which may include transcripts and degree certificates.

Offer holders will need to pay a deposit to secure your place. This will be deducted from the balance of your tuition fees.

For full details on the online application process, or to start your application, please visit the How to Apply section of our website.

ATAS certificate

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

Contact us

Computing

Got a question?

T: +44 (0)20 7594 8303
E: doc-mscadmissions@imperial.ac.uk

Social media

Join the conversation

Connect with us online via our social media channels on Facebook, Twitter, Instagram and Snapchat to join in the conversation about all things Imperial!

Get a first-hand account of what life at Imperial is really like by checking out our student blogs.
Prospectus

Order a prospectus

For more information about Imperial and the courses we offer, you can download a PDF of our prospectus or request a printed copy.

Further information

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 proud to be the most international university in the UK, welcoming students from over 130 countries.