VPJ-1 E2003



Læremidler [VP] Jacob Nordfalk Videregående programmering i Java (programeksempler)
Supplerende foredrag til selvstudium
Flere
oplysninger
Der er flere webbaserede oplysninger om kurset: 
Programmer/værktøjer - CD udleveres. 
Eksamensprojekt - Afleveringsfrist er mandag d. 15/12 2003 kl. 12.00 (fra kl. 9.00).
Krav til eksamensprojektet i VPJ.
Mundtlig eksamen - Eksamen bliver sandsynligvis fredag d. 16/1 2004.
Pensum til eksamen
Lærer JANO - Jacob Nordfalk - E-post: nordfalk@mobilixnet.dk  - skriv venligst "VPJ" i emnelinien.

Dag Emner Læsning Opgaver
1 (26/8)
Introduktion til kurset
Overblik over berørte teknologier
Datastrukturer: Lister, mængder og iteratorer
VP 0.1-0.2
VP 1.1-1.2
VP 1.3 1-5
Opgaver
2 (2/9) Datastrukturer: Afbildinger (hashtabeller og træer)
Datastrukturers interne virkemåde og kørselstider
Fremlæggelse af emne for eksamensprojekt
Objektorienteret analyse
Programmere egne komponenter (Javabønner)
VP 1.2-1.6
VP 4.1-4.4
noter
VP 4.5
Opgaver
3 (9/9) Javabønner fortsat
Designmønstret Lytter/Observer
Fremlæggelse af analyse/status for projekter
Grafiske komponenter, containere og layout
VP 4.7
VP 17.5

VP 4.7.5
VP 4.7.6
Opgaver
4 (16/9) Delegering (i stedet for arv), specificere funktionalitet i et interface (evt.: markeringsinterface)
Objektorienteret design
Bruge et værktøj (TogetherJ) til at lave klassediagrammer
Skabende designmønstre: Fabrikeringsmetode/Fabrik, Singleton
Eksempel: Forskellige slags dataforbindelser
Rekursion
VP 15.1-15.3
noter
VP 16.1-16.3
VP 16.8
VP 3.1-3.3
Opgaver
5 (23/9) Fremlæggelse af design/status for projekter
Model-View-Controller-arkitekturen (MVC)
VP 19
Opgaver
6 (30/9) Introduktion til Swing-komponenter
Swing og MVC
Datamodeller i Swing
Swing: Tabeller
Evt.: Swing: Træer
VP 6-6.3.4 Opgaver
7 (7/10) Præsentations- og kontroldel i Swing
Programmere i pakker og indkapsling
Skabende designmønstre: Abstrakt fabrik (Toolkit), Bygmester, Prototype, Objektpulje
VP 6.4-6.7
VP 15.6-15.7
VP 16.4-16.7
(AJP s. 6-20, 28-33)
Opgaver
(14/10)  efterårsferie

8 (21/10) Designmønstre: Adapter, Dynamisk Binding
JNI og kald til maskinkode/C/C++ fra Java
Designmønstre: Fluevægt, Iterator
Fremlæggelse af programmering/status for projekter
VP 17-17.3, 17.6
VP 18-18.2
VPJ 10
Opgaver
9 (28/10) Hyppigt anvendte designmønstre: Proxy
Andre designmønstre: Uforanderlig (Immutable), Fluevægt (igen), Filter
Evt.: Brug af Properties-filer (og præferencer i JDK 1.4)
VP 17.1
VP 18-18.3


Opgaver
(gang 8
 igen)
10 (4/11) Dokumentation med javadoc-værktøjet
Andre designmønstre: Lagdelt Initialisering, Komposit/Rekursiv Komposition, Kommando/Ændring
Kommunikation mellem processer og tråde i et GUI-program
Evt.: Synkronisering af processer og tråde, semaforer
Evt.: Monitorer, Java synkronisering, Deadlocks
Flertrådet programmering - Designmønstret Producent/Konsument
VPJ 2
VPJ 18.4-18.6
[TJT] om tråde
Opgaver
11 (11/11) JDBC og dens brug af designmønstre
Evt.: Avanceret JDBC
Evt.: Objektpersistens og JDO - Java Data Objects
Introspektion af klasser på køretidspunktet (Reflektion)
Java2D - avanceret grafikmanipulering
Evt.: Internationalisering
Projektvejledning
VPJ 8
VPJ 11
VPJ 5
(VPJ 7)
Opgaver
12 (18/11) JAR-filer og oprettelse af eksekverbare JAR-filer
Evt.: Optimering af programmer
Designmønstre: Facade
Designmønstrenes brug i standardbibliotekerne
(Evt.: Introduktion til J2ME, midletter og Java i mobiltelefoner)
Projektvejledning
(VPJ 9)
VPJ 17.4
(VPJ 13)
Opgaver
13 (25/11) Evt.: Introduktion til J2EE og EJB
Repetition af designmønstrene
Projektvejledning
(VPJ 14) Opgaver
14 (2/12) Evt.: Nye faciliteter i JDK 1.4, herunder XML-processering, det nye I/O-API, logning og antagelser.
Evt.: Nye faciliteter i JDK 1.5.
Evt.: AOP - Aspekt-orienteret programmering
Om eksamen og eksamensforberedelse
Spørgetime
Fremlæggelse af projekter
Projektvejledning
Husk at høre lydforedragene