Skip to content
Informatica · Klas 5 VWO

Ideeën voor actief leren

OOP-ontwerpprincipes: SOLID

Actief leren werkt bij SOLID omdat leerlingen door directe toepassing de principes niet alleen begrijpen maar ook ervaren. Door code te schrijven, te analyseren en te refactoren, zien ze meteen hoe principes zoals SRP of OCP hun code leesbaarder en onderhoudbaarder maken. Deze hands-on aanpak bouwt vertrouwen op en maakt abstracte concepten tastbaar.

SLO Kerndoelen en EindtermenSLO: Onderbouw - OntwerpenSLO: Onderbouw - Gebruiksvriendelijkheid
25–50 minDuo's → Hele klas4 activiteiten

Activiteit 01

Casusanalyse30 min · Duo's

Pair Programming: SOLID-klasse Ontwerpen

Deel leerlingen in in paren. Geef een basisopdracht, zoals een bibliotheeksysteem. Elke leerling ontwerpt afwisselend een klasse die aan drie SOLID-principes voldoet, terwijl de partner feedback geeft. Sluit af met een korte presentatie van ontwerpkeuzes.

Verklaar de vijf SOLID-principes en geef voor elk een concreet voorbeeld in Python of Java.

FacilitatietipTijdens Pair Programming: SOLID-klasse Ontwerpen let op of beide leerlingen actief bijdragen aan het ontwerp en de principes toepassen in hun code.

Waar je op moet lettenLaat leerlingen in tweetallen een kleine, niet-SOLID-codefragment analyseren. Elk tweetal identificeert minimaal twee SOLID-schendingen en stelt concrete verbeteringen voor. Ze presenteren hun bevindingen aan de klas, waarbij ze de principes benoemen die geschonden zijn en hoe de code aangepast kan worden.

AnalyserenEvaluerenCreërenBesluitvormingZelfmanagement
Volledige les genereren

Activiteit 02

Casusanalyse45 min · Kleine groepjes

Small Groups: Codebase Analyse

Verdeel de klas in kleine groepen. Geef een voorbeeldcodebase met SRP- en OCP-schendingen. Groepen identificeren problemen, documenteren ze en stellen refactor-voorstellen op. Bespreek collectief de beste oplossingen.

Analyseer een codebase en identificeer schendingen van het Single Responsibility Principle of het Open/Closed Principle.

FacilitatietipBij Small Groups: Codebase Analyse geef elke groep eenzelfde codefragment en vraag hen om overeenkomsten en verschillen in hun bevindingen te benoemen.

Waar je op moet lettenGeef elke leerling een kaartje met een scenario (bijvoorbeeld: een klasse die zowel data opslaat als de data valideert). Vraag hen om één SOLID-principe te noemen dat hier mogelijk geschonden wordt en leg in één zin uit waarom. Vraag hen vervolgens hoe ze de klasse zouden opsplitsen om aan dat principe te voldoen.

AnalyserenEvaluerenCreërenBesluitvormingZelfmanagement
Volledige les genereren

Activiteit 03

Casusanalyse50 min · Hele klas

Whole Class: SOLID Voorbeelden Bouwen

Start met een brainstorm over een game-applicatie. Bouw als klas stapsgewijs klassen op die SOLID volgen, met input van iedereen via een shared whiteboard. Test live in Python of Java en pas aan op basis van klasfeedback.

Ontwerp een klasse die voldoet aan minstens drie SOLID-principes en onderbouw je ontwerpkeuzes.

FacilitatietipTijdens Whole Class: SOLID Voorbeelden Bouwen laat leerlingen eerst individueel nadenken voordat ze in groepjes hun oplossingen vergelijken en verbeteren.

Waar je op moet lettenStart een klassengesprek met de vraag: 'Stel, je werkt aan een project waar de deadline heel krap is. Zou je dan nog steeds de SOLID-principes volgen, of zou je ze negeren om sneller te kunnen leveren? Waarom?' Stimuleer discussie over de lange-termijn gevolgen van het negeren van deze principes.

AnalyserenEvaluerenCreërenBesluitvormingZelfmanagement
Volledige les genereren

Activiteit 04

Casusanalyse25 min · Individueel

Individual: Refactor Oefening

Geef elke leerling een eenvoudige, niet-SOLID code. Laat ze deze refactoren volgens minstens twee principes en onderbouwen in een kort verslag. Deel vrijwillig resultaten in plenaire sessie.

Verklaar de vijf SOLID-principes en geef voor elk een concreet voorbeeld in Python of Java.

FacilitatietipBij Individual: Refactor Oefening loop rond en vraag leerlingen om hardop te denken terwijl ze hun code aanpassen, zodat je hun redenering kunt volgen.

Waar je op moet lettenLaat leerlingen in tweetallen een kleine, niet-SOLID-codefragment analyseren. Elk tweetal identificeert minimaal twee SOLID-schendingen en stelt concrete verbeteringen voor. Ze presenteren hun bevindingen aan de klas, waarbij ze de principes benoemen die geschonden zijn en hoe de code aangepast kan worden.

AnalyserenEvaluerenCreërenBesluitvormingZelfmanagement
Volledige les genereren

Enkele opmerkingen over deze eenheid onderwijzen

Begin met concrete, herkenbare voorbeelden zoals een eenvoudige bibliotheekapp of een game met een spelerklasse. Vermijd eerst de termen SOLID en laat leerlingen zelf ontdekken waarom code moeilijk te onderhouden is. Gebruik hun eigen codefragmenten als vertrekpunt voor discussie. Benadruk dat principes niet alleen voor grote projecten zijn, maar dat goede gewoontes vanaf het begin code onderhoudbaarder maken. Vermijd het presenteren van alle vijf principes in één keer; introduceer ze één voor één met bijpassende oefeningen.

Succesvolle leerlingen kunnen elk SOLID-principe uitleggen met voorbeelden, codefragmenten herkennen waar principes geschonden zijn en zelf klassen ontwerpen die aan minimaal drie principes voldoen. Ze tonen dit door te discussiëren, code te presenteren en verbeteringen voor te stellen tijdens de activiteiten.


Pas op voor deze misvattingen

  • Tijdens Pair Programming: SOLID-klasse Ontwerpen horen leerlingen vaak zeggen dat SOLID alleen voor grote projecten is.

    Geef tijdens de praktijkfase concrete voorbeelden waar kleine scripts juist profiteren van SOLID, zoals het splitsen van een klasse die zowel data opslaat als valideert. Laat leerlingen zien hoe hun code korter en duidelijker wordt door principes toe te passen.

  • Tijdens Small Groups: Codebase Analyse denken leerlingen dat Single Responsibility betekent dat een klasse maar één methode mag hebben.

    Geef in de codefragmenten voorbeelden van klassen met meerdere methoden die toch één verantwoordelijkheid hebben, zoals een klasse die alleen data opslaat en valideert. Laat leerlingen in groepjes vergelijken welke klassen wel en niet voldoen aan SRP.

  • Tijdens Whole Class: SOLID Voorbeelden Bouwen geloven leerlingen dat Open-Closed Principle wijzigingen aan code volledig verbiedt.

    Gebruik tijdens de voorbeeldoefening een codefragment waar een klasse uitgebreid kan worden zonder de originele code aan te passen. Laat leerlingen zien hoe nieuwe functionaliteit toegevoegd wordt via overerving of interfaces, terwijl de kernintact blijft.


Methodes gebruikt in dit overzicht