Aan het eind van de cursus kunnen studenten:
- Een gegeven probleem oplossen door middel van programma geschreven in een moderne functionele taal zoals Clean of Haskell.
- Voor een gegeven probleem een qua tijd- en ruimtegedrag geschikte datastructuur kiezen.
- Moderne programmeertaalconcepten kennen en inzetten, zoals hogere-orde functies, polymorfie, overloading, recursieve algebraïsche datastructuren zoals lijsten en bomen.
- Redeneren over functionele programma’s.
|
|
Functioneel programmeren is een programmeerdiscipline die gebaseerd is op het wiskundige concept “functie”. Door gebruik te maken van (hogere orde) “pure” functies, algebraïsche datastructuren en een sterk maar tevens flexibel typeringssysteem ontstaat een krachtige programmeertaal waarin op compacte en inzichtelijke wijze berekeningen kunnen worden uitgedrukt. Het goed doordachte onderliggende wiskundige berekeningsmodel (lambda-calculus, term-herschrijven) maakt het mogelijk over programma’s te redeneren met behulp van eenvoudige wiskundige technieken zoals substitutie en volledige inductie.
Functionele talen spelen al decennia een vooraanstaande rol in het informaticaonderzoek naar nieuwe (programmeertaal)concepten. Ze spelen ook een belangrijke rol binnen de kunstmatige intelligentie. Vanwege hun grote uitdrukkingskracht worden ze in toenemende mate gebruikt voor het ontwikkelen van complexe software systemen. |
|