FORMÅL
At den studerende lærer, hvordan man kan designe og implementere et
programmeringssprog og hvordan denne proces kan understøttes af
formelle definitioner af sprogets syntaks og semantik og teknikker
og metoder til oversætter- og/eller fortolke- konstruktion
BEGRUNDELSE
Al software er skrevet i et programmeringssprog og oversættes eller
fortolkes for at kunne eksekveres. Design, beskrivelse og
konstruktion af Programmeringssprog, oversættere, fortolkere og
lignende værktøjer er af den grund centrale emner i datalogi.
Projektarbejdet fokuserer derfor på at sikre, at de studerende forstår vigtige underliggende begreber i programmeringssprogenes verden, hvorfor disse begreber er opstået og hvordan de beskrives formelt og repræsenteres i en implementation. Forståelse af disse emner er fundamentale i forståelsen af nye og eksisterende programmeringssprog og deres anvendelsesmuligheder.
Ydermere anvendes mange teknikker og værktøjer, oprindeligt udviklet til sprog og oversættere, også i andre sammenhænge i programudvikling.
forstå og gøre rede for grundbegreberne i en formel definition af et programmeringssprogs syntaks og semantik
dokumentere kendskab til og overblik over de berørte teknikker og begreber inden for sprogdesign og oversætterkonstruktion
redegøre for de enkelte faser og sammenhængen mellem faserne i en oversætter eller fortolker
redegøre for de anvendte implementationsteknikker i den konstruerede oversætter/fortolker
benytte korrekt fagterminologi
beskrive et programmeringssprogs syntaks og semantik ved brug af relevante metoder til formelle definition
implementere en oversætter eller fortolker til et konkret programmeringssprog eller til en udvidelse til et eksisterende programmeringssprog
afteste den implementerede oversætter eller fortolker på alle niveauer: unit, integration og acceptance test
redegøre for konfigurationsstyring under udviklingen af oversætter eller fortolker
ræsonnere datalogisk om og med de berørte begreber og teknikker
vurdere anvendelse og anvendelighed af kendte værktøjer og teknikker til definition og implementation af programmeringssprog
forstå og gøre rede for hvordan konkrete sproglige begreber repræsenteres på køretidspunkter og i formel semantik
Projektarbejde
Fokus for projektet er en analyse af en datalogisk problemstilling, hvis løsning naturligt kan beskrives i form af design af et konkret programmeringssprog. Projektet omfatter en formel definition af relevante, centrale dele af dette programmeringssprog. Centrale dele af programmeringssproget realiseres ved konstruktion af en (prototype) oversætter/fortolker for sproget.
Digital understøttelse af kompetenceudvikling inden for konfigurationsstyring
Det forventes at den studerende bruger 30 timer per ECTS, hvilket for denne aktivitet betyder 450 timer.
Prøvens navn | Design, definition og implementering af programmeringssprog |
Prøveform | Mundtlig pba. projekt |
ECTS | 15 |
Tilladte hjælpemidler | Hjælpemidler er tilladt under udarbejdelsen af projektet, men ikke under eksamen. Regler ift. AI fremgår af semestersiden i MOODLE |
Bedømmelsesform | 7-trins-skala |
Censur | Ekstern prøve |
Vurderingskriterier | Vurderingskriterierne er angivet i Universitetets eksamensordning |
Kontakt: Studienævn for datalogi via cs-sn@cs.aau.dk eller 9940 8854
Engelsk titel | Design, Definition and Implementation of Programming Languages |
Modulkode | DSNCSITK221 |
Modultype | Projekt |
Varighed | 1 semester |
Semester | Forår
|
ECTS | 15 |
Undervisningssprog | Engelsk |
Tomplads | Ja |
Undervisningssted | Campus Aalborg |
Modulansvarlig |
Uddannelsesejer | Cand.scient. i datalogi (it) |
Studienævn | Studienævn for Datalogi |
Institut | Institut for Datalogi |
Fakultet | Det Teknisk Fakultet for IT og Design |