Kurset afholdes i efterårsperioden på tirsdage, 17.00 - 21.
Undervisningsform:
Forelæsninger og øvelser. Øvelserne omfatter løsning af mindre opgaver og to individuelt gennemførte projektarbejder.
Kursets varighed:
13-uger
Evalueringsform:
Hjælpemidler:
Bedømmelsesform:
Pointspærring:
Faglige forudsætninger:
Overordnede kursusmål:
At tilegne sig forståelse af basale begreber for imperative og objekt-orienterede programmeringssprog. At kunne udtrykke disse begreber med anvendelse af et gængs imperativt objekt-orienteret programmeringssprog (p.t. Java). At kunne udvikle mindre, objekt-orienterede programmer til de to brugergrænseflader baseret på kommandolinien og på sprogets GUI-komponenter (p.t. AWT og Swing). At kunne gennemføre mindre programmeludviklingsopgaver og beskrive forløbet i en projektrapport, der indeholder analyse, design, implementering, afprøvning og dokumentation af det udførte arbejde.
Læringsmål:
En studerende, der fuldt ud har opfyldt kursets mål, vil kunne:
forstå og anvende de af programmeringssprogets elementer kurset dækker
gennemføre en problemanalyse og opstille en kravspecifikation for mindre problemer
designe og dokumentere strukturen i et objekt-orienteret program, med støtte af designmønstre og klassediagrammer
forstå og anvende det aktuelle programmeringssprogs faciliteter til håndtering af polymorfi og nedarvning som implementeringer af de relevante designmønstre
strukturere et design så løsningen bliver flexibel og vedligeholdelsesvenlig
vælge, anvende og integrere hensigtsmæssige datastrukturer
kombinere programmeringssprogets elementer i en implementering relateret til det foretagne design
planlægge og gennemføre en systematisk funktionel og strukturel afprøvning, gerne med brug af fx JUnit
skrive en rapport der dækker et typisk programmeludviklingsprojekt svarende til de stillede projektarbejder
Kursusindhold:
Gennemgang af det valgte programmeringssprog og dets anvendelse til realisering af simple objektorienterede programmodeller i et vist omfang baseret på klassediagrammmer og designmønstre. Kurset dækker følgende: - simpel objektorienteret modellering med brug af UML - kørselsomgivelser, oversættelse, fortolkning og simple appletter - datatyper (simple typer og objekttyper) - værdier, operatorer, udtryk, sætninger, klasser, objekter, felter og metoder - interfaces, abstrakte klasser, biblioteksklasser og fejlhåndtering - nedarvning: klassehierarkier og polymorfi - design og implementering af klasser: kontrakter, invarianter, assertions, kanoniske former og Unit testing - design med brug af basale designmønstre - biblioteksklasser: Collections for lister, mængder og tabeller, GUI-klasserne (komponenter, layout og hændelseshåndtering) og input/output-strømme - gennemførelse af to projektarbejder: krav, analyse, design, implementering, afprøvning og dokumentation præsenteret i rapportform
Bemærkninger:
Kurset er primært forbeholdt udenlandske masterstuderende.