Note: Some of the graphical elements of this site are only visible to browsers that support accepted web standards. The content of this site is, however, accessible to any browser or Internet device.
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 Declarative Programming, Object Oriented Program Design, Operating Systems, Programming and a comprehensive programme of the Computing Laboratory.
During the first two weeks students do an intensive programming course, introducing them to an imperative programming language and to the operating system that they will be using during the rest of the course. From the third week all the other courses begin and each of these, apart from the laboratory programme, consist of lectures and supporting tutorials. During this term the students will be introduced to the team programming project and they will be allocated specific team programming projects to start in term two.
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 to 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. The optional courses include, Artificial Intelligence, Bioinformatics, Computer Networks and Distributed Systems, Computational Finance, Concurrent and Distributed Programming, Databases, Decision Analysis, Graphics, Multimedia Systems, Performance Analysis and Software Engineering. 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. By the end of the second term students are allocated a project and a supervisor.
Written examinations are held during the first three to four weeks of the third term; during the months from May to September, students undertake an individual project culminating in the presentation of a thesis. This is a full-time activity. Projects are undertaken at Imperial College or partly at external research institutions or companies in the UK or abroad. Where a project is external, 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 select five specialised courses from the following list and choose one team programming project from amongst a collection offered each year.
The choice of specialised courses is subject to specific lecture schedules in
any year.