Studie van declaratieve talen (B-KUL-H04H5B)
Doelstellingen
De studenten maken grondig kennis met declaratieve programmeertalen.
Hierbij ligt de nadruk op het praktisch gebruik van een tweetal representanten van declaratieve talen, namelijk een logische en een functionele programmeertaal.
De belangrijkste doelstellingen van dit vak kunnen als volgt worden samengevat:
- De student kent de onderliggende principes van logische en functionele programmeertalen.
- De student kent de programmeertechnieken eigen aan logische en functionele programmeertalen.
- De studenten kent de basisprincipes van de uitvoeringsmechanismen van declaratieve talen.
- De student kan programma's schrijven en debuggen in een logische en in een functionele programmeertaal waarbij hij de handleiding van de taal mag gebruiken.
- De student kan de aangeleerde programmeertechnieken toepassen bij het schrijven van een uitgebreid programma.
- De student kan de aangeleerde talen plaatsen t.o.v. andere representanten van hetzelfde paradigma.
- De student kan vertrekkende van zijn verworven inzichten en vaardigheden zelf nieuwe gerelateerde ontwikkelingen in programmeertalen aanleren.
Begintermen
De student kent een programmeertaal en kan programmeren.
De student kan recursieve programma's schrijven.
Identieke opleidingsonderdelen
Dit opleidingsonderdeel is identiek aan de volgende opleidingsonderdelen:
H0N03A : Declarative Languages
Plaats in het onderwijsaanbod
Onderwijsleeractiviteiten
2 sp. Studie van declaratieve talen: oefeningen (B-KUL-H04H6a)
Inhoud
De oefeningen worden afgestemd op het programmeren in de aangeleerde declaratieve talen.
Toelichting werkvorm
Een tiental oefenzittingen waarin de studenten onder begeleiding van een assistent de aangeleerde stof verder verwerken door zelf programma's te schrijven in de aangeleerde talen. De oefeningen worden gemaakt op computer.
2 sp. Studie van declaratieve talen (B-KUL-H04H5a)
Inhoud
De volgende materie wordt behandeld:
- een logische programmeertaal, bv. Prolog
- basisconcepten: predicaten, unificatie, backtracking, selectiestrategie, specificatie met behulp van Hornclauses, procedurale en declaratieve lezing van logisch programma's, multidirectionaliteit
- Prolog: zuivere Prolog, negatie, (recursieve) datastructuren, ingebouwde predicaten, metapredicaten
- programmeertechnieken: data (feiten, termen), accumulatoren, memoizatie, door falen aangedreven iteratie, zoekproblemen in eindige toestandsruimten, metavertolkers, datastructuren met variabelen
- een functionele programmeertaal, bv. Haskell
- basisconcepten: functie, reductiestrategieën, call-by-need, lui/ strikt
- Haskell: algebraische datatypes, hogere-ordefuncties, mono- en polymorfe types, type classes, currying
- programmeertechnieken: structurele recursie, oneindige processen, list comprehension, pure functies en monadische input/output
- type-inferentie
- inzicht in de geschiedenis van, het onderzoek rond, en het landschap van declaratieve talen
- uitvoeringsmechanismen voor declaratieve talen en ontwikkelingen daaromtrent
Studiemateriaal
Studiekost: 76-100 euro (De informatie over studiekosten zoals hier opgenomen is indicatief en geeft enkel de prijs weer bij aankoop van nieuw materiaal. Er zijn mogelijk ook e- en tweedehandskopijen beschikbaar. Op LIMO kan je nagaan of het handboek beschikbaar is in de bibliotheek. Eventuele printkosten en optioneel studiemateriaal zijn niet in deze prijs vervat.)
Handboek: Soar with Haskell, T. Schrijvers, Packt Publishing, 978-1805128458.
Eigen cursusmateriaal.
Evaluatieactiviteiten
Evaluatie: Studie van declaratieve talen (B-KUL-H24H5b)
Toelichting
Het examen is open boek en wordt op computer gemaakt. Het examen telt mee voor 16/20 in de totale score.
De permanente evaluatie telt voor maximum 4/20 mee in het totaal. Tijdens elk college zullen de studenten individueel schriftelijk een korte vraag beantwoorden over een van te voren afgesproken deel van de cursus. Dit gebeurt open-boek. In elke les is er zo 0,5/20 te verdienen.
De permanente evaluatie kan niet overgedaan worden in de 2de examenkans.
Toelichting bij herkansen
De permanente evaluatie kan niet overgedaan worden in de 2de examenkans.