COMP 321: Design of Programming Languages

Schedule of Lectures

Here is a list of topics in roughly the order we will cover them. The exact topic on any given day is very likely to change.

Num Day Date Topics Covered Materials
1 M 07 Sep Overview
2 W 09 Sep Parsing notes, PFPL Ch1
3 M 14 Sep Operational Semantics notes, notes latex source, proof.sty
4 W 16 Sep Operational Semantics Lab (conditionals,sequencing,loops) lab handout, lab solutions
5 M 21 Sep Lab Solutions, Variables and Substitution notes
6 W 23 Sep More Variables, Functions notes
7 M 28 Sep Shared Memory Concurrency notes
8 W 30 Sep Concurrency Lab lab handout, some solutions
9 M 5 Oct Type Systems notes, PFPL Chapters 4,5,6
10 W 7 Oct Progress and Preservation notes, PFPL Chapters 4,5,6
11 M 12 Oct Product Types PFPL Chapter 10
12 W 14 Oct Substitution/Product Types Lab lab handout, lab solution, PFPL Chapter 3
13 M 19 Oct Sum Types, Recusive Types notes, PFPL Chapter 11
14 W 21 Oct Sum Types Lab lab handout
M 26 Oct Fall break
15 W 28 Oct Higher-order functions
16 M 2 Nov References
17 W 4 Nov ?
18 M 9 Nov ?
19 W 11 Nov Linear Typing
20 M 16 Nov Rust Basics
21 W 18 Nov Rust: Borrow Checking
22 M 23 Nov Rust: Borrow Checking II
W 25 Nov Thanksgiving Break
23 M 30 Nov Polymorphism
24 W 2 Dec Rust: Traits
25 M 7 Dec Existential Types
26 W 9 Dec Rust: Objects
Dec 15 to 18 Oral final exams