At sætte deltagerne i stand til at anvende funktionsprogrammering
ved løsning af praktiske såvel som mere teoretiske problemer.
Læringsmål:
En studerende, der fuldt ud har opfyldt kursets mål, vil kunne:
anvende funktionsprogrammering på praktisk forekomne
problemer
sætte sig ind i funktionelle teoridannelser og udnytte dem i
forbindelse med programkonstruktion
analysere ressourceforbruget for et funktionelt program
opstille et funktionelt programdesign
analysere et funktionelt programdesign
vurdere funktionsprogrammerings rolle i en
systemsammenhæng
give en kritisk analyse af program design
dokumentere et softwareprodukt kort og klart
Kursusindhold:
Kurset giver indsigt i avancerede emner indenfor
funktionsprogrammering og deres brug i forbindelse med konkrete
anvendelser. Der vil blive undervist i teoretiske emner. Disse vil
indgå i konstruktionsopgaver der er inspireret af praktisk og/eller
forskningsorienterede problemer.
Kursusforløbet er styret af 3 miniprojekter. Et miniprojekt er
afpasset en uges varighed og det opstartes ved forelæsninger og
øvelser som støtter op om emnet. Et miniprojektet resulterer i et
produkt i form af et program og en minirapport.
Kursets indhold ændres årligt. Eksempler på temaer:
Databaseanvendelser, ressourceplanlægning, parallel opsamling af
information, Apps til mobiltelefoner, domænespecifikke sprog,
afgørbarhedsprocedurer, fortolkere, analyseværktøjer, monadisk
programmering, højereordens parsning.
Bemærkninger:
Kurset er tænkt som en overbygning af 02157 Funktionsprogrammering,
som skal muliggøre en effektiv udnyttelse af funktionsprogramming i
forbindelse med efterfølgende kurser og projekter på
kandidatuddannelsen i Informationsteknologi, for eksempel indenfor
programanalyse, afgørbarhedsprocedurer, og analyseværktøjer til
indlejrede systemer.