CS 152: Programming Languages

NOTE: Schedule is subject to change.

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

The lecture notes here contain material from lecture notes of courses taught by Radu Rugina, Andrew Myers, and Nate Foster.

Videos of the lecture and section are available here. You can live stream lectures and sections here.

For background material on sets, relations, functions, and induction, see: W 2, H 2, H Appendix, and/or P 2.

Lec. Date Topic Readings Notes Assignments
Semantics
1Tue 29-Jan Intro to semantics
Small-step semantics
W 2,3,4
P 2.4, 3
H 2
PDF Assignment 0 released
2Thu 31-Jan Inductive definitions and proof PDF (slide)
3Tue 5-Feb Large-step semantics
IMP: a simple imperative language
PDF Assignment 1 released
4Thu 7-Feb IMP PDF
5Tue 12-Feb Denotational semantics W 5
M 4.3
PDF
6Thu 14-Feb Axiomatic semantics and Hoare logic W 6 PDF Assignment 1 due
Assignment 2 released
Lambda calculus
7Tue 19-Feb Lambda calculus P 5
M 4.2
K 22
PDF
8Thu 21-Feb Lambda calculus encodings and Recursion PDF
9Tue 26-Feb Definitional translations PDF Assignment 2 due
Assignment 3 released
10Thu 28-Feb References and continuations P 13
M 5,4, 8.3.2
H 29, 36
K 18-20
PDF
Types
11Tue 5-Mar Simply-typed lambda calculus
Type soundness
P 9
M 6.1, 6.2
K 24-26
PDF
12Thu 7-Mar More types P 11, 13 PDF Assignment 3 due
13Tue 12-Mar Type inference P 22 PDF
14Thu 14-Mar MID-TERM EXAM
Spring Recess
15Tue 26-Mar Polymorphism P 23
M 6.4
PDF Assignment 4 released
16Thu 28-Mar Records and Subtyping P 11.8, 15 PDF
17Tue 2-Apr Curry-Howard isomorphism P 9.4 PDF
18Thu 4-Apr Existential types and modules P 24 PDF Assignment 4 due
Assignment 5 released
19Tue 9-Apr Dynamic types PDF
20Thu 11-Apr Monads monads.hs
Language features and programming paradigms
21Tue 16-Apr Objects PDF Assignment 5 due
Assignment 6 released
22Thu 18-Apr Objects PDF
23Tue 23-Apr Concurrency PDF
24Thu 25-Apr Communication PDF
25Tue 30-Apr Current trends in PL Assignment 6 due