Computer Laboratory

Wheeler Lectures

David Wheeler

The “Wheeler Lecture” is an annual series of distinguished lectures named after David Wheeler, one of the early pioneers of Computer Science. It usually takes place on a Wednesday in Lecture Theatre 1 of the William Gates Building.

David worked on the original EDSAC computer and wrote one of the first computer programs to be stored in a computer’s working memory. He pioneered the use of sub-routines and is particularly remembered for his work on data compression.

David Wheeler was elected a Fellow of the Royal Society in 1981, one of the earliest computer scientists to be so honoured. In October 2003, he was made a Fellow of the Computer History Museum for his invention of the closed subroutine, his architectural contributions to the ILLIAC, the Cambridge Ring, and computer testing.

David started his PhD in the University of Cambridge’s Computer Laboratory (then the Mathematical Laboratory) in the late 1940s, graduating in 1951. He then spent time at the University of Illinois before returning to the UK. He continued to work in the Computer Laboratory right up until his death, a decade after he had officially retired.

For further information about the Wheeler seminar series contact David Greaves.

Talks@cam entry

2015 – Butler Lampson: Hints and Principles for Computer System Design

Wheeler lecture 2015 The fourth Wheeler lecture will be given at the Computer Laboratory on Tuesday 26th May, 2015. The speaker will be Butler Lampson, Technical Fellow at Microsoft, and Adjunct Professor at the Massachusetts Institute of Technology.

Registration is now open for the 2015 lecture; please use the booking form if you wish to attend. Additionally the lecture will be followed by a drinks reception. When booking please indicate if you intend to stay for this.


I have many hints that can be helpful in designing computer systems, as well as a few principles. Two ways to organize them are:

  • Goals (What you want)—simple, timely, efficient, adaptable, dependable, yummy.
  • Methods (How to get it)—approximate, increment, iterate, indirect, divide and conquer.

Of course the goals are in conflict, and engineering is the art of making tradeoffs. Some simpler oppositions are:

  • For adaptable systems, between evolving and fixed, monolithic and extensible, scalable and bounded.
  • For dependable systems, between reliable and flaky, consistent and eventual.
  • For incremental methods, between indirect and inline, dynamic and static, experiment and plan, discover and prove.

It also helps to choose the right coordinate system, just as center of mass coordinates make many dynamics problems easier. For example, you can view the system state as a name→value map, or as an initial state and a sequence of operations that transform the state. You can view a function as code or as a table or as a sequence of partial functions. In the complex process of designing systems, both principles and hints can only be justified by examples of what has worked and what has not.

2014 – Jeannette M. Wing: Computational Thinking

The Computer Laboratory will celebrate the 10th Anniversary of women@CL on Wednesday 14th May 2014, and the Wheeler Lecture will be given on that day by Prof. Jeannette Wing.

My vision for the 21st Century: Computational thinking will be a fundamental skill used by everyone in the world. To reading, writing, and arithmetic, we should add computational thinking to every child's analytical ability. Computational thinking involves solving problems, designing systems, and understanding human behavior by drawing on the concepts fundamental to computer science. Thinking like a computer scientist means more than being able to program a computer. It requires the ability to abstract and thus to think at multiple levels of abstraction. In this talk I will give many examples of computational thinking, argue that it has already influenced other disciplines, and promote the idea that teaching computational thinking can not only inspire future generations to enter the field of computer science but benefit people in all fields.

Jeannette M. Wing is Corporate Vice President, Microsoft Research. She is on leave from Carnegie Mellon University, where she is President's Professor of Computer Science and twice served as the Head of the Computer Science Department. Further Biog.

2013 – Prof Sir Tony Hoare: Could Computers Understand Their Own Programs?

The Computer Laboratory celebrated its 75th anniversary on Wednesday 24th April, 2013. The annual Wheeler lecture was given that day by Sir Tony Hoare, Emeritus Professor of Computer Science at the University of Oxford, Principal Researcher at Microsoft Research and Honorary Member of the University of Cambridge Computer Laboratory. Abstract.

2012 – Bjarne Stroustrup: C++11 Style

The first Wheeler Lecture was held at the University of Cambridge Computer Laboratory on Wednesday 15 February 2012, at 16:00. The speaker was Bjarne Stroustrup who talked on C++11 Style. Abstract.