Labs
- 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
Purpose
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.
Administrative issues
Attendance: 50% required (7 labs) .
Exams:
date | medium | importance | content |
---|---|---|---|
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
Links
Lectures and exercises: bit.do/progdecl
Labs supplement (this page): stefan1niculae.github.io/haskell-labs
Moodle: moodle.fmi.unibuc.ro/course/view.php?=id=449
Contact
Stefan Niculae (Teaching Assistant) — [email protected]
Traian Serbanuta (Professor) — [email protected]