Skip to content
Informatica · Klas 5 VWO

Ideeën voor actief leren

Fouten Vinden en Oplossen (Debugging)

Actief debuggen zoals in deze lessen leert leerlingen programmeren als een proces van ontdekken in plaats van gissen. Door fouten direct te zoeken en te analyseren, ontwikkelen ze een probleemoplossend vermogen dat verder gaat dan syntaxisregels.

SLO Kerndoelen en EindtermenSLO: Onderbouw - ProgrammerenSLO: Onderbouw - Probleemoplossen
20–45 minDuo's → Hele klas4 activiteiten

Activiteit 01

Pair Programming: Bug Jacht

Deel leerlingen in in paren en geef elk paar een programma met drie bugs (syntax, logica, runtime). Eén leerling typt, de ander navigeert en test. Wissel rollen na elke bug. Sluit af met een korte presentatie van gevonden oplossingen.

Wat is een 'bug' in een programma en hoe vind je die?

FacilitatietipZorg tijdens Pair Programming: Bug Jacht dat elke leerling zowel de rol van programmeur als tester oefent om beide perspectieven te begrijpen.

Waar je op moet lettenGeef leerlingen een kort programma met een duidelijke logische fout. Vraag hen om in 5 minuten de fout te identificeren en één regel code aan te passen om deze te corrigeren. Observeer hun aanpak en stel gerichte vragen over hun redenering.

AnalyserenEvaluerenCreërenBesluitvormingZelfmanagementRelatievaardigheden
Volledige les genereren

Activiteit 02

Probleemgestuurd onderwijs45 min · Kleine groepjes

Small Groups: Testcase Ontwerp

Groepen krijgen een algoritme zonder bugs en ontwerpen testcases om edge cases te dekken. Voeg vervolgens bugs toe en laat ze testen. Bespreek welke tests de bugs onthulden en waarom.

Waarom is het belangrijk om je programma te testen?

FacilitatietipGeef bij Testcase Ontwerp concrete voorbeelden van inputs en outputs die leerlingen kunnen gebruiken als referentiekader.

Waar je op moet lettenLaat leerlingen na de les een programmafragment analyseren dat een syntaxfout bevat. Vraag hen om de fout te benoemen, uit te leggen waarom het een syntaxfout is, en de correcte syntax op te schrijven. Dit toetst hun begrip van verschillende fouttypen.

AnalyserenEvaluerenCreërenBesluitvormingZelfmanagementRelatievaardigheden
Volledige les genereren

Activiteit 03

Probleemgestuurd onderwijs25 min · Hele klas

Whole Class: Rubber Duck Debugging

Leerlingen krijgen een buggy code snippet en leggen deze stap voor stap uit aan een rubber eend of klasgenoot. De 'luisteraar' stelt alleen vragen. De klas deelt collectief inzichten over veelvoorkomende valkuilen.

Welke strategieën kun je gebruiken om een fout in je code te vinden?

FacilitatietipMaak bij Rubber Duck Debugging duidelijke afspraken over het tempo en de diepgang van de discussie om productieve gesprekken te stimuleren.

Waar je op moet lettenLaat leerlingen in tweetallen werken aan een programmeeropdracht. Nadat ze een eerste versie hebben ingeleverd, wisselen ze van code en proberen ze elkaars code te debuggen. Ze noteren minimaal één bug die ze hebben gevonden en hoe deze is opgelost, en geven feedback op de leesbaarheid van de code.

AnalyserenEvaluerenCreërenBesluitvormingZelfmanagementRelatievaardigheden
Volledige les genereren

Activiteit 04

Probleemgestuurd onderwijs20 min · Individueel

Individual: Persoonlijke Bug Diary

Leerlingen schrijven hun eigen eenvoudige programma, introduceren bugs en documenteren het debugproces met screenshots en stappen. Deel één les later ervaringen in kleine kring.

Wat is een 'bug' in een programma en hoe vind je die?

FacilitatietipStimuleer bij Persoonlijke Bug Diary leerlingen om niet alleen de fout te beschrijven maar ook de stappen die tot ontdekking leidden.

Waar je op moet lettenGeef leerlingen een kort programma met een duidelijke logische fout. Vraag hen om in 5 minuten de fout te identificeren en één regel code aan te passen om deze te corrigeren. Observeer hun aanpak en stel gerichte vragen over hun redenering.

AnalyserenEvaluerenCreërenBesluitvormingZelfmanagementRelatievaardigheden
Volledige les genereren

Enkele opmerkingen over deze eenheid onderwijzen

Ervaren docenten benadrukken dat debuggen het best geleerd wordt door directe ervaring met echte fouten. Vermijd het geven van kant-en-klare oplossingen; in plaats daarvan richt je leerlingen op het stellen van hypotheses en het ontwerpen van tests. Herhaal het belang van kleine, gecontroleerde aanpassingen boven willekeurige wijzigingen in de code.

Succesvolle leerlingen kunnen bugs identificeren, categoriseren en oplossen met behulp van systematische teststrategieën. Ze passen kennis van fouttypen toe in nieuwe situaties en reflecteren op hun eigen foutenanalyse.


Pas op voor deze misvattingen

  • Tijdens Pair Programming: Bug Jacht zie je vaak dat leerlingen alleen op syntaxfouten letten.

    Gebruik de discussie in deze activiteit om leerlingen te wijzen op subtiele logische fouten door hen te vragen: 'Wat zou de output zijn bij deze input?' en 'Waarom verwacht je dat resultaat?'

  • Tijdens Rubber Duck Debugging denken leerlingen dat willekeurige codewijzigingen de beste oplossing zijn.

    Stuur de gesprekken in deze activiteit richting systematische methoden door leerlingen te vragen: 'Welk deel van de code veroorzaakt dit gedrag?' en 'Hoe kunnen we dat isoleren?'

  • Tijdens Testcase Ontwerp gelooft men dat testen pas nodig is als de code 'af' is.

    Benadruk met deze activiteit dat testcases vanaf het begin helpen door leerlingen te laten zien hoe vroege tests ontwerpfouten voorkomen. Gebruik hun eigen testcases als voorbeeld van vroegtijdige validatie.


Methodes gebruikt in dit overzicht