Date | Lesson # | Topics | Reference | Recitation | HW |
---|---|---|---|---|---|
23.10.22 | 1 |
Introduction OCaml |
Chapter 1 of "The Functional Approach to Programming" Real World OCaml utop log |
OCaml | |
30.10.22 | 2 |
OCaml Induction |
Chapters 2, 3.4.4, 3.4.6, 3.4.8 of "The Functional Approach to Programming" Chapters 3.1, 3.3 of "The Formal Semantics of Programming Languages" utop log |
Induction |
HW 1 Due 20.11.22 |
Friday, 11.11.22 08:00 -- 10:30 10:30 -- 13:00 |
3 | Natural Semantics | Chapters 1 and 2.1 of "Semantics with Applications" | Natural Semantics | |
13.11.22 | 4 | Structural Semantics |
Chapters 2.2, 2.3 and 3.1 of "Semantics with Applications" par2.cpp par3.cpp |
Structural Semantics | |
20.11.22 | 5 | Untyped Lambda Calculus |
Chapter 5 of "Types and Programming Languages" Y Combinator Call by name in Scala |
Untyped Lambda Calculus | HW 2 Due 11.12.22 |
27.11.22 | 6 | Simply Typed Lambda Calculus |
Chapters 9 and 12 of "Types and Programming Languages" Type Safety for C++ type0.cpp type1.cpp type2.cpp type5.cpp |
Simply Typed Lambda Calculus | |
04.12.22 | 7 | Type Inference |
Chapters 5.3 and 13 of "The Functional Approach to Programming" Chapter 22 of "Types and Programming Languages" Cornell CS3110 notes on type inference |
Type Inference | |
11.12.22 | 8 | Closure | Chapters 3 and 11 of "The Functional Approach to Programming" | Closure | HW 3 Due 08.01.23 |
18.12.22 Time change: 12:00 -- 14:00, 14:00 -- 16:00 |
9 | Imperative OCaml |
Chapter 4 of "The Functional Approach to Programming" Cornell CS3110 notes on Modular Programming utop log |
Imperative OCaml | |
25.12.22 | -- | No Class | Javascript | ||
01.01.23 | 10 | ||||
08.01.23 | 11 |
HW 4 Due 22.01.23 |
|||
15.01.23 | 12 | ||||
22.01.23 | 13 |