Geavanceerd objectgeoriënteerd programmeren
Informatica en informatiekunde | 5 EC | Voor dit product gelden ingangseisen
Code IB0902
Deze cursus heeft een vast startmoment. Kijk in het Jaarrooster wanneer de begeleiding is ingeroosterd.

Er zijn in deze cursus drie belangrijke lijnen, namelijk objectgeoriënteerd ontwerpen, de taal Java en het gebruik van de Java API. Het maken van een goed ontwerp is iets dat door de hele cursus aandacht krijgt. In de eerste helft van de cursus komen alle taalelementen aan bod die in de basiscursus nog niet zijn behandeld. In de tweede helft wordt aandacht besteed aan belangrijke onderdelen van de API, namelijk exceptions, concurrency, gegevensopslag, de gebruikersinterface en het observerpatroon.

Algemeen

Inhoud

De cursus bestaat uit vier blokken.
Het grootste deel van het eerste blok is gewijd aan het typesysteem van Java. Ten eerste wordt overerving behandeld. Dynamische binding van methoden is daarbij een sleutelbegrip. Vervolgens komen abstracte klassen en interfaces aan de orde, begrippen die een belangrijke rol spelen bij het definiëren van zogeheten ontwerppatronen: schematische oplossingen voor veelvoorkomende problemen. Het blok eindigt met een korte behandeling van generics: de uitbreiding van Java die het gebruik van typeparameters mogelijk maakt.

Het tweede blok voltooit de behandeling van de taalconcepten van Java. De eerste twee leereenheden gaan over fouten die kunnen optreden in programma's en hoe daarmee om te gaan. Leereenheid 6 bekijkt welke soorten fouten er zijn, wat er gedaan moet worden om ze op te merken (testen) en hoe hun oorzaak opgespoord kan worden (debuggen). Java biedt een mechanisme om bepaalde soorten fouten af te handelen (exception handling). Dit is het onderwerp van leereenheid 7. Leereenheid 8 ten slotte biedt een korte inleiding in het programmeren met threads, waardoor parallellisme mogelijk wordt. We geven aan hoe een programma met meerdere threads gemaakt kan worden, maar laten ook zien dat u zich daarmee op glad ijs begeeft.

Het onderwerp van blok 3 is gegevensopslag. Ingegaan wordt op de koppeling van een Java-programma met een relationele database via JDBC (Java Database Connectivity).

Het laatste blok behandelt de constructie van gebruikersinterfaces. In twee leereenheden wordt ingegaan op het werken met Swing-componenten; ook het event handling-mechanisme komt daarbij aan de orde. De laatste leereenheid beschrijft het Observer-patroon, een veelgebruikt en belangrijk ontwerppatroon dat het mogelijk maakt om de domeinlaag geheel onafhankelijk te houden van de gebruikersinterfaces, ook wanneer het initiatief voor wijzigingen in die interfaces bij de domeinlaag ligt.

Leerdoelen
Na het volgen van deze cursus wordt verwacht dat u:
– de syntaxis en semantiek van een deel van de taal Java kent;
– met name begrip heeft van overerving (inclusief het gebruik van abstracte klassen en interfaces), van exception handling en van threads;
– eenvoudige generieke klassen kunt definiëren;
– begrip heeft van de wijze waarop in objectgeoriënteerde programma’s gebruikgemaakt kan worden van programmeren tegen een interface;
– een eenvoudig concurrent programma kunt programmeren;
– de manier kent waarop persistentie van gegevens gerealiseerd kan worden door middel van koppeling met databases (package java.sql) en deze ook kunt toepassen;
– in staat bent om met behulp van de package javax.swing zelf een grafische gebruikersinterface te programmeren;
– het observerpatroon kunt toepassen.

Aanmelden

Ingangseisen

U kunt aanmelden voor deze cursus als u:
- De cursus Objectgeoriënteerd programmeren (IB1102) hebt afgerond,
- Zich heeft aangemeld voor de cursus Objectgeoriënteerd programmeren (IB1102), of
- als u een vrijstelling heeft voor de cursus Objectgeoriënteerd programmeren (IB1102).

Toelichting aanmelden

Deze cursus heeft een vaste startdatum (12 februari 2018), waarvoor u zich tijdig dient aan te melden (tot uiterlijk 22 januari 2018). Meldt u zich later aan, dan kan de Open Universiteit niet meer garanderen dat u tijdig het cursusmateriaal ontvangt, dat u zich voldoende kunt voorbereiden en dat u tijdig toegang heeft tot de digitale leeromgeving. Na de startdatum van de cursus is aanmelden niet meer mogelijk.
De cursus wordt dit academisch jaar éénmaal aangeboden.

Voorkennis

De cursus is een direct vervolg op Objectgeoriënteerd programmeren (IB1102) en kan pas bestudeerd worden als deze cursus is afgerond, of als op andere wijze voldoende basiskennis van Java en objectoriëntatie is verworven.
Ervaring met objectgeoriënteerd analyseren en ontwerpen (bijvoorbeeld via de gelijknamige cursus IB1002) is gewenst.

Begeleiding

Begeleidingsvorm

Deze cursus heeft een vast startmoment. Kijk in het Jaarrooster wanneer de cursus van start gaat en wanneer de begeleiding is ingeroosterd.

Begeleidingsbijeenkomsten


Online bijeenkomsten
Kwartiel 3 - begeleider: dhr. ir. H. Passier
1. wo 14-02-2018 / 19.30-21.15 uur
2. wo 28-02-2018 / 19.30-21.15 uur
3. wo 14-03-2018 / 19.30-21.15 uur
4. wo 28-03-2018 / 19.30-21.15 uur
5. wo 11-04-2018 / 19.30-21.15 uur

Docenten

Mw. drs. A. Herrewijn, dhr. dr. ir. A. Kok, dhr. dr. ir. H. Passier, mw. dr. N. van Vugt-Hage, dhr. dr. B. van Gastel en dhr. dr. S. Jongmans.

Bereikbaarheidsoverzicht

Bereikbaarheidsinformatie docenten/examinatoren

Tentamen

Tentamenvorm

Regulier schriftelijk tentamen bestaande uit open vragen (ov) en een opdracht.

Tentamendata

Schriftelijk tentamen: 23-04-2018, 10-07-2018.
Opdracht: volgens afspraak.

Tentamenhulpmiddelen

Een 'schoon' verklarend Nederlands woordenboek (op eigen risico)
Een schoon exemplaar van het gedrukte cursusmateriaal

Meer info

Meer informatie

Voor een inkijkje in de cursus, ga naar de snapshot van de voorgaande cursus (T42241 Geavanceerd objectgeoriënteerd programmeren in Java 2).

Cursusmateriaal

Het cursusmateriaal bestaat uit drie schriftelijke delen. Ander materiaal, zoals programmeerbouwstenen en oefententamens, worden via de cursussite uitgeleverd.

Mediagebruik

De cursus gaat ervan uit dat u beschikt over een recente versie van de ontwikkelomgeving Eclipse en Java. Om Eclipse te kunnen draaien, heeft u een pc nodig met Windows. Eclipse is ook beschikbaar voor Linux, Solaris en MacOS. De Open Universiteit geeft echter geen ondersteuning bij het gebruik van deze besturingssystemen.

Digitale leeromgeving

Als medewerker of als student (na inschrijving) kunt u via de cursussite in de digitale leeromgeving naar de discussiegroepen. Hier kunt u met medestudenten en begeleider informatie uitwisselen en discussiëren over de leerstof.