Kontraktbaseret Programmering 2 (Q2) ( efterår 2007 - 5 ECTS )
Rammer for udbud
-
Uddannelsessprog:
(se under Undervisnings- og arbejdsform)
-
Niveau:
Valgfrit overbygningskursus
-
Semester/kvarter:
Q2 i 2007
-
Timer per uge:
-
Deltagerbegrænsning:
-
Undervisningssted:
Århus
-
Hovedområde:
Det Naturvidenskabelige Fakultet
-
Udbud ID:
7841
Formål
Deltagerne vil efter kurset have indsigt i systematisk, kontraktbaseret konstruktion af programmer. Kursets arbejdsform vil også træne deltagernes evne til at planlægge og gennemføre projekter.
Obligatorisk program
Tre praktiske projekter, dokumenteret ved rapport og kildekode
Indhold
Specifikationer, specielt kontrakter, udtrykt ved programudsagn baseret på prædikatlogik. Systematisk udvikling af en kontrakt, i et samspil med udviklingen af en klasse. Forholdet mellem specifikation og implementation. Gyldighed og korrekthed. Løkke- og klasseinvarianter. Forholdet mellem programudsagn og test. Praktiske programmeringsprojekter der benytter kontrakter.
Læringsmål
Deltagerne skal ved afslutningen af kurset kunne:
-
skrive
og
forklare
kontrakter for metoder og klasser i form af programudsagn baseret på prædikatlogik,
-
forklare
og
analysere
sammenhængen mellem programkode og programudsagn,
-
analysere
og
implementere
løkker som er annoteret med løkkeinvarianter og andre programudsagn.
Faglige forudsætninger
For IHA-studerende: Kontraktbaseret Programmering 1
Underviser
Erik Ernst
Undervisnings- og arbejdsform
Forelæsninger 5 t/uge, vekslende med projektuger
Litteratur
Richard Mitchell og Jim McKim: Design by Contract, by Example, Addison-Wesley, 2001, ISBN: 0201634600 (eller ny version hvis en sådan trykkes)
Litteratur
Richard Mitchell og Jim McKim: Design by Contract, by Example, Addison-Wesley, 2001, ISBN: 0201634600 (or a newer version if such one is printed)
Kursushjemmeside
http://www.daimi.au.dk/KBP2
Udbyder
Datalogisk Institut
Tilmelding til undervisning
http://www.brics.dk/~mis/enrollment.html
Studieordning og bedømmelse
-
Mundtlig, bedømt efter 7-skala med intern censur
Mundtlig eksamen uden forberedelse (20 min)
7-skala, intern censur