- L1: Lazy evaluation, I/O, type classes
- L2: EDSL for geometric shapes and animations
- L3: Monads for interpreters
- L4: (Applicative) functors, deep embedding of DSLs
- L5: Applicative and monadic parsers
- L6: Monad transformers I
- L7: Monad transformers II
- L8: Equational reasoning in Haskell and Agda
- L9-TreeSort: Ordered search trees in Agda
- L10: Balanced search trees in Agda
- L11: Typed syntax in Agda
- L12 TypeBasedModelingI TypeBasedModelingII: A share of dependently typed programming in Haskell
- assignment1: Turtle graphics stubs
- assignment2: Replay monad stubs