Objektorienteret programmering
Efteråret 2005
ved
Keld HelsgaunSidste nyt
31. oktober 2005
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.
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
- er fortrolig med de vigtigste begreber inden for objektorienteret programmering, herunder indkapsling, nedarvning og polymorfi, og kan anvende disse i praksis
- kan anvende det objektorienterede programmeringssprogs forskellige faciliteter, bl.a. til realisering af grafiske brugergrænseflader, netværksbaserede programmer og programmer med samtidighed
- kan anvende en grafisk notation til beskrivelse af objektorienterede programmer
Indhold
- Klassebegrebet
- Modularisering
- Designmønstre
- Fejlhåndtering
- Indlæsning og udskrivning
- Grafiske brugergrænseflader
- Samtidighed
- Netværksprogrammering
Lærebog
Som lærebog anvendes
Xiaoping Jia:
Object-Oriented Software Development Using Java:
principles, patterns and frameworks
Addison-Wesley, 2003 (Second Edition)Supplerende litteratur
Som supplerende litteratur anbefales:
David Flanagan:
Java in a Nutshell
O’Reilly, 2005
David Flanagan:
Java Foundation Classes
in a Nutshell
O’Reilly, 1999
Ken Arnold, James Gosling, David Holmes:
The Java Programming Language
Third Edition
Addsion-Wesley, 2000
Cay Horstmann:
Object_Oriented Design & Patterns
John Wiley & Sons, 2005Barbara Liskov, John Guttag:
Program Development in Java: Abstraction, Specification, and Object-Oriented Design
Addsion-Wesley, 2000Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides:
Design Patterns - Elements of Reusable Object-Oriented Software
Addsion-Wesley, 1995Form
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.
Til stofgennemgang er afsat 10 forelæsningsgange. Forelæsningerne finder sted i teorirum 43.2.29 på mandage fra 930 til 1200. Første forelæsningsgang er mandag den 5. september. Sidste forelæsningsgang er mandag den 7. november.
Øvelserne finder sted teorirum 43.2.29 og datastuen i 42.1 på mandage fra 1300 til 1530. Første øvelsesgang er mandag den 5. september. Sidste øvelsesgang er mandag den 7. november.
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.
Eksamen
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 15 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.Underviser
Keld Helsgaun, lektor
Deltagere
Yderligere information
Nyttigt Javaprogrammel:
- BlueJ (udviklingsmiljø til Java, simpelt, gratis)
- Eclipse (udviklingsmiljø til Java, avanceret, gratis)
- NetBeans (udviklingsmiljø til Java, avanceret, gratis)
- IntelliJ IDEA (udviklingsmiljø til Java, avanceret, kommercielt)
- JUnit (framework til afprøvning af Java-programmer, gratis)
- ArgoUML (værktøj til UML-diagrammering, gratis)
- Poseidon (værktøj til UML-diagrammering, kommercielt)
- Jindent (program til formatering af Java-kode, kommercielt)
- JProfiler (program til profilering af Java-applikationer, kommercielt)
- javaSimulation (Java-pakke til diskret simulering, gratis)
Gratis bøger på nettet:
- M. Campione, K. Walrath & A. Huml: The Java Tutorial
- P. H. Winston & S. Narasimhan: Onto Java
- B. Eckel: Thinking in Java
- B. Eckel: Thinking in Patterns with Java
- J. Gosling, B. Joy & G. L. Steeele: The Java Language Specification
- James W. Cooper: The Design Patterns Java Companion
- Glenn L. Vanderburg et al.: Tricks of the Java Programming Gurus
- P. Sestoft: Java Precisely
- J. Nordfalk: Objektorienteret programming i Java
- J. Nordfalk: Videregående programming i Java
Projektforslag: