This is Norman Ramsey's suggested readings for the material in his book. For papers not on this list, it may be worth searching the Collection of Computer-Science Bibliographies.

Required texts

Norman Ramsey, Programming Languages: Build, Prove, and Compare, draft manuscript, January 2014.
This is the main text for the course. It is a work in progress.

Recommended texts

Jeffrey D. Ullman, Elements of ML Programming (ML97 edition), Prentice Hall, 1998.

The best introduction to Standard ML for C programmers. You can complete 105 without owning this book—there are plenty of ML tutorials on the web—so whether you buy it depends on whether you prefer to save money or to save time.

Supplemental Readings

Particular Languages

C

ML

Scheme

Prolog

CLU

The main source for CLU is the book: Barbara Liskov and John Guttag, Abstraction and Specification in Program Development , MIT-Press / McGraw-Hill, 1986. There is a portable implementation of CLU.

Formal methods for Program Correctness

Memory Management

Theory and Formal Methods

Programming-Language Design

Writing

Miscellaneous Techniques, etc

Literate Programming

General Algorithms

UNIX

Programming Style

Immutable Strings

Floating-Point Arithmetic

Multiple-precision Arithmetic

Game-playing programs

Embedded languages

Continuation-passing style