Skip to content
Informatica · Klas 4 VWO

Ideeën voor actief leren

Foutopsporing en Testen

Actief oefenen met foutopsporing en testen helpt leerlingen om abstracte concepten direct toe te passen. Door fouten te zoeken in echte code en testcases te ontwerpen, zien ze direct waarom betrouwbaarheid belangrijk is en hoe fouten grote gevolgen kunnen hebben.

SLO Kerndoelen en EindtermenSLO: Voortgezet - SoftwareontwikkelingSLO: Voortgezet - Foutopsporing
25–40 minDuo's → Hele klas4 activiteiten

Activiteit 01

Paarwerk: Bug Hunt

Deel code met verborgen bugs uit aan paren. Ze runnen het programma, noteren output, stellen hypotheses over fouten en fixen stap voor stap met print-statements. Sluit af met een korte presentatie van de oplossing.

Analyseer veelvoorkomende programmeerfouten en ontwikkel strategieën om deze te voorkomen.

FacilitatietipTijdens de Bug Hunt: geef elk duo een unieke code met een verborgen bug, maar zorg dat de bugs variëren in soort en complexiteit.

Waar je op moet lettenGeef leerlingen een kort codefragment met een duidelijke bug. Vraag hen om de bug te identificeren, te classificeren (syntactisch, logisch, runtime) en één stap te beschrijven die ze zouden nemen om deze te debuggen.

AnalyserenEvaluerenCreërenBesluitvormingZelfmanagementRelatievaardigheden
Volledige les genereren

Activiteit 02

Probleemgestuurd onderwijs35 min · Kleine groepjes

Klein Groep: Testcase Ontwerp

Groepen krijgen een eenvoudig programma en ontwerpen vijf testcases, inclusief edge cases. Ze voeren tests uit, loggen resultaten en evalueren dekking. Bespreek als klas welke tests het meest effectief waren.

Vergelijk verschillende debugtechnieken en evalueer hun effectiviteit bij het vinden van bugs.

FacilitatietipBij Testcase Ontwerp: geef de groep een eenvoudige functie en vraag hen eerst individueel edge cases te bedenken voordat ze in groepjes overleggen.

Waar je op moet lettenLaat leerlingen in paren werken. De ene leerling ontwerpt een eenvoudige functie en een set testcases, de andere leerling probeert de functie te 'breken' door onverwachte invoer te bedenken. Ze bespreken daarna de gevonden zwakke plekken in de testcases.

AnalyserenEvaluerenCreërenBesluitvormingZelfmanagementRelatievaardigheden
Volledige les genereren

Activiteit 03

Probleemgestuurd onderwijs40 min · Kleine groepjes

Klasbreed: Debug Relay

Verdeel klas in teams. Elk team debugt een code-snippet en geeft door aan volgend team voor verificatie. Teams vergelijken technieken en snelheid van oplossing.

Ontwerp een reeks testcases om de robuustheid van een programma te beoordelen.

FacilitatietipTijdens Debug Relay: loop rond en noteer welke teams moeite hebben met het doorgeven van hun hypotheses en bied gerichte hints.

Waar je op moet lettenStel een reeks korte vragen over veelvoorkomende debugtechnieken. Bijvoorbeeld: 'Wanneer zou je print-statements gebruiken in plaats van een debugger, en waarom?' of 'Wat is het doel van een 'breakpoint' in een debugger?'

AnalyserenEvaluerenCreërenBesluitvormingZelfmanagementRelatievaardigheden
Volledige les genereren

Activiteit 04

Probleemgestuurd onderwijs30 min · Individueel

Individueel: Persoonlijke Test Suite

Leerlingen schrijven een kort programma en ontwerpen eigen testcases. Ze testen elkaars code anoniem en geven feedback op bugs en robuustheid.

Analyseer veelvoorkomende programmeerfouten en ontwikkel strategieën om deze te voorkomen.

FacilitatietipVoor Persoonlijke Test Suite: vraag leerlingen hun testsuite te documenteren met een korte toelichting waarom ze bepaalde testcases hebben opgenomen.

Waar je op moet lettenGeef leerlingen een kort codefragment met een duidelijke bug. Vraag hen om de bug te identificeren, te classificeren (syntactisch, logisch, runtime) en één stap te beschrijven die ze zouden nemen om deze te debuggen.

AnalyserenEvaluerenCreërenBesluitvormingZelfmanagementRelatievaardigheden
Volledige les genereren

Enkele opmerkingen over deze eenheid onderwijzen

Start met een korte uitleg over de verschillende soorten fouten en wanneer welke debugtechniek het meest effectief is. Vermijd het geven van kant-en-klare oplossingen, maar moedig leerlingen aan om hypotheses te formuleren en deze systematisch te testen. Onderzoek toont aan dat leerlingen meer leren wanneer ze zelf fouten ontdekken en oplossen, in plaats van alleen correcte code te bestuderen.

Succesvolle leerlingen kunnen fouten in code herkennen, classificeren en corrigeren, en ze ontwerpen testcases die normale, grens- en uitzonderingsgevallen dekken. Ze gebruiken debugtechnieken doelgericht en reflecteren op hun aanpak.


Pas op voor deze misvattingen

  • Tijdens de Bug Hunt, denken leerlingen dat alle bugs syntactische fouten zijn die de compiler direct meldt.

    Geef elk duo code met zowel syntactische als logische fouten, en vraag hen na het vinden van een fout te beschrijven waarom de compiler de logische fout niet opmerkte.

  • Tijdens Testcase Ontwerp, denken leerlingen dat één testcase genoeg is om een programma te valideren.

    Laat de groep na het ontwerpen van een testsuite reflecteren op welke edge cases ontbreken en laat hen deze alsnog toevoegen.

  • Tijdens Debug Relay, denken leerlingen dat debuggen een lineair proces is zonder iteratie.

    Geef elk team de opdracht hun hypotheses te noteren bij de eerste run en deze te vergelijken met hun uiteindelijke oplossing om het iteratieve proces te benadrukken.


Methodes gebruikt in dit overzicht