Schedule
The topics included in the schedule is neither sound (some of the listed topics may not be covered) nor complete (some unlisted topic may be included). The interactive notebooks are accessed using docker container whose instructions are here.
Lectures | Date | Day | Theme | Notebook | Comments |
---|---|---|---|---|---|
1 | 29/07/19 | M | Admin. Intro. Paradigms. | [notebook] [pdf] | Recommended exercise: Set up the course jupyter notebook. |
2 | 30/07/19 | T | Functional Programming | [notebook] [pdf] | |
3 | 31/07/19 | W | Expressions | [notebook] [pdf] | Chapter 2 CS3110 text book |
02/08/19 | F | Tutorial: Git, Docker, Jupyter | |||
4 | 05/08/19 | M | Functions | [notebook] [pdf] | Chapter 2 in CS3110 text book |
5 | 06/08/19 | T | Data Types | [notebook] [pdf] | Chapter 3 in CS3110 text book |
6 | 07/08/19 | W | Pattern Matching | [notebook] [pdf] | Chapter 3 in CS3110 text book |
09/08/19 | F | Tutorial: Git, Docker, Jupyter | |||
7 | 13/08/19 | T | Higher Order Programming | [notebook] [pdf] | Chapter 4 in CS3110 text book |
8 | 14/08/19 | W | Lambda Calculus: Syntax | [notebook] [pdf] | TAPL Chap. 5, Peter Selinger’s lecture notes on lambda calculus Chap. 2 |
9 | 16/08/19 | F | Lambda Calculus: Semantics | [notebook] [pdf] | TAPL Chap. 5, Peter Selinger’s lecture notes on lambda calculus Chap. 2 |
10 | 19/08/19 | M | Lambda Calculus: Review | Assignment 1 due | |
11 | 20/08/19 | T | Lambda Calculus: Encodings | [notebook] [pdf] | TAPL Chap. 5, Peter Selinger’s lecture notes on lambda calculus Chap. 3 |
12 | 26/08/19 | M | Lambda Calculus: Encodings | [notebook] [pdf] | TAPL Chap. 5, Peter Selinger’s lecture notes on lambda calculus Chap. 3 |
13 | 27/08/19 | T | Lambda Calculus: STLC | [notebook] [pdf] | TAPL Chap. 9, Peter Selinger’s lecture notes on lambda calculus Chap. 6 |
14 | 28/08/19 | W | Lambda Calculus: STLC | [notebook] [pdf] | TAPL Chap. 9, Peter Selinger’s lecture notes on lambda calculus Chap. 6 |
30/08/19 | F | Tutorial on Quiz1 portions | |||
15 | 03/09/19 | T | Lambda Calculus: STLC | [notebook] [pdf] | Assignment 2 due, TAPL Chap. 9, Peter Selinger’s lecture notes on lambda calculus Chap. 6 |
04/09/19 | W | Quiz 1 | |||
16 | 06/09/19 | F | Quiz 1 Review & (Side) Effects | [notebook] [pdf] | Chapters 8.7 to 8.16 in CS3110 Textbook, Imperative Programming, Real World OCaml |
17 | 10/09/19 | T | (Side) Effects | [notebook] [pdf] | Chapters 8.7 to 8.16 in CS3110 Textbook, Imperative Programming, Real World OCaml |
18 | 13/09/19 | F | Modular Programming | [notebook] [pdf] | Chapter 5 in CS3110 Textbook, Modules and Functors, Real World OCaml |
19 | 16/09/19 | M | Modular Programming | [notebook] [pdf] | Chapter 5 in CS3110 Textbook, Modules and Functors, Real World OCaml |
20 | 17/09/19 | T | Streams, Laziness & Memoization | [notebook] [pdf] | Chapters 8.1 to 8.4, 8.27 in CS3110 Textbook, Laziness & Memoization, Real World OCaml |
21 | 18/09/19 | W | Streams, Laziness & Memoization | [notebook] [pdf] | Chapters 8.1 to 8.4, 8.27 in CS3110 Textbook, Laziness & Memoization, Real World OCaml |
22 | 20/09/19 | F | Monads | [notebook] [pdf] | Chapters 8.22 to 8.26 in CS3110 Textbook, Cambridge Computer Lab: AFP: Monads |
23 | 23/09/19 | M | Monads | [notebook] [pdf] | Chapters 8.22 to 8.26 in CS3110 Textbook, Cambridge Computer Lab: AFP: Monads |
24 | 24/09/19 | T | GADTs | [notebook] [pdf] | UCam AFP Course: GADTs |
25 | 25/09/19 | W | GADTs | [notebook] [pdf] | UCam AFP Course: GADTs |
26 | 27/09/19 | F | GADTs | [notebook] [pdf] | UCam AFP Course: GADTs |
30/09/19 | M | No class : Convocation | Assignment 3 due | ||
27 | 01/10/19 | T | Prolog Basics | [notebook] [pdf] | Chapter 11 in PLCC |
28 | 09/10/19 | W | Logical Foundations | [notebook] [pdf] | Chapter 1, 2, 3.1 in Logic, Programming and Prolog 2ed |
29 | 11/10/19 | F | Logical Foundations | [notebook] [pdf] | Chapter 1, 2, 3.1 in Logic, Programming and Prolog 2ed |
30 | 14/10/19 | M | Solving a Logic Puzzle | [notebook] [pdf] | **Assignment 4 due (extended to 21/10) ** |
31 | 15/10/19 | T | Quiz 2 review | ||
16/10/19 | W | Quiz 2 | |||
32 | 18/10/19 | F | Quiz 2 solutions review & Programming with Lists | ||
33 | 21/10/19 | M | Programming with Lists | ||
34 | 22/10/19 | T | Control in Prolog | ||
35 | 23/10/19 | W | Control in Prolog | ||
36 | 25/10/19 | F | Mutable(?) data structures | ||
37 | 28/10/19 | M | Logic Programming | Assignment 5 due | |
38 | 29/10/19 | T | Logic Programming | ||
39 | 30/10/19 | W | Logic Programming | ||
40 | 04/11/19 | M | Logic Programming | ||
41 | 05/11/19 | T | Logic Programming | ||
42 | 06/11/19 | W | Logic Programming | ||
43 | 11/11/19 | M | Logic Programming | Assignment 6 due | |
13/11/19 | W | Summary & End Sem Review | |||
19/11/19 | T | End Sem |