MSc in Computing Science

Term 1

During the first term, students study compulsory foundational material. These are supplemented by laboratory exercises and courseworks. The compulsory courses include Computer Architecture, Logic and Artificial Intelligence Programming, Object Oriented Program Design, Operating Systems, Programming and a comprehensive programme of the Computing Laboratory.

During the first two weeks students are given an intensive programming course, introducing them to the imperative part of the object-oriented programming language C++, and to UNIX-based operating systems that they will use for the rest of the course. All other courses begin in week three and each of these consists of lectures and supporting tutorials.

Term 2

During the second term, students attend lecture courses selected from a set of specialist options, and work on team programming projects. The team programming projects extend over the whole of the second term and involve groups of five or six students. A member of academic staff acts as a customer and technical consultant, and ensures that the work is properly structured with regular meetings and appropriate documentation of the decision making process. Students learn about technical issues involved in managing a software engineering project through lectures and tutorials and put the techniques into practice through the team programming project.

The optional courses are listed below. The choice of optional courses and projects available to students may, to some extent, be restricted by the schedule of lectures and availability of staff. During the second term the students will be provided with the descriptions of all the individual projects and they are also given opportunities to propose their own project and discuss their feasibility and appropriateness with the staff. Once projects and  supervisor are allocated, students complete a background paper which is a  literature survey for the individual project that will be carried out in the Summer term. The background paper allows students to prepare for their project by reading essential material prior to commencing the project work.

Term 3

Written examinations are held during the first three weeks of the third term. During the months from May to September, students undertake, full-time, an individual project culminating in the presentation of a thesis. Projects are normally undertaken at Imperial College, but may be partly carried out at external research institutions or companies in the UK or abroad. Where a project is carried out externally, a member of academic staff is assigned to advise and monitor student progress. Project assessment is based on a written dissertation and a demonstration to the supervisor and a second marker.


Students must satisfy the examiners in two components:

1. Six written examinations,  held during the first three weeks of the summer term, and associated coursework or laboratory assignments and the team project assessment . There are four examinations covering the optional modules and two examinations covering the compulsory first term modules.
2. Completion of a dissertation based on the individual project.

The MSc degree is awarded with Pass, Merit or Distinction.

Individual Project

The individual project component of the MSc course provides an opportunity to undertake a substantial piece of software engineering and application development. It allows students to advance their knowledge of new and state-of-the-art technologies and further develop their specialisations. It usually involves covering the full range of activities from requirement analysis to system development, including integration, systematic testing, experimentation, evaluation and validation.

The project is undertaken under the supervision of a member of the academic staff. It is possible for a project to involve informal collaboration with one of the many industrial organisations with whom the Department has contacts, and a period of up to three months may be spent outside the College, as long as regular contact is maintained with the project supervisor. Details must be agreed beforehand with the Course Director.

 Students study Software Engineering Practice (with the team programming project) in the Spring term. Students choose their  project from a collection offered each year. The cho ice of specialised courses is subject to specific lecture schedules in any year.

Lecture Course Options

See the MSc Computing Science Course Options page. Students may like to form coherent pathways of advanced study. 


Please consult the Regulations for this Msc course for further details. But please keep in mind that regulations and structure of our MSc courses are subject to change.