Lecture Notes
- Week 1
- Lecture 1: Introduction, Mon Sep 29
- Lecture 2: Natural Numbers, Wed Oct 1
- Lecture 3: Lists, Fri Oct 3
- Week 2
- Lecture 4: Natural Recursion, Mon Oct 6
- Lecture 5: Types, I, Wed Oct 8
- Lecture 6: Types, II, Fri Oct 10
- Week 3
- Lecture 7: A Bit of Tartness, Mon Oct 13
- Lecture 8: A Brief Intro to Haskell IO, Wed Oct 15
- Lecture 9: Rot-13, Fri Oct 17
- Week 4
- Lecture 10: Typeclassopedia Preliminaries, Mon Oct 20
- Lecture 11: Functors, Wed Oct 22
- Lecture 12: Monoid, Foldable, Fri Oct 24
- Week 5
- Lecture 13: Applicative, Alternative, Mon Oct 27
- Lecture 14: Monads Wed Oct 29
- Midterm Exam, Fri Oct 31
- Week 6
- Lecture 15: Monads: List, IO I, Mon Nov 3
- Lecture 16: Monads: IO II, Wed Nov 5
- Lecture 17: Monads: State I, Mon Nov 7
- Week 7
- Lecture 18: Monads: State II, Mon Nov 10
- Lecture 19: Functional Parsers, Wed Nov 12
- Lecture 20: Practical Parsing, Fri Nov 14
- Week 8
- Lecture 21: Monad Transformers, Mon Nov 17
- Lecture 22: Monad Transformers: Implementation, Wed Nov 19
- Lecture 23: Propositional Logic: Preliminaries, Fri Nov 21
- Week 9
- Lecture 24: Propositional Logic: Parsing, Mon Nov 24
- Lecture 25: Propositional Logic: Tautology Checker, Wed Nov 26
- Thanksgiving holiday, no class, Fri Nov 28
- Week 10
- Lecture 26: Standard Haskell Data Structures, Mon Dec 1
- Lecture 27: Sudoku: Logic based solver and generator, Wed Dec 3
- Reading period, no class, Fri Dec 5