I have been inspired by the following books and tutorials throughout the time I have spent learning programming languages. These books very much shape my perspective on the course, though none entirely overlaps. If I had to pick just one, I would strongly recommend you read EOPL at some point.

  • Essentials of Programming Languages, EOPL
  • Structure and Interpretation of Computer Programs, SICP
  • LISP in Small Pieces
  • How to Design Programs, HtDP
  • Programming and Programming Languages, PAPL
  • Mitchell, Theories of Programming Languages
  • Matt Might’s blog