|Website:||website met extra informatie|
|Onderwijs:||Het vak INFOMFPLC wordt in 2013/2014 niet aangeboden.|
|Historie:||Dit vak is de opvolger van Introductie functioneel programmeren en G&O (INFOFPGO). Je kunt maar een van beide vakken voor je examen opvoeren|
|Nota bene:||Er is geen recente vakbeschrijving beschikbaar.|
Onderstaande tekst is een oude vakbeschrijving uit collegejaar 2008/2009
A crash course covering material that is part of our bachelor program. The course will give an introduction to functional programming using the programming language Haskell, including topics such as lambda calculus, pattern matching, user-defined algebraic datatypes, parametric polymorphism, type classes and lazy evaluation.
The course will also provide an introduction to regular and context-free languages, automata, grammars, parser combinators, and the translation of programs from concrete syntax into an internal representation.
For the first part of the course, we will use the following book:
Graham Hutton, Programming in Haskell,
For the part on languages and compilers, we will use lecture notes that will be made available via the course webpages.
The students are expected to study the course material individually. Instead of classic lectures, there will be two meetings per week to discuss questions and examples. At these meetings, it is expected that the students have already read the material leading up to this meeting, and tried to solve both practical and theoretical exercises accompanying the material.
The grade will be based on several assignments that have to be handed in at specific dates during the course period, and on a written exam consisting of two parts (FP and LC). The final grade is computed from the individual parts as follows:
All assignments have the same relative weight. Assignments that are not handed in count as 0.
|Inspanningsverplichting voor aanvullende toets:||Om aan de aanvullende toets te mogen meedoen moet de oorspronkelijke uitslag minstens 4 zijn.|
This course is intended as a quick introduction to topics that are essential for the ST master course. Almost all later ST courses require knowledge of functional programming, formal languages, and parsing. Extreme examples are the course on Compiler Construction and the course on Advanced Functional Programming, but even courses focusing on other areas assume familiarity with the mindset of functional programming.
The material covered by this course is therefore both important and extensive. Active participation is required. This means that students have to spend a significant amount of time reading the materials, getting familiar with the topics, work on the exercise, and to come up with questions, so that problems with understanding the concepts can be identified and addressed as early as possible.