Voor de leerkracht
Leerdoelen
Na deze les kunnen de leerlingen:
- De leerling kan uitleggen wat debuggen (fouten opsporen) inhoudt.
- 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 Ozobot Blockly-editor per leerling
Lesverloop
-
Stap 1: Introductie
Gebruik de instructievideo om je leerlingen door de activiteit te begeleiden. Je kunt ook de instructies hieronder volgen. Bepaal vooraf of leerlingen tijdens je uitleg met je meewerken, of dat je eerst voordoet en hen daarna zelfstandig laat oefenen.
Leg aan de leerlingen uit dat programmeurs vaak fouten in hun code hebben. Er zit een fout in de code als een programma wordt uitgevoerd en de robot niet doet wat de bedoeling is. Om zulke fouten op te lossen, gaan programmeurs debuggen (fouten opsporen). Daarbij zoeken en verbeteren ze fouten in programma’s. Soms is een fout gemakkelijk te vinden. Soms moet je de code aanpassen en meerdere keren opnieuw testen voordat de fout is opgelost.
Debuggen (fouten opsporen) is een belangrijk onderdeel van leren programmeren. Een fout kan ontstaan doordat één blok op de verkeerde plek in de reeks staat, één blok helemaal ontbreekt of één blok een verkeerde instelling heeft. Er kan ook een fout ontstaan doordat meerdere blokken op de verkeerde plek staan, ontbreken of verkeerde instellingen hebben.
-
Stap 2:
Vraag de leerlingen of ze klaar zijn om codedetective te worden. Ze gaan fouten zoeken in de programmering van Ozobot. Daarna helpen ze Ozobot door de fouten op te lossen.
In deze les gaan de leerlingen:
- Uitleggen wat debuggen (fouten opsporen) inhoudt.
- Blokcode en het gedrag van de robot onderzoeken om een fout in een programma te vinden.
- Blokcode aanpassen en het programma testen om de fout op te lossen.
-
Stap 3: Een fout herkennen door naar je robot te kijken
Je doet dit onderdeel voor aan de leerlingen. Open Ozobot Blockly en ga naar niveau 2 om het voorbeeldprogramma te bouwen, maar laat het nog niet aan de leerlingen zien. Vertel dat je hun hulp kunt gebruiken. Je wilt dat de robot de volgende reeks uitvoert: vooruit schaatsen, de lampjes laten branden als een discobal, naar links ronddraaien en vijf stappen achteruit rijden. Je hebt alle benodigde codeblokken gebruikt, maar er klopt iets niet. Voer het programma uit en laat de leerlingen naar de robot kijken om de fouten in het programma te ontdekken.
Deed de robot het volgende?
- vooruit schaatsen
- de lampjes laten branden als een discobal
- naar links ronddraaien
- achteruit rijden
- de reeks een tweede keer uitvoeren
-
Stap 4: Een fout herkennen door naar je code te kijken
Vertel de leerlingen dat ze waarschijnlijk hebben gezien dat de robot niet deed wat je wilde. Dat betekent dat er fouten in je programma zitten. Je wilde dat de robot vooruit schaatste, de lampjes liet branden als een discobal, naar links ronddraaide en achteruit reed. In plaats daarvan schaatste de robot vooruit, draaide hij naar links rond, liet hij de lampjes branden als een discobal en reed hij vooruit. De eerste fout is dat de robot ronddraaide terwijl hij de lampjes moest laten branden als een discobal. De tweede fout is dat hij vooruit reed terwijl hij achteruit moest rijden. Laat de leerlingen nu kijken naar de codeblokken waarmee je het programma hebt gemaakt. Vraag hun de fouten in je code te zoeken. Welk blok staat op de verkeerde plek in de reeks? Bij welk blok is de verkeerde richting ingesteld?
-
Stap 5: Een fout oplossen
Laat de leerlingen na het bekijken van de code vertellen welke fouten ze hebben gevonden. Bevestig dat het discoblok onder het blok voor vooruit schaatsen moet staan. Verplaats het discoblok. Bij het verplaatsingsblok moet je in het keuzemenu ‘vooruit’ veranderen in ‘achteruit’. Pas dit aan. Leg uit dat je het programma nu opnieuw gaat uitvoeren om te controleren of je aanpassingen werken. Laat de leerlingen naar de robot kijken. Schaatst hij eerst vooruit? Laat hij daarna de lampjes branden als een discobal? Draait hij vervolgens naar links rond? Rijdt hij als vierde achteruit? Wordt de reeks herhaald, zodat deze in totaal twee keer wordt uitgevoerd?
-
Stap 6: Het programma met fouten bouwen
Nu de leerlingen je hebben geholpen om een programma met fouten te verbeteren, gaan ze oefenen met hun eigen robot. Laat hen Ozobot Blockly openen en op niveau 2 klikken om het programma met fouten te bouwen.
Doe voor hoe je het programma met fouten bouwt en begeleid de leerlingen met de onderstaande stappen.
Ga eerst naar Lichteffecten in het blokkenpaneel. Klik op twee blokken ‘stel kleur bovenste lampje in op’ en sleep ze naar je werkruimte. Zorg dat ze aan elkaar vastzitten.
Verander vervolgens de kleur in het eerste blok ‘stel kleur bovenste lampje in op’ naar groen en in het tweede blok naar rood.
Ga daarna naar Beweging in het blokkenpaneel. Klik op een blok ‘rij vooruit, afstand 1 stap, snelheid gemiddeld’ en sleep het naar je werkruimte. Plaats het onder het blok ‘stel kleur bovenste lampje in op rood’.
Verander daarna de afstand van ‘1 stap’ naar ‘3 stappen’.
Ga nu naar Tijd in het blokkenpaneel. Klik op een blok ‘wacht 1 seconde’ en sleep het onder het verplaatsingsblok.
Ga tot slot naar Herhalingen in het blokkenpaneel. Klik op een herhaalblok met een vast aantal herhalingen en sleep het om de hele reeks heen.
Verander daarna het aantal van 2 keer naar 3 keer.
-
Stap 7: Het programma uitvoeren en het gedrag van je robot bekijken
Vertel de leerlingen na het bouwen wat het programma eigenlijk moet doen. De robot moet zijn lampje groen laten branden, heel snel vooruit rijden, zijn lampje rood laten branden, stoppen en wachten. Daarna moet hij de reeks nog twee keer herhalen.
Doe voor hoe de leerlingen hun robot verbinden door op het Evo-pictogram te klikken en de robot met hun apparaat te koppelen. Begeleid hen hierbij. Laat de leerlingen daarna op ‘Programma uitvoeren’ klikken en naar hun robot kijken.
Doet de robot het volgende?
- het lampje groen laten branden
- heel snel vooruit rijden
- het lampje rood laten branden
- stoppen en wachten
- de reeks herhalen
-
Stap 8: Je code bekijken en de fouten vinden
Vraag de leerlingen of ze hebben gezien dat hun robot niet deed wat ze wilden. Dat betekent dat er fouten in hun programma zitten.
De robot moet:
- het lampje groen laten branden
- heel snel vooruit rijden
- het lampje rood laten branden
- stoppen en wachten
- herhalen
In plaats daarvan deed de robot het volgende:
- het lampje groen laten branden
- het lampje rood laten branden
- met gemiddelde snelheid vooruit rijden
- stoppen en wachten
- herhalen
Vertel de leerlingen dat er twee fouten in de code zitten. Vraag hun die twee fouten te zoeken. Welk blok staat op de verkeerde plek? Welk blok heeft een verkeerde instelling?
-
Stap 9: Debuggen (fouten opsporen) en het programma uitvoeren
Vraag de leerlingen of ze hebben opgemerkt dat de blokken ‘stel kleur bovenste lampje in op rood’ en ‘rij vooruit met gemiddelde snelheid’ in de verkeerde volgorde staan. Het blok ‘rij vooruit’ moet vóór het blok ‘stel kleur bovenste lampje in op rood’ staan. Begeleid de leerlingen bij het verslepen van het verplaatsingsblok, zodat het direct na het blok ‘stel kleur bovenste lampje in op groen’ komt te staan.
Vraag de leerlingen of ze ook hebben gezien dat de snelheid van het verplaatsingsblok op ‘gemiddeld’ staat. De snelheid moet op ‘heel snel’ staan. Begeleid de leerlingen bij het veranderen van de snelheid naar ‘heel snel’ via het keuzemenu.
Laat de leerlingen het programma nu opnieuw uitvoeren om te controleren of ze de fouten hebben opgelost.
-
Stap 10: Afronding
Kies eventueel een van de onderstaande manieren om tussentijds te controleren wat je leerlingen begrijpen.
Laat de leerlingen aan een klasgenoot, op papier of in een groepsgesprek uitleggen:
- welke codeblokken ze in hun programma hebben gebruikt en waarom
- welk probleem ze tegenkwamen en hoe ze dat probeerden op te lossen
- hoe hun robot zich gedroeg door de gebruikte codeblokken en of de robot het programma correct uitvoerde
- wat debuggen (fouten opsporen) inhoudt en waarom het belangrijk is
-
Stap 11: Op zoek naar meer?
Geef de leerlingen de opdrachtkaarten ‘Programma met fouten’ om zelfstandig te oefenen met debuggen (fouten opsporen).
Afsluiting
Gebruik de werkkaart na elke les om leerlingen een informaticadagboek te laten bijhouden. Je kunt ook vragen uit de werkkaart gebruiken voor een eindtoets aan het einde van de lessenreeks.
Meer uitdaging
- Geef de leerlingen de opdrachtkaarten ‘Programma met fouten’ om zelfstandig te oefenen met debuggen (fouten opsporen).
Voor de leerlingen
Word een codedetective!
Zoek fouten in code en help Ozobot doen wat de bedoeling is. Je test je programma en verbetert het.
Je hebt nodig
- Een Ozobot Evo
- Een apparaat met Ozobot Blockly
Zo ga je te werk
Stap 1: Kijk naar de robot
Kijk wat de robot doet met het programma van je leerkracht. Onthoud wat anders gaat dan de bedoeling.
Stap 2: Zoek de fouten
Bekijk de code. Welk blok staat op de verkeerde plek? Welk blok heeft de verkeerde richting?
Stap 3: Bouw het programma
Open Ozobot Blockly en kies niveau 2. Bouw het programma van het voorbeeld van je leerkracht na, met de blokken in dezelfde volgorde. Gebruik twee lampblokken: zet het eerste lampje op groen en het tweede op rood. Zet de beginsnelheid op gemiddeld en de wachttijd op 1 seconde. Zet de afstand op 3 stappen en laat de reeks 3 keer herhalen.
Stap 4: Voer je programma uit
Koppel je Evo aan je apparaat. Klik op ‘Programma uitvoeren’ en kijk goed wat je robot doet.
Stap 5: Zoek de fouten in je code
De bedoeling is: groen licht → heel snel vooruit → rood licht → 1 seconde wachten. Deze reeks moet 3 keer worden herhaald. Vergelijk wat je robot doet met deze volgorde en instellingen. Welk blok staat op de verkeerde plek? Welk blok heeft de verkeerde instelling?
Stap 6: Pas je code aan
Zet het blok voor vooruit rijden direct na het groene lampje. Verander de snelheid naar heel snel.
Stap 7: Test opnieuw
Voer je programma nog een keer uit. Kijk of je robot nu doet wat de bedoeling is.
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
SLO-leerdoelen
Met deze les werk je aan de volgende leerdoelen voor digitale geletterdheid (computational thinking) van SLO:
- 7.7 Begrijpen dat computerprogramma's iets uitvoeren door het volgen van precieze en ondubbelzinnige instructies. Algoritmes en procedures
- 7.11 Ontdekken van fouten in algoritmes door logisch redeneren en verbeteren hiervan (debugging). Algoritmes en procedures
- 7.17 Voorspellen van gedrag bij de werking van simpele (computer)programma's door logisch te redeneren. Algoritmes en procedures




