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 Personal programming / mathematics tutorial (PPT/PMT) Mathematical methods (Lec) Programming (Lec)  Discrete Structures (Lec) Logic (Tut)
10:00   Mathematical methods (Lec) Mathematical methods tutorial (MMT) Discrete Structures (Lec) Personal programming / mathematics tutorial (PPT/PMT)
11:00 Programming (Lec) Discrete Structures (Lec) Programming (Lec)  Mathematical methods (Lec)
12:00 Programming (Lec)

Applications of Computing in Industry (Lec) 

  Personal programming / mathematics tutorial (PPT/PMT) Mathematical methods (Lec)
14:00 Laboratory I Laboratory I Hardware (Lec) Laboratory I
15:00 Hardware (Lec) Laboratory I
16:00 Logic (Lec) Imperial Horizons courses Hardware (Lec) Advanced Programming (Lec - optional)
17:00 Logic (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 is educated to PhD level and has obtained (or is 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.

MSc Admissions Tutor, MSc Coordinator

Photo of Dr Anandha Gopalan

Dr Anandha Gopalan

3rd and 4th Year Undergraduate Coordinator

I am the 3rd/4th year Undergraduate co-ordinator responsible for the smooth running of the 3rd and 4th years of our undergraduate degree. I co-ordinate the 3rd year Group Projects, as well as the final-year Individual Projects. I currently teach courses in Operating Systems (for the MSc Computing Science), Distributed Algorithms (for 3rd years) and Communicating Computer Science in Schools (for 3rd/4th years). I also help with the 3rd year Industrial Placements and am the Deputy Director of Industrial Liaison.
Photo of Dr Timothy Kimber

Dr 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.
Photo of Dr Fidelis Perkonigg

Dr Fidelis Perkonigg

MSc Admissions Tutor, MSc Coordinator

I currently teach courses in object oriented design and programming, software engineering, and computer networks. 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.
Photo of Dr Mark Wheelhouse

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 and developing LabTS (our in-house continuous automated testing system) but I also teach the first year "Reasoning about Programs" course and help supervise some of our group and final-year projects.

Dr Konstantinos Gkoutzis

1st Year Undergraduate Coordinator

I am the First Year Coordinator for undergraduate courses of the Department of Computing at Imperial College. I am here to help all our first year students with any issues they may be experiencing with their course. In parallel to this, I also teach the “Networks and Communications” module to the second year students, while offering Final Year Projects to third and fourth year students.
Teaching Fellows