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 objektorienterede programmeringssprog. At kunne udtrykke disse begreber med anvendelse af det objektorienterede programmeringssprog Java. At kunne udvikle mindre, objektorienterede programmer til de to brugergrænseflader baseret på kommandolinien og på grafiske brugergrænseflader (GUI'er) dannet med brug af AWT- og Swing-komponenter. At kunne gennemføre mindre programmeludviklingsopgaver og beskrive forløbet i en projektrapport, der bl.a indeholder analyse, design, implementering, afprøvning og øvrig relevant 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 objektorienteret program
forstå og anvende det aktuelle programmeringssprogs faciliteter til håndtering af polymorfi og nedarvning
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 programmeringssproget og dets anvendelse til realisering af simple objektorienterede programmodeller, i et vist omfang baseret på klassediagrammmer. Kurset dækker følgende: - simpel objektorienteret modellering - 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: invarianter, assertions og Unit testing - 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.