Kursusbeskrivelse for

Objektorienteret programmering 

ved

Keld Helsgaun

 


1. Formål

Kursets formål er at kvalificere den studerende til at beherske og anvende centrale begreber og teknikker i forbindelse med udvikling af objektorienterede programmer.

2. Mål

Undervisning i objektorienteret programmering er mere end undervisning i syntaks og semantik for et objektorienteret programmeringssprog. Beherskelse af objektorienteret programmering kræver fortrolighed med objektorienterede begreber samt færdighed i at kunne anvende disse effektivt og systematisk ved udvikling af programmer.

Målet er, at den studerende efter gennemførelse af kurset

3. Indhold

Kursets indhold kan overordnet beskrives ved følgende punkter:

4. Form

Undervisningen foregår ved forelæsninger og øvelser.

Øvelserne har som mål at opøve de studerendes færdigheder i objektorienteret programmering igennem løsning af en række mindre, velafgrænsede programmeringsopgaver.

5. Evaluering

Afleveringsopgave med mundtlig prøve.

Der skal udarbejdes en rapport, der beskriver løsningen af en af de(n) studerende valgt programmeringsopgave. Opgaven løses i grupper på 2 studerende. Det er dog også muligt at løse opgaven individuelt. Opgavens formulering skal være godkendt af kursuslæreren. Det forventes, at opgaven løses i løbet af kursusperioden.

Rapporten udgør grundlaget for bedømmelsen. Den mundtlige prøve, der varer 10-20 minutter per studerende, har primært til formål at undersøge, om den enkelte studerende har deltaget i opgavens løsning i et tilstrækkeligt omfang.

6. Lærebog

Som lærebog anvendes

      Xiaoping Jia
      Object-Oriented Software Development Using Java
      Addison-Wesley, 2000

Som supplerende litteratur anbefales:

      David Flanagan
      Java in a Nutshell
      O'Reilly, 1999

      David Flanagan
      Java Foundation Classes in a Nutshell
      O'Reilly, 1999

      Ken Arnold, Jamnes Golsling, David Holmes
      The Java Programming Language
      Third Edition
      Addsion-Wesley, 2000

      Barbara Liskov, John Guttag
      Program Development in Java: Abstraction, Specification, and Object-Oriented Design
      Addsion-Wesley, 2001

      Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
      Design Patterns - Elements of Reusable Object-Oriented Software
      Addsion-Wesley, 1995

7. Deltagerforudsætninger

Ingen formelle forudsætninger.

Anbefalede forudsætninger:

      Fulgt kurset Dat-A eller Indledende programmering.
      Fulgt kurset Begreber og redskaber i programmering.
      Gennemført et datalogisk projekt svarende til projektet på OB modul 1 eller TIT 1. semester.

8. Forelæsninger

Til stofgennemgang er afsat 10 forelæsningsgange. En foreløbig plan for forelæsningerne er vist nedenfor. Ret til ændringer forbeholdes.

      (8/2) Introduktion (Kapitel 1, s. 1 - 28, Kapitel 2, s. 29 - 45)
      Introduktion til objektorienteret programmering

      (15/2) Klasser (Kapitel 3, s. 46 - 117)
      Klasser, referencer, metoder, pakker, undtagelser

      (22/2) Nedarvning (Kapitel 4, s. 118 - 175)
      Overlæsning, grænseflader, design

      (1/3) Objektorienteret design (Kapitel 5, s. 176 - 232)
      Abstraktion, polymorfi, faktorisering

      (8/3) Frameworks (Kapitel 6, s. 233 - 257,  s. 291 - 317)
      Collections, strømme, filer

      (15/3) Grafiske brugergrænseflader I (Kapitel 6, s. 258 - 290)
      Basale grafiske komponenter, beholdere, hændelser, layout

      (22/3) Grafiske brugergrænseflader II (Kapitel 7, s. 318 - 367)
      Flere grafiske komponenter

      (5/4) Samtidighed (Kapitel 8, s. 368 - 407)
      Tråde, synkronisering

      (12/4) Netværksprogrammering (Kapitel 9, s. 408 - 462)
      Sockets, fjernmetodekald, databasetilgang

      (19/4) Afrunding