Kurset omhandler begreber i programmeringssprog med henblik på konstruktion af store programmer. Der lægges vægt på en begrebsmæssig
forståelse af programmeringssprogs rolle i modellering af aspekter af anvendelsesområdet, konstruktioner til strukturering af store
programmer, samt værktøj til programudvikling.
Indhold:
Sproglige konstruktioner til understøttelse af objekt-orienteret tilgang til konstruktion af store programmer: Klasser og procedurer, virtuelle klasser og virtuelle procedurer, klasse og procedure variable. Nedarvning, kodegenbrug og komposition. Typebe-
greber, (stærk/svag) typecheck, metaklasser. Multiple handlingssekvenser, herunder korutiner og samtidige systemer. Undtagelseshåndtering. Databaser. Fordelte beregninger. Elementer af funktionel programmering, herunder variabelfri programmering og højere ordens funktioner.
Modularisering af store programmer: Modul, interface modul, implementations modul, alternative implementationer, varianter/versioner. Udviklingsværktøjer. Begrebsmæssigt fundament: Begreber (intension, extension, designation), aristoteliske og prototypiske begreber, klassifikation og komposition, informationsprocesser; perspektiver på programmering (procedurel, funktionel, begrænsningsorienteret og objektorienteret).
Forudsætninger:
Datalogi 1.
Undervisningsform:
Forelæsninger: 3 timer pr. uge.
Øvelser: 3 timer pr. uge.
Obligatoriske opgaver: Der stilles 1 obligatorisk opgave. Tilfredsstillende besvarelse af opgaven er en forudsætning for at kunne indstille sig til eksamen.
Evaluering:
En mundtlig prøve, som kan inddrage den obligatoriske opgave.
Bemanding:
Jørgen Lindskov Knudsen.
Belastning:
2 point.