Programmering 2

Programmering 2 (dProg2) (Efterår).

Målbeskrivelse:

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.