This is the Web site for Programming Languages: Application and Interpretation, often referred to by its initials as PLAI (pronounce it like “play”). Over the years well over fifty academic institutions (that I know of) have used PLAI.

PLAI is designed for upper-level courses that introduce the main ideas of programming languages. In the US, it is designed for students in their second- through fourth-years of college, as well as starting graduate students. However, PLAI has been used with students much younger, including in a few select high school classes.

The Current (Third) Edition

The third edition of PLAI is a significant reboot of the franchise. It is based on several bits of research into how students program, what they learn and don’t learn, and what they know entering an upper-level programming languages class. This requires a significant rethinking of both the what and the how. While I expect a lot of the existing material of PLAI will persist but in reorganized form, I’m not allowing myself to be constrained by the old formats.

I hope to start work on this during Fall 2021, but it will take 2–3 years to finish, because I expect to make several changes.

Previous Editions

The book is about to start its third edition.

Who am I?

I’m Shriram Krishnamurthi.

Tip Jar

If you find PLAI of value, please feel free to tip me on Patreon or Ko-Fi.