Programmering af store systemer
MålKursets giver kendskab til centrale begreber, teknikker og værktøjer indenfor databaser og software arkitektur med speciel henblik på konstruktion af større programmer.
Der sigtes mod at skabe et bredt begrebsligt fundament såvel som praktisk erfaring med relationelle og objekt-orienterede databaser. Emneområderne her er teoridannelsen bag databaser, sproglige konstruktioner til definition og tilgang af data samt problemstillinger omkring integration mellem objekt-orienterede programmer og databaser.
Derudover fokuserer kurset på software pålidelighed, arkitekturkonstruktioner (design patterns og frameworks), software kvaliteter, sproglige konstruktioner til strukturering af store programmer, samt værktøjer til programudvikling.
IndholdBegrebsapparat og sprog for objekt-orienteret modellering: Begreber, klassifikation, komposition, relationer og notation.
Modeller for persistens, inklusive manuel og automatisk persistens samt databasesystemer.
Sprog til og fremgangsmåder for databasedesign.
Relationelle databaser, inklusive relationel algebra, datadefinition og -tilgang i SQL samt constraint-håndtering.
Integration mellem objektorienterede applikationsprogrammer og relationelle databaser, inklusive "impedance mismatch" problemet, oversættelse mellem datamodeller og interaktionsmekanismer med relationelle databasesystemer.
Objektorienterede databaser, inklusive sprog til definition og tilgang af data, samt integration med applikationsprogrammer.
Håndtering af samtidig databasetilgang, f.eks. transaktionshåndtering.
Software arkitektur, for eksempel design patterns, frameworks, og arkitektur kvaliteter.
Software kvalitet: Teknikker og værktøjer for systematisk test.
Sprogkonstruktioner til håndtering af store programmer, for eksempel moduler/pakker og undtagelseshåndtering.
Værktøjer for håndtering af store programmer, for eksempel software konfigurationsstyring, build-management, og testomgivelser.
ForelæsereMads Torgersen og Henrik Bærbak Christensen
KursusmaterialeGarcia-Molina, Ullman, Widom: Database Systems - The Complete Book, Prentice-Hall 2002 samt noter og kompendier
Obligatoriske opgaverFå (men store) obligatoriske opgaver. Et tilfredsstillende resultat er en forudsætning for deltagelse i eksamen.
ForudsætningerIntroduktion til Programmering Algoritmer og Datastrukturer
Forelæsninger2+1 timer/uge
Øvelser3 timer/uge
EksamenMundtlig eksamen, 13 skalaen, ekstern censur
SprogDansk
ECTS10
Kvarter1+2