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 [notebook] [pdf]  
33 21/10/19 M Programming with Lists [notebook] [pdf] Chapter 11 in PLCC, Chapter 3 in AoP
34 22/10/19 T Control in Prolog [notebook] [pdf] Chapter 11 in PLCC, Chapter 4 in AoP
35 23/10/19 W Control in Prolog [notebook] [pdf] Chapter 11 in PLCC, Chapter 4 in AoP
36 25/10/19 F Mutable(?) data structures [notebook] [pdf] Chapter 11 in PLCC, Chapter 15 in AoP
37 28/10/19 M Generate and Test [notebook] [pdf] Chapter 11 in PLCC, Chapter 14.1 in AoP
38 29/10/19 T Cuts and Negation [notebook] [pdf] Chapter 11 in PLCC, Chapter 11 in AoP
39 30/10/19 W Countdown, Type Inference and Program Synthesis [notebook] [pdf] Assignment 5 due
40 04/11/19 M Graph Search [notebook] [pdf] Chapter 14.2 in AoP
41 05/11/19 T Database Programming [notebook] [pdf]  
42 06/11/19 W Sudoku & Constraint Logic Programming [notebook] [pdf] Prolog WikiBook on CLP, SWI Prolog docs on CLP
43 11/11/19 M Sudoku & Constraint Logic Programming   Assignment 6 due
  13/11/19 W Summary & End Sem Review    
  19/11/19 T End Sem