Geavanceerd objectgeoriënteerd programmeren
Geavanceerd objectgeoriënteerd programmeren
-
Informatica
-
IB0902
-
5 EC
-
Vanaf € 384
-
Voor dit product gelden ingangseisen
Let op: heb je deze cursus al een keer vóór het academisch jaar 2022-2023 gevolgd dan raden we aan om bij een herinschrijving het studiemateriaal opnieuw tijdens het aanmeldproces te bestellen, omdat het materiaal vanaf juli 2022 is gewijzigd.
Inhoud
Het grootste deel van het eerste blok is gewijd aan de vraag wat een goed programma is en het typesysteem van Java. De eisen waaraan een goed programma dient te voldoen, beschrijven we in de vorm van specificaties die de basis vormen voor de implementatie en het ontwikkelen van bijbehorende testcases. Als onderdeel van het typesysteem 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 gaat over soorten fouten die kunnen optreden en hoe deze afgehandeld kunnen worden, bijvoorbeeld met behulp van exceptions. Er wordt onder meer kort ingegaan op debuggen en testen.
Blok drie biedt een inleiding in het programmeren met threads, waardoor concurrency mogelijk wordt. We gaan in op wat concurrency precies is en geven aan hoe een concurrent programma met behulp van Java’s Executor Framework gemaakt kan worden. Concurrent programma’s zijn complex en kunnen subtiele fouten bevatten. Daarom beschrijven we hoe u een eenvoudig concurrent programma kunt analyseren.
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 gaat in op hoe de cohesie en koppeling van OO-programma’s verbeterd kan worden en behandelt als toepassing daarvan het Observer-patroon, een veelgebruikt en belangrijk ontwerppatroon dat het mogelijk maakt om de domeinlaag onafhankelijk te houden van de gebruikersinterface, en het Model-View-Controller-patroon, een veelgebruikte architectuur voor het scheiden van verantwoordelijkheden.
Leerdoelen
Na het volgen van deze cursus kun je:
- een contract voor een klasse en methode interpreteren,
- op basis van een contract een implementatie geven en bijbehorende tests opstellen,
- overerving (inclusief het gebruik van abstracte klassen en interfaces), exception handling en threads begrijpen en toepassen,
- eenvoudige generieke klassen definiëren,
- uitleggen hoe in objectgeoriënteerde programma’s gebruikgemaakt kan worden van programmeren tegen een interface,
- een eenvoudig concurrent programma programmeren,
- met behulp van de package javax.swing zelf een grafische gebruikersinterface programmeren,
- een programma op cohesie en koppeling beoordelen en dat programma verbeteren,
- het MVC-model en het Observerpatroon toepassen.
Ingangseisen
Toelichting aanmelden
Deze cursus wordt eenmaal per academisch jaar aangeboden.
Voorkennis
Kennis van UML-klassendiagrammen op het niveau van de cursus Objectgeoriënteerd analyseren en ontwerpen (IB1002) wordt sterk aangeraden.
Begeleidingsvorm
Er zijn vijf online begeleidingssessies via Collaborate en standaardbegeleiding via de discussiegroep.
Begeleidingsbijeenkomsten
Studiedag Informatica en Informatiekunde Utrecht, onder voorbehoud/u>
Kwartiel 3 - begeleider: dhr.ir. H. Passier
1. vr 14-2-2025 / tijd wordt nader bekend gemaakt
Tijdig aanmelden via: ou.nl/inf-studiedag
Online-bijeenkomsten
Kwartiel 3 - begeleider: dhr.ir. H. Passier
2. wo 26-02-2025 / 19.30-21.30 uur
3. wo 05-03-2025 / 19.30-21.30 uur
4. wo 19-03-2025 / 19.30-21.30 uur
5. wo 02-04-2025 / 19.30-21.30 uur
6. wo 16-04-2025 / 19.30-21.30 uur
Tentamenvorm
Tentamentoelichting
Tentamendata
Opdracht: volgens afspraak.
Tentamenhulpmiddelen
Het online woordenboek
Het online woordenboek t.b.v. ANS