Wil je je kinderen warm maken om te leren programmeren, zonder ze meteen af te schrikken door de steile leercurve? Dan hebben we de perfecte oplossing voor jou: Scratch, een visuele programmeertaal voor kinderen tussen 8 en 16 jaar oud (Filip Vervloesem)

Je moet al over een goede dosis intelligentie én doorzettingsvermogen beschikken om op jongere leeftijd te leren programmeren. Programmeren in pakweg Python lijkt misschien niet erg moeilijk, maar het kost je toch wel wat tijd om de basissyntax onder de knie te krijgen. Er zijn genoeg redenen om snel af te haken: het duurt even vooraleer je een echt bruikbaar programma kunt schrijven, de mogelijkheden zijn zo uitgebreid dat je al gauw niet meer weet waar te beginnen, het kan erg frustrerend zijn om syntaxfouten op te sporen, enzovoorts. Gelukkig bestaan er ook programmeertalen die je de basisconcepten van programmeren aanleren op een eenvoudige én aangename manier. Het bekendste voorbeeld is Scratch. Die programmeertaal is ontwikkeld voor kinderen vanaf 8 jaar. Er bestaat ook een variant voor kinderen tussen 5 en 8 die nog niet (goed) kunnen lezen: ScratchJr. In dit artikel bekijken we kort de mogelijkheden van Scratch en laten we zien hoe je snel start met programmeren.

 

Aan de slag

Starten met Scratch is erg eenvoudig: je surft naar https://scratch.mit.edu en klikt op één van de knoppen in de navigatiebalk bovenaan:

– Maak: opent de Scratch-editor om meteen je eerste programma te maken.

– Ontdek: blader door voorbeeldprogramma’s van andere Scratch-gebruikers. Je kunt de programma’s in de browser uitvoeren en nadien de onderliggende code bestuderen om bij te leren.

– Ideeën: kies één van de tutorials om een bepaalde subset te leren van de mogelijkheden van Scratch.

 

Je kunt jouw code altijd op je eigen pc bewaren om later verder te werken aan je programma. Bewaar je ze liever op de server van Scratch, zodat je jouw programma’s op meerdere pc’s kunt openen of eenvoudig kunt delen met anderen? Klik dan op de knop Word Scratcher rechtsboven om een account aan te maken. Nadat je bent ingelogd, verschijnen er twee extra opties in het Bestand menu om de code in de cloud te bewaren.

 

Installeren

Werk je liever volledig offline, dan installeer je Scratch op jouw eigen Linux-computer. Op de officiële downloadpagina (https://scratch.mit.edu/download) vind je jammer genoeg (nog) geen versie voor Linux: enkel Windows, macOS, ChromeOS en Android worden ondersteund. Gelukkig bevatten de meeste distributies wel een installatiepakket voor Scratch. In Linux Mint kies je best de versie “Scratch (Flathub)” in Softwarebeheer, want die is heel wat nieuwer dan de standaardversie in Mint. Je vindt ook recente installatiepakketten voor verschillende distributies op https://scratux.org.

## 01_installatie.png: In Linux Mint installeer je Scratch best via Flathub.

 

Blokken

Scratch is geen algemene programmeertaal om de meest uiteenlopende problemen op te lossen. Het is vooral gericht op multimedia zoals animaties, geluid en eenvoudige spellen. De interface is opgedeeld in drie onderdelen:

– links staat een lijst van alle beschikbare codeblokken, onderverdeeld in een tiental categorieën (elk met hun eigen kleur).

– in het midden bouw je je programma op.

– rechts zie je het resultaat van jouw code: de knop met het groene vlagje start jouw programma en de rode knop ernaast stopt het programma.

 

Programmeren in Scratch doe je door verschillende blokken naar het lege venster in het midden te slepen en aan elkaar te koppelen. De keuze van de blokken, de volgorde ervan en de ingestelde parameters bepalen het gedrag van jouw programma. Een programma bestaat uit meerdere reeksen aangekoppelde blokken. Je kunt een reeks aaneengekoppelde blokken uitvoeren door erop te klikken. Op die manier test je al een deel van je code vooraleer het programma volledig uitgewerkt is.

 

02_blokken.png: Je programmeert door de gewenste blokken in de juiste volgorde te plaatsen.

 

Basisprincipes

Op het eerste zicht lijkt Scratch misschien kinderlijk eenvoudig, maar toch is het een goed opstapje om later een echte programmeertaal te leren. Scratch leert je immers verschillende belangrijke basisprincipes aan die je voor elke programmeertaal nodig hebt. Je vindt ze vooral terug in de onderste helft van de categorieën:

– Besturen bevat bijvoorbeeld loops en conditional statements.

– onder Waarnemen vind je blokken terug om te reageren op invoer van muis of toetsenbord.

– Functies bevat naast blokken voor wiskundige berekeningen ook de vergelijkingen groter dan/kleiner dan/gelijk aan en de logische operators en/of/niet.

– Variabelen leert je werken met variabelen, een cruciaal concept bij programmeren.

– via Mijn blokken definieer je je eigen functies om jouw favoriete codeblokken makkelijker te hergebruiken. Ook dat is onmisbare kennis om later sneller over te stappen naar een andere programmeertaal.

## 03_loops.png: Scratch bevat ook eenvoudige loops en conditional statements.

 

Community

De Scratch-website is niet alleen een online editor, maar ook de toegangspoort tot een actieve community. De nadruk ligt sterk op het delen en aanpassen van elkaars code, wat meteen een mooie kennismaking is met de open source wereld. Wie van jongs af aan op die manier leert programmeren, zal later vanzelf de voorkeur geven aan open source software! Heb je een leuk voorbeeld gevonden op de website, dan klik je op de groene Remix-knop om de code te kopiëren en meteen aan te passen. Snap je niet goed hoe die code precies werkt, dan stel je gewoon je vraag bij het oorspronkelijke project. Ben je klaar met jouw aanpassingen? Dan deel je uiteraard ook jouw project met de rest van de community! In het overzicht van projecten zie je duidelijk welke projecten op elkaar gebaseerd zijn. Zo kun je nadien gemakkelijk nagaan of jouw code nog door anderen is aangepast. Wie weet, leer je nog iets bij van hen?

 

Uitbreidingen

Je kunt Scratch van extra mogelijkheden voorzien door zogenaamde uitbreidingen te installeren. Die vind je achter de blauwe knop links onderaan het scherm van de editor. Je vindt er bijvoorbeeld uitbreidingen om muziek te spelen (met een twintigtal verschillende instrumenten), je webcam te gebruiken, tekst om te zetten naar spraak of tekst te vertalen via Google. Een groot voordeel is dat Scratch ook uitbreidingen aanbiedt voor verschillende educatieve elektronicasets, zoals LEGO Mindstorms, BBC micro:bit of Makey Makey. Want zeg nu zelf: een LEGO robot aansturen of je eigen mini game mét bijpassende game-controller maken met Makey Makey is toch gewoon de leukste manier om te leren programmeren?

## 04_uitbreidingen.png: Uitgekeken op de standaardmogelijkheden? Installeer dan één van de uitbreidingen!

 

Leuk én leerrijk

Dankzij Scratch kunnen kinderen al spelenderwijs de eerste stappen zetten om te leren programmeren. De nadruk ligt op animaties en games, zodat ze er niet snel op uitgekeken geraken. De visuele manier van programmeren (blokken verslepen en combineren) vermijdt veel frustraties over syntaxfouten. Het wordt nóg leuker als je Scratch combineert met hardwareplatformen zoals LEGO Mindstorms. Als kers op de taart is er een hele community rond Scratch ontstaan, waar iedereen code deelt, aanpast en van elkaar kan leren. Als open source adepten kunnen we ons geen beter ecosysteem indenken voor de jongste programmeurs!

 

P.S. Wil je dieper in Scratch duiken? Bekijk dan eens de gratis cursus op https://techacademy.id.nl/course?courseid=scratch.