Schedule
| Lectures | Topic | Dates | Comments |
|---|---|---|---|
| 1 | Why PL? | 29/07 | |
| 2 | Why FP? | 30/07 | |
| 3 | Expressions | 30/07, 01/08 06/08 | WAT, CS3110 Expressions |
| 4 | Functions | 06/08, 07/08, 08/08, 12/08 | CS3110 Functions |
| 5 | Datatypes | 12/08, 13/08, 14/08 | CS3110 Datatypes and pattern matching |
| 6 | Pattern Matching | 14/08, 19/08, 20/08 | CS3110 Datatypes and pattern matching |
| 7 | Higher-order programming | 20/08, 21/08 | CS3110 Higher-order programming |
| 8 | Lambda Calculus: Syntax | 21/08, 22/08, 26/08 | TAPL Chap. 5, Peter Selinger’s lecture notes on lambda calculus Chap. 2 |
| 9 | Lambda Calculus: Semantics | 29/08, 02/09, 04/09 | TAPL Chap. 5, Peter Selinger’s lecture notes on lambda calculus Chap. 2 |
| 10 | Lambda Calculus: Encodings | 16/09, 17/09, 18/09 | TAPL Chap. 5, Peter Selinger’s lecture notes on lambda calculus Chap. 3 |
| 11 | Lambda Calculus: STLC | 19/09, 23/09, 24/09, 25/09 | TAPL Chap. 9, Peter Selinger’s lecture notes on lambda calculus Chap. 6 |
| 12 | (Side) Effects | 30/09, 01/10, 03/10 | CS3110 Mutability |
| 13 | Modular Programming | 03/10, 07/10, 08/10, 10/10 | CS3110 Modular Programming |
| 14 | Prolog Basics | 10/10, 14/10(TA) | Chapter 11 in PLCC |
| 15 | Logical Foundations | 14/10(TA), 15/10(TA) | Chapter 1, 2, 3.1 in Logic, Programming and Prolog 2ed |
| 16 | Solving a Logic Puzzle | 15/10(TA) | |
| 17 | Programming with Lists | 16/10(TA), 17/10(TA) | Chapter 11 in PLCC, Chapter 3 in AoP |
| 18 | Control in Prolog | 17/10(TA), 21/10, 22/10 | Chapter 11 in PLCC, Chapter 4 in AoP |
| 19 | Mutable(?) data structures | 22/10, 23/10, 24/10 | Chapter 11 in PLCC, Chapter 15 in AoP |
| 20 | Generate and Test | 24/10, 28/10 | Chapter 11 in PLCC, Chapter 14.1 in AoP |
| 21 | Cuts and Negation | 28/10, 29/10 | Chapter 11 in PLCC, Chapter 11 in AoP |
| 22 | Countdown, Type Inference and Program Synthesis | 30/10, 31/10, 04/11 |
Total lecture hours till (31/10) is (43).
The lectures are available as interactive notebooks. They are best accessed using docker container whose instructions are here.
Pop Quizzes
| Quiz | Date |
|---|---|
| 1 | 08/08 |
| 2 | 21/08 |
| 3 | 19/09 |
| 4 | 07/10 |
| 5 | 28/10 |
| 6 | 04/11 |