Voor de leerkracht
Leerdoelen
Na deze les kunnen de leerlingen:
- De leerling kan uitleggen wat debuggen (fouten opsporen) is en waarom het belangrijk is.
- De leerling kan blokcode en het gedrag van de robot onderzoeken om een fout in een programma te vinden.
- De leerling kan blokcode aanpassen en het programma testen om de fout op te lossen.
Voorbereiding
Benodigdheden
- Tablet/computer
Materialen voor de leerkracht
Materialen voor de leerlingen
- 1 Ozobot Evo per leerling
- 1 OzoBlockly-editor per leerling
- OzoBlockly: https://ozoblockly.com/editor
Lesverloop
-
Stap 1: Introductie
Debuggen (fouten opsporen) is belangrijk als je leert programmeren. Je leerlingen zullen tijdens het programmeren fouten in hun code tegenkomen. Debuggen (fouten opsporen) is het zoeken naar en verbeteren van fouten in programma’s.
Soms is een fout makkelijk te vinden. In andere gevallen moeten leerlingen hun code meerdere keren aanpassen en opnieuw testen voordat de fout is opgelost.
Een fout kan ontstaan doordat een blok op de verkeerde plek in de reeks staat, een blok helemaal ontbreekt of een blok een verkeerde instelling heeft.
Een fout kan ook met meerdere blokken te maken hebben. In dat geval kunnen leerlingen het probleem opsplitsen in kleinere stappen om het op te lossen.
-
Stap 2: Overzicht
Vertel de leerlingen dat ze codedetective worden. Er zitten fouten in het programma van Ozobot. De robot heeft hun hulp nodig om die te vinden en te verbeteren.
Na deze les kunnen leerlingen:
- Uitleggen wat debuggen (fouten opsporen) is en waarom het belangrijk is.
- Blokcode en het gedrag van hun robot onderzoeken om een fout in een programma te vinden.
- Blokcode aanpassen en het programma testen om de fout op te lossen.
-
Stap 3: Bouw het programma met fouten
Laat de leerlingen samen met jou het programma met fouten bouwen.
- Open eerst OzoBlockly en klik op niveau 3.
- Ga daarna naar Lichteffecten in het blokkenpaneel. Klik op drie blokken stel de kleur van het bovenste lampje in en sleep ze naar het werkgebied.
- Stapel de blokken vervolgens op elkaar.
- Klik daarna op de rode kleur om de kleur van de eerste twee blokken te veranderen. Geef het eerste blok de kleur groen en het tweede blok de kleur geel. De kleuren van de blokken vormen zo een reeks zoals bij een verkeerslicht: groen, geel en rood.
- Ga nu naar Beweging in het blokkenpaneel. Klik op het blok grote cirkel, gemiddelde snelheid, vooruit, links, 1 seconde en sleep het onder het blok met de groene kleur.
- Klik daarna op het blok kleine cirkel, gemiddelde snelheid, vooruit, links, 1 seconde en sleep het onder het blok met de gele kleur.
- Ga tot slot naar Tijd in het blokkenpaneel. Klik op het blok wacht 1 seconde en sleep het onder het blok met de rode kleur.
-
Stap 4: Voer het programma uit en analyseer het gedrag van je robot
Het programma moet ervoor zorgen dat de robot snel een volledige grote cirkel rijdt nadat het lampje groen wordt, langzaam een volledige kleine cirkel rijdt nadat het lampje geel wordt en stopt nadat het lampje rood wordt. De robot moet deze reeks drie keer herhalen.
Laat de leerlingen het programma uitvoeren, hun robot observeren en de volgende vragen beantwoorden:
- Rijdt de robot snel een volledige grote cirkel als het lampje groen is?
- Rijdt de robot een volledige kleine cirkel als het lampje geel is?
- Stopt de robot als het lampje rood wordt?
- Herhaalt de robot de reeks drie keer?
De leerlingen zouden moeten opmerken dat hun robot niet doet wat de bedoeling is.
-
Stap 5: Spoor de eerste fout op
Bij het uitvoeren van het programma heb je misschien drie verschillende fouten opgemerkt. De robot reed niet lang genoeg om elke cirkel af te maken, veranderde niet van snelheid en herhaalde de reeks niet.
- Bekijk de code opnieuw om de eerste fout op te lossen. De robot rijdt niet lang genoeg om de eerste volledige cirkel af te maken als het lampje groen is en de tweede volledige cirkel als het lampje geel is. Deze fout zit in de instellingen van twee blokken in de reeks.
- Zoek het blok dat de robot de eerste, grote cirkel laat rijden. Vertel de leerlingen dat ze de tijd, dus het aantal seconden, in dit blok moeten aanpassen. Vraag of ze het aantal seconden gaan verhogen of verlagen.
- Zoek het blok dat de robot de tweede, kleine cirkel laat rijden. Vertel de leerlingen dat ze ook in dit blok de tijd, dus het aantal seconden, moeten aanpassen. Vraag of ze het aantal seconden gaan verhogen of verlagen en of de tijd hetzelfde moet zijn als bij het blok grote cirkel.
-
Stap 6: Spoor de tweede fout op
Laat de leerlingen hun code opnieuw bekijken om de tweede fout op te lossen. Leg uit dat de robot snel moet rijden als het lampje groen wordt en langzaam als het lampje geel wordt. Ook deze fout zit in de instellingen van twee blokken in de reeks.
- Laat de leerlingen het blok zoeken dat de snelheid van de robot bepaalt als het lampje groen is. De robot moet snel rijden als het lampje groen is. De snelheid in dit blok moet dus worden aangepast.
- Laat de leerlingen vervolgens het blok zoeken dat de snelheid van de robot bepaalt als het lampje geel is. De robot moet langzaam rijden als het lampje geel is. Ook de snelheid in dit blok moet worden aangepast.
-
Stap 7: Spoor de derde fout op
Laat de leerlingen nu hun code opnieuw bekijken om de derde en laatste fout op te lossen. Leg uit dat de robot de reeks drie keer moet herhalen. Deze fout ontstaat doordat er een blok helemaal ontbreekt in de reeks.
- Vraag de leerlingen of ze nog weten hoe een blok heet dat een reeks herhaalt. Zo’n blok heet een herhaling.
- Laat de leerlingen naar Herhalingen in het blokkenpaneel gaan om een herhaling met een vast aantal herhalingen toe te voegen. De robot moet de reeks drie keer uitvoeren.
-
Stap 8: Voer het programma opnieuw uit
Vertel de leerlingen dat het tijd is om het programma opnieuw uit te voeren en het gedrag van hun robot te observeren! Als hun robot geen twee volledige cirkels rijdt, moeten ze hun code opnieuw aanpassen en het aantal seconden verder verhogen. In het volgende onderdeel krijg je het juiste programma zonder fouten te zien.
-
Stap 9: Programma zonder fouten
Vertel de leerlingen dat ze nu het proces van debuggen (fouten opsporen) hebben doorlopen!
Ze zouden de snelheid in het blok grote cirkel moeten hebben veranderd naar heel snel en het aantal seconden moeten hebben verhoogd naar 3.
Ook zouden ze de snelheid in het blok kleine cirkel moeten hebben veranderd naar langzaam en het aantal seconden moeten hebben verhoogd naar 5.
Tot slot zouden ze een herhaling met een vast aantal herhalingen moeten hebben toegevoegd, ingesteld op herhaal 3 keer en om de hele reeks heen geplaatst.
-
Stap 10: Terugblik op de les
Kies eventueel een van de onderstaande manieren om tussentijds te controleren of de leerlingen de lesstof begrijpen.
Laat de leerlingen aan een klasgenoot, op papier of in een groepsgesprek uitleggen:
- Hoe ze door hun robot te observeren wisten dat er fouten in hun programma zaten.
- Wat ze in hun code hebben veranderd en waarom.
- Wat debuggen (fouten opsporen) is en waarom het belangrijk is.
Afsluiting
Gebruik na elke les de werkkaart om leerlingen een logboek over informatica te laten bijhouden. Je kunt ook vragen uit de werkkaart gebruiken voor een afsluitende toets aan het einde van de lessenreeks.
Meer uitdaging
- Laat de leerlingen een opdrachtkaart Programma met fouten kiezen om zelfstandig of samen met een klasgenoot te oefenen met debuggen (fouten opsporen).
Aanvullend materiaal
- Opdrachtkaart Programma met fouten
Voor de leerlingen
Word codedetective: spoor fouten op
Er zitten fouten in een programma voor Ozobot. Onderzoek wat je robot doet, verbeter de code en test opnieuw.
Je hebt nodig
- Ozobot Evo
- Computer of tablet met OzoBlockly
Zo ga je te werk
Stap 1: Bouw het programma
Open OzoBlockly en kies niveau 3. Ga naar Lichteffecten. Sleep drie blokken stel de kleur van het bovenste lampje in naar het werkgebied en stapel ze op elkaar. Stel de kleuren in op groen, geel en rood. Voeg onder groen het blok grote cirkel, gemiddelde snelheid, vooruit, links, 1 seconde toe. Voeg onder geel het blok kleine cirkel, gemiddelde snelheid, vooruit, links, 1 seconde toe. Voeg onder rood het blok wacht 1 seconde toe.
Stap 2: Test je programma
Voer het programma uit. Kijk goed naar je Ozobot. Rijdt hij een grote cirkel bij groen en een kleine cirkel bij geel? Stopt hij bij rood? Herhaalt hij de reeks drie keer?
Stap 3: Pas de eerste fout aan
De cirkels zijn misschien niet af. Zoek de blokken voor de grote en kleine cirkel. Verhoog in beide blokken het aantal seconden.
Stap 4: Pas de tweede fout aan
Zoek het blok voor de grote cirkel. Stel de snelheid in op heel snel. Zoek het blok voor de kleine cirkel. Stel de snelheid in op langzaam.
Stap 5: Pas de derde fout aan
Ga naar Herhalingen. Voeg een blok herhaling met een vast aantal herhalingen toe. Stel het in op herhaal 3 keer. Zet de hele reeks in dit blok.
Stap 6: Test opnieuw
Voer het programma opnieuw uit. Kijk of je Ozobot twee volledige cirkels rijdt en de reeks drie keer herhaalt. Is een cirkel nog niet af? Verhoog dan het aantal seconden en test opnieuw.
Stap 7: Kies een extra opdracht
Kies eventueel de opdrachtkaart Programma met fouten. Oefen alleen of samen met een klasgenoot met debuggen (fouten opsporen).
Werkkaarten
De werkkaarten zitten in de PDF van deze les. Print ze op 100% (werkelijke grootte), niet op “passend maken”: dan rijdt Ozobot precies over de lijnen.
Download de les met alle werkkaarten (PDF) (opent in een nieuw tabblad)
Video’s
SLO-leerdoelen
Met deze les werk je aan de volgende leerdoelen voor digitale geletterdheid (computational thinking) van SLO:
- 5.1 Opdelen van een eenvoudige taak in deeltaken. Probleemdecompositie
- 7.11 Ontdekken van fouten in algoritmes door logisch redeneren en verbeteren hiervan (debugging). Algoritmes en procedures
- 7.12 Opdoen van praktische ervaring met een programmeeromgeving (software). Algoritmes en procedures
- 7.13 Beschrijven van een herhalingslus met een vast aantal herhalingen. Algoritmes en procedures




