|Website:||website containing additional information|
|Credits:||7.5 ECTS (=5.25 old credit points)|
|Period:||periode 3 (week 6 t/m 16, dwz 6-2-2006 t/m 21-4-2006; herkansing week 21)
|Participants:||up till now 17 subscriptions|
|Schedule:||Dit is een oud rooster!
|Contents:||In the bachelor courses Functional Programming and Grammars and Parsing a basic knowledge of functional programming techniques has been introduced. This course provides a follow up, and aims at showing specific functional programing techniques, patterns, libraries and tools. Many of the reserarch projects inside the department make use of functional programming, and this course aims at making you a proficient user of all the available programming environments.
Topics covered by the lectures include (but are not limited to):
- Glasgow Haskell Compiler (plus extensions and libraries)
- HAT tracer
- Haddock documentation generation
- Heap profiling
- Combinator Libraries
- Parsing libraries and grammar analysis
- Pretty Printing
- (Type-safe) database access (Haskell DB)
- Functional Reactive Animations
- Monadic programming
- Aspect oriented programming
- Meta programming (Template Haskell)
- Advanced Type Classes (multi-parameter, functional dependencies)
- Functional Data Structures
- Foreign Function Interface
- Debugging and tracing
- Space leaks
|Literature:||A collection of (research) papers. Available through the internet and electronic libraries. See web page for further details.|
|Course form:||Lectures and laboratory assignments. The lectures cover the list of topics mentioned above and are based on selected research papers. Participants are expected to read the material before the lectures.
The final exam is based on the topics of the lectures.
Additionally, all participants have to complete a number of lab exercises (in pairs), present one domain-specific embedded language (DSEL), and participate in a large programming assignment.
This programming assignment can, for instance, be inspired by one of the programming contests that are annually organized by the ICFP. A number of student teams (approximately 4 members) have to solve the problem posed by the contest, and compete against the other teams.
|Exam form:||Your final mark for this course will consist of:
The weighted average of the grades should be at least 5.5, but none of the grades may be smaller than 4.0. You may only improve your lowest grade, and you may improve only one of them. Hence if you have more than one grade lower than 4.0, then you cannot pass the course, and have to redo it entirely next year.
- marks for the lab exercises (25%)
- overall score for programming assignment (25%)
- presentation about a DSEL (25%)
- written examination (25%)
|Minimum effort to qualify for 2nd chance exam:||Om aan de aanvullende toets te mogen meedoen is ontbreken van ten hoogte 1 toetsactiviteit toegestaan.|