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 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, 2003 (Second Edition)
Som supplerende litteratur anbefales:
David Flanagan
Java in a Nutshell
O'Reilly, 2002
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, 200
Cay Horstmann:
Object-Oriented Design & Patterns
John Wiley & Sons, 2002
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 Indledende Programmering elller tilsvarende.
Fulgt kurset Begreber og Redskaber i Orogrammering eller tilsvarende.
Gennemført et datalogisk projekt svarende til projektet bachelormodulet.
8. Forelæsninger
Til stofgennemgang er afsat 10 forelæsningsgange. En foreløbig plan for forelæsningerne er vist nedenfor. Ret til ændringer forbeholdes.
(4/9) Introduktion (Kapitel 1, 2 og 3)
Introduktion til objektorienteret programmering
(11/9) Klasser (Kapitel 4)
Klasser, referencer, metoder, pakker, undtagelser
(18/9) Nedarvning (Kapitel 5)
Overlæsning, grænseflader, design
(25/9) Objektorienteret design (Kapitel 6 og 7)
Abstraktion, polymorfi, faktorisering
(2/10) Frameworks (Kapitel 8, afsnit 8.1, 8.2 og 8.4)
Collections, strømme, filer
(9/10) Grafiske brugergrænseflader I (Kapitel 8, afsnit 8.3)
Basale grafiske komponenter, beholdere, hændelser, layout
(16/10) Grafiske brugergrænseflader II (Kapitel 9)
Flere grafiske komponenter
(23/10) Samtidighed (Kapitel 11)
Tråde, synkronisering
(30/10) Netværksprogrammering (Kapitel 12)
Sockets, fjernmetodekald, databasetilgang
(6/11) Afrunding