We are one of the UK’s largest computing departments, in terms of the number of teaching and research staff. As a world research leader in Computer Science and software engineering, we are one of very few departments of any discipline that have been awarded the top rating in every Research Assessment Exercise. We have been awarded an ‘Excellent’ rating for our degrees, by the Higher Education Funding Council for England (HEFCE).

Computing is a broad and satisfying engineering discipline that uses your mathematical skills in new and interesting ways. At Imperial, we focus on problem-solving as a structured discipline, whose engineering principles address issues common to much of the technological world.

We take practical work very seriously. The only way to become a proficient software engineer is to be exposed to a wide range of computer systems, programming languages and tools, with specific engineering problems in mind.

The Department of Computing strongly values the quality of its teaching. You will be taught by experienced teachers as well as well known leading researchers from various fields of Computing Science.

Individual attention

teaching 1 Our relatively small annual intake means that every student gets individual attention. In our tutorial and small class teaching system we strive for personal development, as well as academicattainment.

Students each have a personal tutor who looks after their interests and advises them throughout their time at Imperial. During the first year each student also has a personal programming tutor, a personal maths tutor and a personal logic tutor.

In later years the various individual and group projects in which a student is involved are each supervised by a member of the teaching staff. Imperial has one of the best staff–student ratios in the country, and a team of dedicated teaching staff (meet our Teaching Fellows below).

The degree of personal attention we are able to give is an important element in producing our stimulating and informal atmosphere.

Practical engineering

Computing is a broad and satisfying engineering discipline that uses your mathematical skills in novel and interesting ways.

At Imperial we focus on problem solving as a structured discipline: its engineering principles address issues common to much of the technological world. We take practical work very seriously.

The only way to become a proficient software engineer is to have exposure to a wide range of computer systems, programming languages and tools, with specific engineering problems in mind.

In the first two years, there is a carefully planned programme of laboratory-based work where you solve problems of gradually increasing size and complexity. Each problem is designed to teach a specific aspect of Computing and, at the same time, to expose you to the various software and hardware tools best suited to solving each type of problem. The emphasis is very much on problem solving rather than on the teaching of specific technologies.

In the third year all students undertake a group project, which provides them with experience of what it’s like to work as part of a team.

In the final year (third year for BEng, fourth year for MEng) students undertake a major individual project spanning around eight months. This presents an exciting opportunity for students to put together the skills they have learnt throughout the course - including research and presentation skills -and apply them to a single large-scale problem, under the supervision of an academic adviser. The topics covered by individual projects vary enormously, from the very theoretical to the very practical.

The individual and group project work will give you experience of collaboration as well as concern for an end user’s needs. Imperial’s Undergraduate Research Opportunities Programme provides the opportunity to work with users in other departments across the College.

A wide range of subjects and skills

At degree level, computing is a creative and wide ranging subject, and very different from the information technology taught at school. For example, in our Department we are specially well known for:

  • the discovery of knowledge from large databases
  • computational finance
  • our work on logic and artificial intelligence
  • parallel computer architectures
  • distributed computing
  • the theoretical foundations of software development
  • the application of computers to medicine and biology

We offer a very large range of optional courses, each of which is right up-to-date and taught by a specialist in the field. We have one of the best-equipped departments in the country, with a first-rate technical support team, something only a larger department can afford.

All of this contributed to our being awarded an ‘Excellent’ rating for our degrees, from the Higher Education Funding Council for England (HEFCE). Our relatively modest annual student intake means that every undergraduate receives individual attention. With our tutorial and small group teaching system, we strive for personal development as well as academic attainment.

teaching 2

We believe it is important for our students to be rigorously educated in the fundamental ideas of Computing, in professional approaches to software engineering and in the methods of applying software to solve problems in industrial, commercial and scientific domains. With these skills, you will be able to adapt to change and use your knowledge creatively.

You will also take a course introducing the principles of organisation and management, with further options available in entrepreneurship, economics and law.

This gives you a practical and businesslike approach to supplement your technical knowledge. It will make you more marketable initially and also be an invaluable asset as you rise through management.

Although you will gain a wide variety of practical experience and skills in the latest software and hardware technology, our purpose at Imperial is not merely to train, but to teach the principles and methods thoroughly and to help you develop your problem-solving skills so that you can confidently face a future in which radical changes are bound to occur.

Awarded student work

The best student project work from Imperial is among the most impressive of any academic institution in the world.

In 2007 one of our students received the Microsoft Award for the Best Computational Science Student at the SET (Science, Engineering and Technology) Student of the Year Awards. The previous year at the same awards, one of our Joint Mathematics and Computer Science students received The GKN Award for the 2006 Science, Engineering & Technology Student of the Year and also the award for Best Mathematics Student.

One of our Computing students also won the The IET Award for the Best IT Student. The SET Student of the Year Awards are the UK’s most important accolades for science and technology undergraduates recognising exceptional achievements of both students and their universities.

Our Degrees

We offer BEng and MEng Degrees in both Computing and Joint Mathematics and Computing at the Undergraduate level.

At the postgraduate level, we offer degrees in:

As well as some joint degrees with Computing and integrated MRes or PhDs in Computing.

Timetable example (Year 1, UG Computing, Autumn term)

Time Monday Tuesday Wednesday Thursday Friday
09:00 Programming (Tut) Logic (Lec)      
10:00 Programming (Lec) Logic (Tut) Programming (Lec) Hardware (Lec) Personal mathematics tutorial (PMT)
11:00   Mathematical methods (Lec) Hardware (Tut) Hardware (Lec)
12:00 Advanced programming (Lec) Optional Applications of computing in industry     Logic (Lec)
14:00 Laboratory I Laboratory I Discrete mathematics (Lec) Personal programming tutorial (PPT)
15:00 Discrete mathematics (Tut) Laboratory I
16:00 Mathematical methods (Lec) Imperial Horizons courses Mathematical methods tutorial (MMT)
17:00 Mathematical methods (Tut)   Mathematical methods (Lec)

Teaching fellows

The Department of Computing places a high importance on the quality of teaching. In addition to academic staff the Department also employs a team of full-time Teaching Fellows (TFs), exclusively committed to teaching and the teaching infrastructure.

Each are educated to PhD level and obtained (or are in the process of obtaining) an advanced teaching qualification in university level education. TFs variously design courses, deliver lectures, act as year coordinators, administer the first and second year integrated laboratory programmes, group and individual projects, and various outreach activities.

One of the TFs also acts as the Senior Tutor for the first, second and third years. Two teaching fellows are responsible for MSc and some MRes admissions. TFs seek to innovate and improve the quality of the teaching and learning experience, refining the course content and teaching tools, and finding new ways to engage students in the coursework.


Photo of Dr Catarina FernandesDr Catarina Fernandes

Communications and Outreach

I teach all the 'transferable skills' courses for all years. I also co-ordinate the Topics, Ethics, Communicating Computer Science in Schools, and Academic Writing (MRes and PhD) courses. I am the webmaster for some of the pages on the department's website and I am responsible for the outreach programme.

I am also the Athena SWAN coordinator for the department

Photo of Dr Anandha GopalanDr Anandha Gopalan

3rd and 4th Year Undergraduate Coordinator


Photo of Dr Timothy KimberDr Timothy Kimber

MSc Admissions Tutor, MSc Coordinator

I currently teach courses in Prolog programming and algorithms. I am the coordinator of the Independent Study Option and MSc Individual Projects. I am also the coordinator of the MSc Advanced Computing and MSc Computing (Specialism) degree programmes.


    Dr. Fidelis Perkonigg

    MSc Admissions Tutor, MSc Coordinator

I currently teach courses in Object Oriented Design and Programming, and Software Engineering Practice. I am the coordinator of the Integrated Programming Laboratory, MSc Computer Science Group Projects, and MSc Individual Projects. I am also the coordinator of the MSc Computing Science degree programme.

Photo of Dr Maria Valera-Espina

Dr Maria Valera-Espina

Senior Tutor

I am a senior tutor for most of the UG students at the Department of Computing. I help on the first year programming labs and also I am part of the admissions team. Telecomms and its related fields (e.g. image processing) have always interested me; my first degree is MEng in Telecommunications.


    Dr Mark Wheelhouse

    2nd Year Undergraduate Coordinator

I am the Undergraduate Second Year Coordinator. It is my job to ensure the smooth running of the second year of our computer science degree. Much of my time is spent running the second year labs, but I am also helping out with the first year Reasoning about Programs course.

Teaching Fellows