Functional Programming (ITI0212 - Spring 2025)
Lectures: Wednesday 12:00-13:30, ICO-217 (IT College Building)
Labs: Thursday 14:00 - 15:30, ICT-403 and Friday 14:00 - 15:30, ICO-410
Instructors: Matt Earnshaw, Kat Zhuchko
- Course specification/syllabus
- Discord (optional)
Homework assignments
To submit homeworks, commit your solutions to a private repository named iti0212-2025 on gitlab.cs.ttu.ee.
- Homework 1 due 12th March
- Homework 2 due 9th April
Course project
- Specification, due 9th May
Final exam
The final exam for ITI0212 will take the form of an individual live-coding demonstration. To be held between 14th May - 30th May. More details will be available nearer the time.
Lectures and Lab Sheets
(The exact topics and order are still subject to change.)
Week | Lecture Date | Topic | Lab | Video |
---|---|---|---|---|
01 | 05/02/2025 | Course Introduction | lab01 | none |
02 | 12/02/2025 | Inductive Types and Recursive Functions | lab02 | mp4 |
03 | 19/02/2025 | Parameterised Types and Polymorphic Functions | lab03 | mp4 |
04 | 26/02/2025 | Function Literals and Higher-Order Functions | lab04 | mp4 |
05 | 05/03/2025 | Type Classes I | lab05 | mp4 |
06 | 12/03/2025 | Type Classes II: Functors, Applicatives, Monads | lab06 | mp4 |
07 | 19/03/2025 | More Monads | lab07 | mp4 |
08 | 26/03/2025 | Indexed Types and Dependent Functions | lab08 | mp4 |
09 | 02/04/2025 | [No lecture] | ||
10 | 09/04/2025 | Dependent types in action | lab09 | mp4 |
11 | 16/04/2025 | Propositions as types I | lab10 | mp4 |
12 | 23/04/2025 | First-order logic | lab11 | mp4 |
13 | 30/04/2025 | Inductive equality | ||
14 | 07/05/2025 | Proving properties of programs | ||
15 | 14/05/2025 | Review |