Functional Programming (ITI0212 - Spring 2024)
Lectures on Tuesday from 10:00-11:30 in ICO-316
Labs oo Wednesday from 10:00-11:30, and Friday from 12:00-13:30 in ICO-410
Instructors/TAs: Matthew Earnshaw, Ekaterina Zhuchko, Ian Erik Varatalu
Idris2 Resources
Idris2 Installation Instructions
Ian's Idris2 Windows Installation Notes
The Idris2 Online Documentation
The Idris Tutorial (Written for Idris 1 but also helpful for Idris 2)
The Idris Book (Also available from TalTech library)
Final Exam
Please click here for information on the final exam. Contact maearn@taltech.ee to schedule a time.
Homework Assignments and Course Project
There will be five small homework assignments and a (slightly larger) course project.
The Course Project is due 31/05/2024.
Homework 1 is due 01/03/2024.
Homework 2 is due 29/03/2024.
Homework 3 is due 19/04/2024.
Homework 4 is due 10/05/2024.
Homework 5 is due 31/05/2024.
Lecture Topics and Lab Sheets
Week | Lecture Date | Topic | Lab |
---|---|---|---|
01 | 30/01/2024 | Course Introduction | lab-01 |
02 | 06/02/2024 | Inductive Types and Recursive Functions | lab-02 |
03 | 13/02/2024 | Parameterised Types and Polymorphic Functions | lab-03 |
04 | 20/02/2024 | Function Literals and Higher-Order Functions | lab-04 |
05 | 27/02/2024 | Interfaces | lab-05 |
06 | 12/03/2024 | Input and Output | lab-06 |
07 | 19/03/2024 | Infinite Data | lab-07 |
08 | 26/03/2024 | Dependent Types | lab-08 |
09 | 02/04/2024 | Computation in Types | lab-09 |
10 | 09/04/2024 | Propositions as Types | lab-10 |
11 | 16/04/2024 | First Order Logic | lab-11 |
12 | 23/04/2024 | Inductive Equality | lab-12 |
13 | 30/04/2024 | Decidability and automation | lab-13 |
14 | 07/05/2024 | Record Types | lab-14 |
15 | 14/05/2024 | Review |
… To be continued