Vergelijkende studie van imperatieve programmeertalen (B-KUL-H04L5A)
Doelstellingen
- Studenten bouwen een diep inzicht op in essentiele programmeertaal-concepten
- Studenten doen praktische ervaring op met een aantal moderne programmeertalen, en verbeteren daardoor ook hun vermogen om nieuwe talen aan te leren
- Studenten leren het ontstaan en de diversiteit van ideeen in programmeertalen waarderen
- Studenten begrijpen ontwerp keuzes in huidige programmeertalen, en kunnen een geschikte programmeertaal kiezen voor een gegeven programmeer-probleem
Begintermen
Aanzienlijke programmeerervaring in minstens één programmeertaal.
Identieke opleidingsonderdelen
Dit opleidingsonderdeel is identiek aan de volgende opleidingsonderdelen:
H0S01A : Comparative Programming Languages
Plaats in het onderwijsaanbod
- Master in de toegepaste informatica (programma voor studenten gestart vóór 2024-2025) (Leuven) (Artificiële intelligentie) 60 sp.
- Master in de toegepaste informatica (programma voor studenten gestart vóór 2024-2025) (Leuven) (Software-ontwikkeling en gedistribueerde systemen) 60 sp.
- Master in de ingenieurswetenschappen: computerwetenschappen (Leuven) 120 sp.
- Educatieve master in de wetenschappen en technologie (Leuven) 120 sp.
Onderwijsleeractiviteiten
3.5 sp. Vergelijkende studie van imperatieve programmeertalen (B-KUL-H04L5a)
Inhoud
De lessen behandelen een aantal programmeertaal concepten, waaronder:
• concepten met betrekking tot naamgeving, zoals scoping en binding van variabelen, lexicale addressering, ...
• concepten met betrekking tot veranderlijke toestand en neveneffecten, zoals expliciete en impliciete referenties, pointers, mechanismen voor het doorgeven van parameters, ...
• concepten met betrekking tot de controle flow, zoals continuaties, threads, uitzonderingen, ...
• concepten in verband met typen, zoals statische type checking, type inferentie, type veiligheid, ...
• concepten met betrekking tot abstractie, zoals modules, objecten, klassen, abstracte data types, ...
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
Toelichting werkvorm
Opeenvolgende hoorcolleges behandelen de diverse concepten uit diverse programmeertalen.
- Studenten nemen vóór ieder hoorcollege het relevante deel van het cursusmateriaal door als kennismaking met de concepten.
- In de contactsessies worden de semantiek van de concepten besproken aan de hand van een omzetting van een gegeven stuk Java code naar diverse andere talen.
1 sp. Vergelijkende studie van imperatieve programmeertalen: oefeningen (B-KUL-H04L6a)
Inhoud
De oefeningen verkennen diverse programmeertalen. Studenten voeren een aantal kleine programmeeroefeningen uit die specifiek één of meer programmeertaalconcepten gebruiken.
Voorbeelden van programmeertalen die kunnen worden behandeld zijn: Scala, Ruby, Erlang, Clojure, Scheme, Racket, Self, ELM, JavaScript, C, ...
1.5 sp. Vergelijkende studie van imperatieve programmeertalen: opdrachten (B-KUL-H09P6a)
Inhoud
Studenten maken een of twee grotere programmeer-opdrachten, die ontworpen zijn om hen te helpen specifieke programmeertaal concepten te waarderen.
Evaluatieactiviteiten
Evaluatie: Vergelijkende studie van imperatieve programmeertalen (B-KUL-H24L5a)
Toelichting
De permanente evaluatie bestaat uit 1 of twee grotere programmeer-opdrachten die meetellen voor 25% van de punten.
Tijdens het examen in de zittijd mogen studenten het handboek, en een formularium met de code van de vertolkers bestudeerd in het handboek, gebruiken.
Toelichting bij herkansen
De permanente evaluatie kan niet worden herdaan voor de tweede examenkans. De score verkregen bij de eerste kans wordt gehandhaafd voor de tweede examenkans.