Kursusbeskrivelse for
Objektorienteret programmering
ved
Keld Helsgaun
1. Formål
Kursets formål er 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:
Klassebegrebet
Klasser, objekter, referencer, indkapsling, nedarvning, polymorfi
Modularisering
Grænseflader, pakker, indre klasser
Desigmønstre
Fejlhåndtering
Undtagelser
Indlæsning og udskrivning
Strømme, filer, serialisering
Grafiske brugergrænseflader
Grafiske komponenter, hændelser, layout
Samtidighed
Tråde, synkronisering
Netværksprogrammering
Sockets, fjernmetodekald
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. Der skal udarbejdes en rapport, der beskriver løsningen af en af de(n) studerende valgt programmeringsopgave. Opgavens formulering skal være godkendt af kursuslæreren. Det forventes, at opgaven løses i løbet af kursusperioden.
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
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.
(7/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
(29/3) Samtidighed (Kapitel 8, s. 368 - 407)
Tråde, synkronisering
(5/4) Netværksprogrammering (Kapitel 9, s. 408 - 462)
Sockets, fjernmetodekald, databasetilgang
(19/4) Afrunding