PLP 5e cover

About the Authors

Michael L. Scott  is the Arthur Gould Yates Professor of Engineering and Chair of the Department of Computer Science at the University of Rochester.  He received his Ph.D. in computer sciences in 1985 from the University of Wisconsin–Madison.  From 2014–2015 he was a Visiting Scientist at Google.  His research interests lie at the intersection of programming languages, operating systems, and high-level computer architecture, with an emphasis on parallel and distributed computing.  His MCS mutual exclusion lock, codesigned with John Mellor-Crummey, is used in a variety of commercial and academic systems.  Several other algorithms, co-designed with Maged Michael, Bill Scherer, and Doug Lea, appear in the java.util.concurrent standard library.  In 2006 he and Dr. Mellor-Crummey shared the ACM SIGACT/SIGOPS Edsger W. Dijkstra Prize in Distributed Computing. 

Dr. Scott is a Fellow of the Association for Computing Machinery, the Institute of Electrical and Electronics Engineers, and the American Association for the Advancement of Science.  He received the University of Rochester&rsauo;s Robert and Pamela Goergen Award for Distinguished Achievement and Artistry in Undergraduate Teaching in 2001 and its William H. Riker Award for Graduate Teaching in 2020.  In 2018 he received the Lifetime Achievement Award of the Hajim School of Engineering and Applied Sciences. 

photo of Michael Scott

Jonathan Aldrich  is a Professor of Computer Science at Carnegie Mellon University.  He received his Ph.D. in Computer Science and Engineering in 2003 from the University of Washington.  His research centers on programming languages and type systems that are deeply informed by software engineering considerations.  His research contributions include modular and gradual verification of functional properties, typestate, and architectural structure, as well as the design of languages and type systems for usability.  In 2007 he received the Dahl-Nygaard Junior Prize, given for contributions to work on object orientation. 

Aldrich directed Carnegie Mellon’s Ph.D. program in software engineering from 2013 to 2019.  He has served as a program chair of programming language conferences such as OOPSLA and ECOOP, as well as general chair and steering committee chair of SPLASH.  Outside the university, Aldrich is the CTO of Noteful, a startup building an educational app for music theory and note reading.

photo of Jonathan Aldrich


Back to the book home page