Computer Science 342 studies functional programming and the ideas behind modern programming languages. To make the programming language ideas clear and precise, it uses interpreters.
This material reflects the Spring 1999 offering of the course, which has been in use for several years now. (In the distant past, we used MacLennan's book Principles of Programming Languages (Holt, Reinhart and Winston, 1987), but in Spring 1991 we switched to Samuel N. Kamin's book Programming Languages: An Interpreter-Based Approach (1990, Addison-Wesley Publishing Co., Inc.) in order to focus more on programming aspects. With the use of both Scheme and C++ in our introductory curriculum, we have now switched to Daniel P. Friedman, Mitchell Wand, and Christopher T. Haynes's book Essentials of Programming Languages, in order to focus more on programming language semantics and meta-programming.)