Grafisch programmeren met Google Blockly
Programmeren is het schrijven van een sequentie van opeenvolgende instructies die de computer begrijpt en uitvoert. Het geheel van instructies noemen we een programma en wordt geschreven in een bepaalde taal. Programmeertalen kunnen tekstueel of grafisch zijn. Voorbeelden van tekstuele programmeertalen zijn Python, Java, C,... Om te beginnen met programmeren is het echter gemakkelijker om te starten met een grafische programmeertaal zoals bijvoorbeeld Google Blockly.
Links met leerplan
- Wiskunde
- Technologie
- Informaticawetenschappen
- Talen (indien men wat ingaat op het verband tussen programmeertalen en natuurlijke talen)
Vaardigheden
- Tellen
- Grafisch voorstellen
- Samenwerken
- Probleemoplossend werken
Leeftijd
- Vanaf 8 jaar (tot 14 jaar), de kinderen moeten kunnen lezen
Duur
Ongeveer één lesuur waarvan een tiental minuten voor de nabespreking.
Materiaal
Per groepje van 2 leerlingen is een computer met de gratis browser Google Chrome en internetverbinding nodig. Surf vervolgens naar https://blockly-games.appspot.com.
Indien er geen internetverbinding aanwezig is dan kan je Google Blockly ook (gratis) downloaden. Unzip vervolgens de blockly-games folder. In plaats van met Google Chrome naar de Google Blockly-pagina te surfen moet je nu het index.html-bestand openen uit de blockly-games folder.
Instructies
- Open Google Chrome;
- Surf naar https://blockly-games.appspot.com of open het index.html-bestand;
- Kies rechtsboven voor Nederlands, Vlaams;
- Klik op Doolhof;
- Start met programmeren!
- Opgelet, wis de geschiedenis van de Google Chrome bij het einde van de sessie. Anders onthoudt Google Chrome de oplossingen van de kinderen!
Als je het doolhof opent dan start je met het volgende scherm met links het doolhof, in het midden de beschikbare instructies en rechts het eigenlijke programma:
Door op de knop Programma uitvoeren te klikken zal de computer het programma uitvoeren door de blokjes één na één te overlopen. Het doel is een programma te schrijven zodat het popje (of astronaut, of pandabeer) zijn doel (de rode vlag) bereikt.
In de praktijk
Gaandeweg leren de leerlingen niet alleen een probleem opdelen in verschillende instructies, maar maken ze ook kennis met de verschillende controlestructuren zoals de sequentie, herhalingen en de selectie. Je zal opmerken dat het doolhof gaandeweg moeilijker wordt waarbij niveau 9 en 10 echte uitdagingen zijn!
Probeer de leerlingen te laten nadenken over hoe ze hun programma opbouwen. Dit kan door ze te laten voorspellen hoe hun popje zal bewegen alvorens op Programma uitvoeren te klikken. Zo vermijd je dat ze willekeurig wat blokjes met elkaar gaan combineren.
Sneller klaar?
Sommige leerlingen zijn sneller in het leren programmeren dan anderen. Geef de snellere leerlingen nieuwe uitdagingen zoals de Vogel waarbij er dieper ingegaan wordt op de selectie of (voor de ietwat oudere leerlingen) Film waar leerlingen ook wiskundige vergelijkingen zullen moeten gebruiken.
Discussie
Vergeet niet om na het einde van een programmeersessie ook terug te blikken:
- Wat vonden de leerlingen moeilijk/gemakkelijk?
- Welke soorten blokjes konden ze herkennen? Merk op dat elke soort instructie een andere kleur heeft: paars zijn functies, groen zijn herhalingen en blauw zijn selecties.
- Zijn er verschillende oplossingen voor het zelfde doolhof mogelijk?
Wat extra uitleg
Een programma bestaat uit een opeenvolging, een sequentie, van verschillende éénduidige (en voor de computer begrijpbare) instructies. Hier zie je een sequentie van drie functies (paarse blokjes) waardoor het popje in het doolhof eerst één stap voorwaarts zal bewegen, vervolgens een kwartslag naar links zal draaien om tot slot nog één stap voorwaarts te zetten:
Naast functie-oproepen kan een programma ook bestaan uit een herhaling (groene blok). Dit is handig wanneer een bepaalde opdracht meerdere keren na elkaar moet uitgevoerd worden. In Google Blockly is enkel de voorwaardelijke herhaling beschikbaar. Dit wil zeggen dat de opdracht meerdere keren na elkaar uitgevoerd wordt totdat aan de voorwaarde voldaan is:
Tot slot is het vaak belangrijk dat een programmaverloop zich ontwikkelt afhankelijk van de voorgeschiedenis of de toestand waarin het zich bevindt. In het Doolhof van Google Blockly kan het bijvoorbeeld nodig zijn dat het popje moet controleren of de weg vrij is en op basis hiervan bepaalt om voorwaarts te bewegen of te draaien. Dit kan gerealiseerd worden met de keuze of selectie (blauwe blokjes). We onderscheiden de enkelvoudige selectie (rechts) en de tweevoudige selectie (links):
Bij de enkelvoudige selectie worden de instructies enkel uitgevoerd wanneer aan de conditie voldaan is. Bij de tweevoudige selectie kan men ook een alternatieve sequentie van instructies meegeven.