Date | Lesson # | Topics | Reference | HW |
---|---|---|---|---|
31.12.23 | 1 |
Introduction OCaml |
Chapter 1 of "The Functional Approach to Programming" Real World OCaml utop log |
|
7.1.24 | 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 |
HW 1 |
14.11.24 | 3 | Natural Semantics | Chapters 1 and 2.1 of "Semantics with Applications" | |
21.1.24 | 4 | Untyped Lambda Calculus |
Chapter 5 of "Types and Programming Languages" Y Combinator Call by name in Scala |
HW 2 |
28.1.24 | -- | KSHIRUT WEEK | ||
4.2.24 | 5 | 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 |
|
11.2.24 | 6 | 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 |
HW 3 |
18.2.24 | 7 | Logic Programming | Chapters 1,2,3,5 of "Prolog Programming for Artificial Intelligence" | |
25.2.24 |
8 | Javascript | Chapters 1 -- 9 of "Javascript: The Definitive Guide" | HW 4 |
3.3.24 | 9 | Closure | Chapters 3 and 11 of "The Functional Approach to Programming" | |
10.3.24 | 10 | Imperative OCaml |
Chapter 4 of "The Functional Approach to Programming" Cornell CS3110 notes on Modular Programming utop log |