Alan Mycroft is Professor of Computing in the
Computer Laboratory of Cambridge University;
he is also a Fellow at
and a co-founder of the
Raspberry Pi Foundation
for which he was also a Trustee 2008-2015.
A mini-CV is here (also Wikipedia's view).
Java 8 in Action:
Lambdas, streams, and functional-style programming
(Raoul-Gabriel Urma, Mario Fusco and Alan Mycroft).
NEW (2017): Second edition Modern Java in Action.
Recent (summer 2012) opinionated talks on Computing at School,
Raspberry Pi and Computational Thinking are based on
the more measured slides here.
There is also a mini two-lecture-style Course on Algorithms to excite Year 12&13 (age 16-18) students about university-level Computer Science.
At the Computer Laboratory he is part of the Cambridge Programming Research Group which is now incorporated into the Programming, Logic and Semantics Group. His research interests span an arc from semantic models of programming languages to actually building optimising compilers. A core interest is that of static analysis of programs to extract properties of their run-time behaviour. Such properties can be used to enable optimisations or to facilitate ``compile-time debugging''. His PhD created the subject of ``strictness analysis'' when he argued that apparent run-time inefficiencies in modern high-level languages can often be removed by program analysis and optimisation phases. Other work has encompassed type-based decompilation and also language and compilation issues for ``Silicon Compilers'', i.e.\ compiling specifications directly to hardware. In 2005/06 he held a ``Visiting Faculty'' position with Intel Research Cambridge involving developing languages and techniques for compiling to `multi-core' processors; this research illuminates the benefits of type-like systems of program analysis at enabling programmers to express and manage their implicit treaty with a compiler (``optimise as much as you can, but don't step over the line'').
He welcomes applications from potential PhD students in the above (or cognate) areas -- potential PhD applicants are encouraged to send a draft research proposal of their interests.
Here a list of Mycroft's research interests and a list of Mycroft's research papers.
Mycroft is a founder (and previously a board member) of EAPLS (European Association for Programming Languages and Systems) -- see the web page to become a member.
Current research projects [this section is a couple of years out of data]
Recently completed research projects are:
Here are items relevant to Cambridge University Teaching.
Here are some neat programming tricks including MIT's HAKMEM re-coded in C.