CS 3366 Programming Languages
Spring 2015

Computer Science Department
The College of Arts and Sciences
Boston College

About Staff Textbook Grading Resources FSharp.org
Library Piazza Schedule Canvas Problem Sets
There is one required text, one recommended text and three very good optional texts. We'll follow the required text fairly closely. The recommended textbook covers our programming language {\bf F#}. Two of the optional texts are for students who want to learn more about type systems and the formal semantics of programming languages.

Programming Language Concepts, by Peter Sestoft. (Required)

Programming Language Concepts (PLC) provides an introduction to programming language concepts and implementation technology, such as interpretation, compilation, type checking and type inference, abstract machines, and garbage collection.

PLC takes an operational approach to programming language concepts, interpreters and compilers, thus enabling practical exercises and experiments. It covers basic concepts such as abstract syntax, interpretation, stack machines, compilation, type checking, and garbage collection techniques. Also, it covers more advanced topics such as polymorphic types, type inference using unification, co- and contravariant types, continuations,

PLC is available in the BC Bookstore, directly through the publisher Springer-Verlag or through Amazon.

Functional Programming Using F#, by Michael R. Hansen, and Lyngby Hans Rischel. (Recommended)

This is an excellent introduction to progamming in F#. It is available through Cambridge University Press or Amazon.

Concepts in Programming Languages, by John C. Mitchell. (Optional)

This is an excellent overview of programming languages by one of the leaders in the field, John Mitchell. It was developed for an undergraduate course on programming languages taught at Stanford. Our course will not follow this book directly, but there is a good deal of overlap and the book can add a lot to your understanding of programming languages.

CIPL is available through Amazon, $68 new, $28 used as of August 16.

Types and Programming Languages, by Benjamin C. Pierce. (Not Required, Recommended for advanced study)

TAPL is an excellent but more advanced book by another leader in the field. TAPL provides a more theoretical and less implementation-oriented approach to PL than our course. It would be a good entree to graduate study in the field.

TAPL is on reserve in the O'Neill Library and is available through Amazon for about $51, a great investment for the serious computer science student.

The Formal Semantics of Programming Languages, by Glynn Winskel. (Not Required, Recommended for advanced study)

FSOPL is an excellent but more advanced book by yet another leader in the field. Like TAPL it provides a more theoretical and less implementation-oriented approach to PL than our course. It focusses on mathematical tools for specifying the meanings of programs. It would also be a good entree to graduate study in the field.

FSOPL is on reserve in the O'Neill Library and is available through Amazon for about $28, a great investment for the serious computer science student.

Created on 01-13-2015 13:14.