Department of Information and Computing Sciences

Departement Informatica Onderwijs
Bachelor Informatica Informatiekunde Kunstmatige intelligentie Master Computing Science Game&Media Technology Artifical Intelligence Human Computer Interaction Business Informatics

Onderwijs Informatica en Informatiekunde

Vak-informatie Informatica en Informatiekunde

Concurrency

Website:website met extra informatie
Vakcode:INFOB3CC
Studiepunten:7.5 ECTS
Historie:Dit vak is de opvolger van Gedistribueerd programmeren (INFOGDP). Je kunt maar een van beide vakken voor je examen opvoeren
Periode:periode 2 (week 46 t/m 5, d.w.z. 11-11-2019 t/m 31-1-2020; herkansing week 16)
Timeslot:C
Deelnemers:tot nu toe 207 inschrijvingen
Rooster:De officiële roosters staan in Osiris
Docenten:
vormgroeptijdweekzaaldocent
college          Trevor McDonell
werkcollege groep 1        Ivo Gabe de Wolff
Erwin Glazenburg
groep 2        Trevor McDonell
Hugo Peters
Yorick Kooij
groep 3        Jonathan de Jager
Youri Rombouts
Inhoud:

Note: this course is taught in English.

The course introduces concepts of concurrency and parallelism through the programming language Haskell.

Concrete topics treated in this course include explicit management and synchronisation 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 behaviour when executed concurrently.

Literatuur:
  • Slides from the lectures
  • Recommended reading: Parallel and Concurrent Programming in Haskell by Simon Marlow
Werkvorm:

The load per week is:

  • 2 × 2 hour lectures, on Tuesdays and Thursdays
  • 2 × 2 hour werkcollege, on Tuesdays and Thursdays

Attendance is not strictly mandatory (albeit recommended).

Toetsvorm:

The final grade depends on the two exams and the assignments.

  • The theory grade is T = 0.4 × grade of mid-term + 0.6 × 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
Inspanningsverplichting voor aanvullende toets:Om aan de aanvullende toets te mogen meedoen moet de oorspronkelijke uitslag minstens 4 zijn.
wijzigen?