Course Summary

The course is designed to acquaint graduate students with basic ideas behind modern programming language design, with a focus on functional languages. Topics include type systems, modularity, operational semantics, and others. Students are required to have some mathematical maturity including familiarity with proof techniques such as induction.

Course syllabus

Please see the PDF file.


Types and Programming Languages by Benjamin Pierce. We have put a copy of the textbook on reserve in the FM library.

Course category

Compilers/Languages/Software Systems


Instructor: Gang Tan; Packard Lab 329;

Email: gtan AT cse DOT lehigh DOT edu;

Office hours: Weds 1:30-3pm or by appointment

Time and location

TTh 2:35-3:50pm; Packard Lab 258