Functional programming
Beschrijving
Course goals
Learning Goals
By the end of the course you will be able to
- solve problems using a ‘functional approach’. That is, define what needs to be computed using techniques and concepts such as
- recursion,
- pattern matching,
- composition,
- higher order functions,
- algebraic data types,
- monads,
- immutable and persistent data structures, and
- laziness.
- reason about the correctness and the types of functions.
- develop a small, real world game in the functional language Haskell
Tests
- there is a midterm M which counts for 30% of the grade,
- there is a final exam F which counts for the remaining 70% of the grade.
Additionally,
- there is one large pass/fail assignment that you have to do in pairs, and that can gain you at most 0.4 bonus points P for the process and at most 0.4 bonus points R for the result (see below for details).
- there are 3 small pass/fail lab-assignments, out of which you need to pass at least 2.
Your final grade will be computed as min(0.3*M + 0.7*F + P + R, 10).
To pass the course
- the weighted average of the midterm and the final needs to be at least a 5,
- you need to pass the large practical assignment, and
- you need to pass at least 2 small assignments.
To qualify for the retake exam:
- your weighted average of the midterm and the final needs to be at least a 4,
- you need to pass the large assignment, and
- you need to pass at least one small assignment.
You cannot retake the large assignment.
Test matrix
The learning goals are tested in the following manner:
| Learning goal | Midterm | Final | Game | Small practicals |
| Solve problems using a functional approach, using techniques and concepts such as: | ||||
|
X | X | X | |
|
X | X | X | X |
|
X | X | X | |
|
X | X | X | |
|
X | X | X | X |
|
X | X | ||
|
X | X | ||
|
X | |||
| Reason about the correctness | X | |||
| and the types of functions. | X | |||
| develop a small, real world program in the functional language Haskell. | X |
Content
Additional information
Reviews0 reviews
Heb jij dit vak gevolgd?
Deel je ervaring met toekomstige studenten. Inloggen met je Universiteit Utrecht mailadres duurt één minuut.
Schrijf een review