Harvard SEAS Logo

CS 152: Programming Languages


  Course information
  Course policies
  Lectures/schedule
  Assignments

CS 152: Programming Languages

NOTE: Schedule is subject to change.

Key to readings: M = Mitchell; W = Winskel; K = Krishnamurthi; P = Pierce. The readings are not required, but may help your understanding of the lecture material.

Many of the lecture notes here contain material from lecture notes of courses taught by Radu Rugina and Andrew Myers.

Lec. Date Topic Readings Notes Assignments
Dynamic semantics
126-Jan Intro to semantics
Small-step semantics
W Ch. 2,3,4. PDF
(updated 10-Feb)
228-Jan Inductive definitions and proofs PDF
32-Feb Large-step semantics
IMP: an imperative language
PDF
(updated 10-Feb)
HW 1 out
44-Feb Large-step operational semantics for IMP PDF
59-Feb Denotational semantics W Ch. 5.
M 4.3.
PDF
611-Feb Denotational semantics ctd.
Axiomatic semantics
PDF HW 1 due
716-Feb Axiomatic semantics ctd. W Ch. 6 PDF HW 2 out
818-Feb Lambda calculus M 4.2 PDF
923-Feb Lambda calculus encodings
Recursion
K Ch 22. PDF
Language features
1025-Feb Definitional translation PDF
112-Mar References
Continuation passing style
M Ch. 8. PDF HW 2 due
HW 3 out
124-Mar Control-flow constructs
Scope
PDF
Static semantics
139-Mar Simply-typed lambda calculus
Type soundness
M 6.1, 6.2.
K Chs 24-26.
P Ch 9
PDF
1411-Mar More types P Chs 11, 13 PDF HW 3 due
Spring Recess
1523-Mar MID TERM EXAM HW 4 out
1625-Mar Records and subtyping P 11.8, 15 PDF
(updated 15-Apr)
1730-Mar Parametric polymorphism P 23; M 6.4. PDF
(updated 15-Apr)
181-Apr Dependent types (Guest lecturer: Jeff Vaughan) P 30.5 PDF
196-Apr Type inference
Curry-Howard isomorphism
P 22; M 6.3 PDF
(updated 15-Apr)
HW 4 due
208-Apr Abstract interpretation PDF
(updated 26-Apr)
HW 5 out
More language features, and programming paradigms
2113-Apr Modules M 9.3, P 24 PDF
2215-Apr Object-oriented concepts M Ch. 10. PDF
2320-Apr Logic programming M Ch. 15. PDF
2422-Apr Term paper reports
2527-Apr Current trends in PL research HW 5 due