Introduction (Inleiding)
In this course advanced programming concepts will be taught. We will address - generic programming;
- combinatorical programming;
- iTasks;
- executable semantics;
- state handling in pure functional languages;
- advanced data structures.
|
Objectives (Leerdoelen)
Insight in some state-of-the-art advanced programming concepts, their theoretical background and their practical applicability.
|
Subjects (Onderwerpen)
- generic programming: theoretical background, overloading, type constructor classes, kind indexing;practical applications: common generic functions, web-applications, workflow applications;
- combinatorical programming (monadic programming);
- advanced concurrency concepts (Software Transactional Memory);
- advanced data structures (Generalized Algebraic Datatypes).
|
Study investment (Studielastverdeling)
- 32 hrs lecture
- 64 hrs laboratory course
- 16 hrs problem session
- 56 hrs individual study period
|
Teaching methods (Toelichting werkvormen)
There will be lectures introducing the topics and programming exercises where you will use these techniques.
|
Examination (Toetsvorm)
Written exam, closed book. The results of the exercises can contribute positively to your final grade.
|
Pre-requisites (Vereiste voorkennis)
Bachelor Computer Science.
|
Literature (Literatuur)
Scientific papers on the topics treated. These papers will be made available during the course.
|
Extra information (Bijzonderheden)
The course is part of the theme "Software Construction". For practical experience we use the state-of-the-art functional language Clean.
|