By the end of the course you will be able to:
Assessment
The final grade depends on the two exams and the assignments.
- The theory grade is T = 0.5 × grade of mid-term + 0.5 × grade of final exam. You need T ≥ 5 to pass the course.
- The practical grade P = 0.2 × first practical + 0.4 × second practical + 0.4 × third practical. You need P ≥ 5 to pass the course.
The final grade is computed as F = 0.5 × T + 0.5 × P. If you have done all of the practicals and at least one exam, then the final result of the course is:
- Passed with grade F (rounded to half points) if F ≥ 5.5 and T ≥ 5 and P ≥ 5.
- Not passed with grade 5.0 if F ≥ 5.5 but T < 5 or P < 5
- Not passed with grade F otherwise
If you have not submitted one of the practical assignments, or have not taken any of the exams, then the final result is:
- AANV if F ≥ 4
- NVD otherwise
The repair test requires a least a 4 for the original test.
|
 |
|
The course introduces concepts of concurrency and parallelism through the programming language Haskell.
Concrete topics treated in this course include explicit management and synchronization of threads, as well as higher-level concurrency and parallelism abstractions. These ideas appear not only in Haskell, but in other modern languages such as C#, Scala, and Swift. An important part of the course is devoted to reasoning about the properties of concurrent programs.
The language Haskell imposes a strong separation between pure computations, which are always safe to execute in parallel, and those with side-effects, which may result in non-deterministic behavior when executed concurrently.
Course form
Per week 2 × 2 hour lecture and 2 × 2 hour tutorial). Attendance is not strictly mandatory (albeit recommended).
Literature
Slides from the lectures.
Recommended reading: "Parallel and Concurrent Programming in Haskell "by Simon Marlow
For more information see the course website: https://www.cs.uu.nl/docs/vakken/b3cc/index.html
|
 |
|