IT-Universitetet i København
 
  Tilbage Kursusoversigt
Kursusbeskrivelse
Kursusnavn (dansk):Objekt-orienteret programmering 
Kursusnavn (engelsk):Object-orientet programming 
Semester:Efterår 2000 
Udbydes under:cand. it, softwareudvikling (swu) 
Omfang i ECTS:0,00 
Kursussprog:Dansk 
Kursushjemmeside:https://learnit.itu.dk 
Min. antal deltagere:10 
Forventet antal deltagere:
Maks. antal deltagere:
Formelle forudsætninger:Grundlæggende programmering (GP).
Kurset er en naturlig fortsættelse af Grundlæggende Programmering. Hvis du har lidt programmeringsbaggrund allerede kan kurset tages sideløbende med -- eller helt uden -- Grundlæggende Programmering, men det kræver en vis selvstændighed, idet nogle begreber kan blive benyttet før de gennemgås i Grundlæggende Programmering.
Kurset giver forudsætninger for kurser i objekt-orienteret design og videregående programmering, introduktion til algoritmer og datastrukturer, funktionelt design og programmering, samt er en forudsætning for projektkurset i komponentbaseret softwareudvikling (4-ugers periode december 2000). 
Læringsmål:For virkelig at kunne udnytte et objekt-orienteret programmeringssprog skal du som programmør have indgående kendskab til brugen af de udtryksmidler (f.eks. klasser, synlighedsmekanismer, rekursion, ...) som sproget indeholder. Dette kendskab kan opnås gennem erfaring med
en række praktiske programmeringsprojekter, eller mere systematisk gennem dette kursus.

Kurset bygger videre på Grundlæggende Programmering ved at vise den
praktiske betydning og anvendelse af objekt-orienterede
sprogfaciliteter, her eksemplificeret med Java. Desuden viser kurset
hvordan disse faciliteter er realiseret i maskinen, så du får en bedre
praktisk forståelse af komplekse programmers virkning og pladsforbrug.

Kurset lægger vægt på praktisk brug af begreberne i en række
programmeringsøvelser.

Efter kurset vil du aktivt og selvstændigt beherske objekt-orienteret
programmering, og du vil have en solid baggrund for at følge
videregående praktiske og teoretiske kurser.

Kombineret med et algoritmekursus og måske et kursus i
objekt-orienteret design vil dette kursus sætte dig i stand til at
planlægge og udvikle store programmer.
 
Fagligt indhold:



Efter dette kursus vil du aktivt beherske følgende emner:



  • Klassers tre roller:

    1. modularisering,
    2. specialisering (nedarvning) og
    3. repræsentation af datastrukturer.


  • Modularisering ved hjælp af klasser, klassegrænseflader ('interfaces') og pakker.

  • Indkapsling og beskyttelse ved styring af synlighed af felter og metoder i klasser, og af klasser i pakker.

  • Anvendelse af biblioteker (pakker af beslægtede klasser); opbygning og dokumentation af biblioteker, javadoc

  • Indre klasser

  • Datastrukturer i Java, specielt rekursive datastrukturer såsom lister, træer, endelige mængder og endelige afbildninger.

  • Collections

  • Rekursion

  • Polymorfi (i forbindelse med nedarvning), typer og typekonvertering.

  • Lagring af værdier (dataobjekter) i maskinen. Forskellen på baseværdier (int, double, ...) og objekter (String, ....); objekt versus reference; deling af objekter ved hjælp af referencer; parameteroverførsel. Du skal kunne tegne hvordan henholdsvis baseværdier og objekter lagres i maskinen.

  • Virkefeltsregler ('scope') og forskellen på klassefelter og klassemetoder ('static'), objektfelter, og lokale variable.

  • Abstrakte klasser og grænseflader.

  • Fejlhåndtering med undtagelser.

  • Model-GUI arkitektur (Model View Control)
 
Læringsaktiviteter:

Forelæsninger, øvelser, obligatoriske afleveringsopgaver, meget programmering 

Eksamensform og -beskrivelse:X. experimental examination form (7-scale; external exam), 13-skala, Intern censur

4-timers skriftligt eksamen  

Litteratur udover forskningsartikler:NULL