null Geavanceerd objectgeoriënteerd programmeren

Geavanceerd objectgeoriënteerd programmeren

  • Informatica
  • IB0902
  • 5 EC
  • Vanaf € 384
  • Voor dit product gelden ingangseisen
Deze cursus heeft een vast startmoment. Kijk in het Jaarrooster wanneer de cursus van start gaat en wanneer de begeleiding is ingeroosterd.

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

De cursus bestaat uit vier blokken.
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

Aanmelden voor deze cursus kan pas nadat je de cursus Objectgeoriënteerd programmeren (IB1102) conform je online studiepad hebt afgerond, dan wel hebt vrijgesteld gekregen dan wel daarvoor bent ingeschreven (en je die cursus grotendeels bestudeerd hebt).

Toelichting aanmelden

Deze cursus start 10 februari 2025. We adviseren om uiterlijk zondag 26 januari 2025 hiervoor aan te melden zodat je tijdig het eventuele cursusmateriaal ontvangt, toegang hebt tot de leeromgeving en (indien van toepassing) ingedeeld kunt worden in een studiegroep. Bij aanmelding na 26 januari 2025 kunnen we dit niet garanderen. Aanmelden is mogelijk tot en met 9 februari 2025.

Deze cursus wordt eenmaal per academisch jaar aangeboden.

Voorkennis

De cursus is een direct vervolg op Objectgeoriënteerd programmeren (IB1102). De cursus kan pas bestudeerd worden als deze cursus is afgerond, of als op andere wijze voldoende basiskennis van objectoriëntatie en de taal Java is verworven.
Kennis van UML-klassendiagrammen op het niveau van de cursus Objectgeoriënteerd analyseren en ontwerpen (IB1002) wordt sterk aangeraden.

Begeleidingsvorm

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

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

Digitaal groepstentamen met open vragen en een opdracht.

Tentamentoelichting

U dient zelf tijdig aan te melden voor een tentamen.

Tentamendata

Digitaal groepstentamen: 18-11-2024 19:00, 24-04-2025 14:00, 08-07-2025 19:00.
Opdracht: volgens afspraak.

Tentamenhulpmiddelen

'Schone' cursusboeken Geavanceerd objectgeoriënteerd programmeren dl 1, 2 en 3
Het online woordenboek
Het online woordenboek t.b.v. ANS

Cursusmateriaal

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

Mediagebruik

In deze cursus gaan we ervan uit dat je beschikt over een recente versie van de ontwikkelomgeving Eclipse en Java versie 8 of hoger. Om Eclipse te kunnen draaien, heb je 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 die besturingssystemen.

Digitale leeromgeving

Als student kun je, na inschrijving, via de cursussite in de online leeromgeving naar de discussiegroepen. Hier kun je met medestudenten en begeleiders informatie uitwisselen en discussiëren over de leerstof.