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
Digital understøttelse af kompetenceudvikling inden for konfigurationsstyring
Projektet tager udgangspunkt i 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. Fokus for projektet er konstruktion af en robust oversætter/fortolker for centrale dele af sproget
Det forventes at den studerende bruger 30 timer per ECTS, hvilket for denne aktivitet betyder 450 timer.
Prøvens navn | Design, definition og implementation af programmeringssprog |
Prøveform | Mundtlig pba. projekt |
ECTS | 15 |
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 | DSNSWB410 |
Modultype | Projekt |
Varighed | 1 semester |
Semester | Forår
|
ECTS | 15 |
Undervisningssprog | Dansk og engelsk |
Tomplads | Ja |
Undervisningssted | Campus Aalborg |
Modulansvarlig |
Studienævn | Studienævn for Datalogi |
Institut | Institut for Datalogi |
Fakultet | Det Tekniske Fakultet for IT og Design |