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, type classes, recursieve algebraïsche datastructuren zoals lijsten en bomen.
- Redeneren over functionele programma’s.
|
|
Functioneel programmeren is een stijl van programmeren 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. Vanwege hun grote uitdrukkingskracht worden ze in toenemende mate gebuikt voor het ontwikkelen van complexe software systemen.
|
|