Functioneel programmeren
-
Informatica
-
IB1602
-
5 EC
-
Vanaf € 384
-
Voor dit product gelden ingangseisen
Inhoud
Haskell heeft een krachtig typesysteem dat statisch de types van een programma controleert zonder dit programma uit te voeren. Met dit typesysteem kunnen vele soorten fouten in een programma vroegtijdig worden gedetecteerd. Alle types van een programma kunnen automatisch worden afgeleid, wat betekent dat het aantal verplichte typeannotaties voor een programmeur minimaal is. Toch is het wel een goede gewoonte om functietypes expliciet op te schrijven. Parametrische polymorfie (vergelijkbaar met Java Generics) en overloading van functies via typeklassen worden aan de orde gesteld. Ook leer je om via datatype-declaraties en typesynoniemen zelf nieuwe types te definiëren.
In de latere leereenheden komen nog enkele meer geavanceerde onderwerpen langs. Zo wordt gekeken naar de manier waarop input-output gerealiseerd kan worden in een taal waarin neveneffecten, zoals het wegschrijven van een bestand of het inlezen van een toetsaanslag, op een speciale manier plaatsvinden. In Haskell gebeurt dit met het wiskundige concept monad.
Verder wordt bestudeerd hoe expressies pas op het laatste moment uitgerekend worden (luie evaluatie) en waarom dit het mogelijk maakt om te werken met oneindige datastructuren. Als laatste wordt het principe van inductie uitgelegd om te redeneren over een programma en om simpele bewijzen mee op te stellen.
Naast het tekstboek is er een uitgebreid werkboek waarin de belangrijkste onderwerpen nog eens worden samengevat, moeilijke onderwerpen extra worden uitgelegd en waarin een veelheid aan opdrachten staat om zelf met de materie te oefenen. De cursus kent een bijzondere verplichting die bestaat uit twee practicumopdrachten. Beide opdrachten moeten met een voldoende worden afgesloten. Deze opdrachten maken het mogelijk om zelf aan de slag te gaan met de onderwerpen die zijn bestudeerd. De cursus wordt afgesloten met een schriftelijk openboektentamen over de hele stof van de cursus.
Ingangseisen
Toelichting aanmelden
Voorkennis
Begeleidingsvorm
Bij de cursus worden online bijeenkomsten aangeboden in de periode van september t/m november.
Begeleidingsbijeenkomsten
Studiedag Informatica en Informatiekunde, Utrecht
Kwartiel 1 - begeleider: dhr.dr. N. Naus
1. za 07-09-2024 / 12.00-13.30 uur / tijdig aanmelden via ou.nl/inf-studiedag
Online-bijeenkomsten
Kwartiel 1 - begeleider: dhr.dr. N. Naus
2. ma 16-09-2024 / 19.00-21.00 uur
3. ma 30-09-2024 / 19.00-21.00 uur
4. ma 14-10-2024 / 19.00-21.00 uur
5. ma 28-10-2024 / 19.00-21.00 uur
Docenten
Tentamenvorm
Tentamentoelichting
Tentamendata
Opdracht: volgens afspraak.
Tentamenhulpmiddelen
'Schoon' werkboek Functioneel programmeren
Het online woordenboek
De online rekenmachine
Het online woordenboek t.b.v. ANS