📖 Overview
Shriram Krishnamurthi is a computer scientist and professor at Brown University, recognized for his significant contributions to programming languages and computer science education. He is a core developer of the Racket programming language and has created several important software tools including debuggers, networking libraries, and the FrTime package.
As an educator, Krishnamurthi has made substantial impacts on computer science education through his involvement with the Bootstrap curriculum, which introduces programming concepts to middle and high school students. His work on integrating computer science into K-12 education has influenced how programming is taught to young learners.
Krishnamurthi's research and academic contributions have earned him notable recognition, including the SIGPLAN Robin Milner Young Researcher Award and the SIGSOFT Influential Educator Award. His work spans practical software development tools, programming language theory, and innovative approaches to computer science education.
Krishnamurthi completed his Ph.D. under the supervision of Matthias Felleisen and has since published numerous influential works in computer science. He continues to advance the field through his research at Brown University and his ongoing contributions to programming language development.
👀 Reviews
Readers consistently highlight Krishnamurthi's ability to explain complex programming concepts clearly. His textbook "Programming Languages: Application and Interpretation" receives particular attention for its practical approach and accessibility.
What readers liked:
- Clear explanations of difficult concepts
- Practical examples that build understanding
- Integration of theory with hands-on programming
- Thorough coverage of functional programming principles
What readers disliked:
- Some find the exercises too challenging
- Prerequisites not always clearly stated
- Limited coverage of certain advanced topics
- Text can be dense for beginners
Ratings across platforms:
Goodreads: 4.16/5 (38 ratings)
Amazon: 4.5/5 (12 ratings)
One reader noted: "The book taught me how to think about programming languages in a way no other resource has." Another mentioned: "Exercises push you to truly understand the material, though some are quite difficult without prior experience."
Software Engineering Stack Exchange users frequently recommend his work for learning programming language fundamentals, citing the balanced treatment of theory and practice.
📚 Books by Shriram Krishnamurthi
How to Design Programs
A comprehensive textbook that teaches systematic program design using Racket, focusing on design recipes and problem-solving strategies for beginners.
Programming Languages: Application and Interpretation A textbook that explores the implementation of programming languages, covering interpreters, type systems, and language semantics through practical examples.
Programming and Programming Languages An introductory programming text that integrates core computer science concepts with practical programming skills using Pyret.
JavaScript: From First Principles A systematic guide to JavaScript that covers the language's core concepts, focusing on fundamentals rather than frameworks or libraries.
Programming Languages: Application and Interpretation A textbook that explores the implementation of programming languages, covering interpreters, type systems, and language semantics through practical examples.
Programming and Programming Languages An introductory programming text that integrates core computer science concepts with practical programming skills using Pyret.
JavaScript: From First Principles A systematic guide to JavaScript that covers the language's core concepts, focusing on fundamentals rather than frameworks or libraries.
👥 Similar authors
Matthias Felleisen developed the How to Design Programs curriculum and created DrRacket, focusing on systematic program design and educational tools. His work on programming language semantics and educational approaches aligns with Krishnamurthi's focus on computer science education.
Hal Abelson co-authored "Structure and Interpretation of Computer Programs" and contributed significantly to MIT's computer science curriculum. He shares Krishnamurthi's commitment to improving computer science education and developing educational programming tools.
Dan Friedman wrote "The Little Schemer" series and focuses on teaching programming concepts through recursive thinking. His work on programming language design and educational materials reflects similar principles to Krishnamurthi's approach.
Mitchel Resnick created Scratch and leads research on creative learning technologies at MIT Media Lab. His work on making programming accessible to young learners parallels Krishnamurthi's efforts with Bootstrap.
Robert Harper contributes to programming language theory and type systems through books like "Practical Foundations for Programming Languages". His research on language semantics and verification connects with Krishnamurthi's work on programming language development.
Hal Abelson co-authored "Structure and Interpretation of Computer Programs" and contributed significantly to MIT's computer science curriculum. He shares Krishnamurthi's commitment to improving computer science education and developing educational programming tools.
Dan Friedman wrote "The Little Schemer" series and focuses on teaching programming concepts through recursive thinking. His work on programming language design and educational materials reflects similar principles to Krishnamurthi's approach.
Mitchel Resnick created Scratch and leads research on creative learning technologies at MIT Media Lab. His work on making programming accessible to young learners parallels Krishnamurthi's efforts with Bootstrap.
Robert Harper contributes to programming language theory and type systems through books like "Practical Foundations for Programming Languages". His research on language semantics and verification connects with Krishnamurthi's work on programming language development.