- 5 Oct Introduction – Environment and setup
- 12 Oct Lab 1 – Basic functions (arithmetic, conditionals)
- 19 Oct Lab 2 – Lists and recursion
- 26 Oct Lab 3 – Operators, types and error handling
- 2 Nov Lab 4 – Advanced functions (HOF, composition, lambdas) and pairs
- 4 Nov Recap 1 – Solved test examples
- 11 Nov Test 1 – Note & rezolvare
- 16 Nov Lab 5 – Algebraic data types
- 23 Nov Lab 6 – Nothing, Either, exporting and polymorphism
- 7 Dec Lab 7 – IO, do notation
- 14 Dec Lab 8 – Advanced IO, recap 2
- 16 Dec Test 2 – Note & rezolvare
- 11 Jan Lab 9 – Monads
This supplement aims to be a quick-ref — between a lesson and a cheatsheet.
It has three purposes:
- help me organize what to write on the whiteboard
- help you quickly recap previous labs
- give you a quick run-down in case you skipped a lab (hopefully not used very often)
This page alone is not sufficient for the Declarative Programming class. It is not a substitute for solving the given exercises or for attending the lectures.
Attendance: 50% required (7 labs) .
|fri, 11 nov (week 6)||computer||40%||recursion (lectures 1-4)|
|fri, 16 dec (week 11)||paper||40%||data types (lectures 5-7)|
|10 feb (session)||paper||20%||monads (lectures 8-12)|
During exams you can bring your own downloaded/printed materials but network access is forbidden.
Bonuses (max 10%) for:
- current week’s optional exercises
- next week’s exercises in advance
Lectures and exercises: bit.do/progdecl
Labs supplement (this page): stefan1niculae.github.io/haskell-labs
Stefan Niculae (Teaching Assistant) — [email protected]
Traian Serbanuta (Professor) — [email protected]