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

Homework assignments

To submit homeworks, commit your solutions to a private repository named iti0212-2025 on gitlab.cs.ttu.ee.

Course project

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.

Resources

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