The course will rely on two text books but PhD students should learn to
read texts on their own in case they have to work on something not quite
familiar but in their area—
Pierce. Types and Programming Languages.
Felleisen, Findler, Flatt. Semantics Engineering with PLT Redex. MIT Press 2009.
Krishnamurthi. Programming Languages: Applications and Interpretation.
Friedman, Wand. Essentials of Programming Languages (Third edition). MIT Press 2008.
These two undergraduate texts present the same topics from a hands-on perspective. They teach you how to construct interpreters, essential interpretation techniques, and a few applications of these techniques to domains other than programming languages. Many of you have covered this material in undergraduate courses. This course takes a look at this material from a research-oriented perspective.