Eksamen 20 minutters mundtlig prøve, inklusiv ca. 5 minutter til votering. Prøven bedømmes efter 7-trinsskalaenskalaen. Der ikke forberedelsestid. I kan medtage ca. et ark papir. Arket kan indeholde en disposition til jeres foredrag, og I forventes at lægge det fra jer under selve eksaminationen og kun bruge det sporadisk. Eksaminator/censor vil forsøge at holde jer på sporet ved hjælp af uddybende spørgsmål. Rækkefølge?
Eksamensspørgsmål Kontraktbaseret programmering Kontraktbaseret klasseudvikling Kontrakter med kvantorer, shallowCopy() og immutable lister Kontrakter og arv Specifikationer Programudsagn Udvikling af loops
Eksamensspørgsmål Kontraktbaseret programmering Kontraktbaseret klasseudvikling De 6 regler Kontrakter på forskellige niveauer Frame rules Kontrakter med kvantorer, shallowCopy() og immutable lister JML Eiffel CodeContracts
3. Kontrakter og arv 4. Specifikationer 5. Programudsagn Substitutionsprincippet Guarded postconditions 4. Specifikationer Notationer (Q, JML) Typer af specifikationer 5. Programudsagn Notationer (Q) Invarianter (klasse-, repræsentations- og loop-invarianter) Gyldighed og korrekthed af programmer 6. Udvikling af loops Checklisten for løkker Ballonteorien Konstruktiv brug af checklisten Bemærk forskellen mellem udsagn (prædikater) og programudsagn (Hoare-tripler: {Q} S {R})