Exam
The final exam consists of a practical programming part, followed by an optional oral exam:
- 30 points: In the programming exam, you will have 3 hours to solve one Racket assignment (15 points) and one Haskell assignment (15 points). You have to reach at least 16 points in total to pass the programming exam. You will have access to all course materials on this webpage, as well as the Racket documentation and Hoogle, but you will not have access to the internet.
- 20 points: You can take an optional 15-minute oral exam after you pass the programming exam. We will ask you about the theoretical underpinnings of functional programming, Racket, and Haskell. You can earn up to 20 extra points, and you cannot lose any points.
To be eligible for the exam, your homework solutions must meet at least the minimum requirements.
Programming exam details
Important
Please make sure you know your lab computer password. You can change it here.
Course material
Make use of the search feature (Ctrl+K / ⌘+K) on the course webpage!
The programming exam will consist of solving two of the tasks listed on this webpage - without access to their solutions. We suggest not looking at the assignments before you have time to solve them. Most of the tasks have a Racket and a Haskell version. During the exam you will have to solve one task in Haskell and one task in Racket. For example, an exam could look like:
You will have 3 hours for the whole exam, so you should be able to solve each task in roughly 90 minutes to get a perfect score.
You will upload your exam solutions to BRUTE, like you are used to from the homework, and get immediate feedback on how many points you achieved. You can upload your solution as many times as you want.
The exam dates for 2025 have not yet been decided.