Окончил Королевский колледж Кембриджа, Имперский колледж Лондона и Уорикский университет, в котором получил степень доктора философии по информатике в 1974 году. По окончанию учёбы преподавал в университете Карнеги — Меллон, Лидском и Эдинбургском университетах.
В 1982 году начал преподавать в Гарвардском университете, в котором и работает по состоянию на 2014 год.