In de Softwarebus, het magazine van CompUsers, schreef ik in de loop der jaren 24 artikelen over Scratch. Nu dit magazine gestopt is, ga ik verder in PC-Active. In dit deel grijp ik terug op die 24 delen om de lezers van PC-Active op de rit te helpen.
René Suiker
Trouwe lezers van de SoftwareBus moeten het mij maar even vergeven: ik ga in herhaling vervallen, maar geen paniek, we gaan gauw weer verder met de ontwikkelingen.
Ik kan natuurlijk niet 24 afleveringen in één alinea samenvatten. Dat hoeft ook niet, want alle artikelen zijn terug te lezen via de website van CompUsers (compusers.hcc.nl). Maar ik zal iets moeten vertellen om de nieuwe lezers een beetje warm te laten worden voor Scratch, want Scratch is leuk. En het is vooral leuk om het samen te doen, dus (groot)ouders met (klein)kinderen.
Wat is Scratch?
Scratch is een programmeertaal, speciaal voor kinderen. Voor de echte Hollanders: het is gratis, het is beschikbaar in het Nederlands en het draait in een browser zodat je niets hoeft te installeren. Het is dus gericht op kinderen, het ziet er speels uit, maar het is meer dan dat. Het heeft de voordelen van Lego, maar niet de nadelen. Immers, Lego is ook bedoeld voor kinderen, maar menig volwassene bouwt er ook nog mee. Sommige bouwdozen zijn eigenlijk door kinderen helemaal niet (zo eenvoudig) in elkaar te zetten, zelfs diverse volwassenen hebben er moeite mee. En misschien hoor ik daar ook wel bij, ondanks dat ik best wel enig technisch inzicht heb. Maar ik heb niet zulke bouwdozen gekocht, dus ik kan niet uit ervaring spreken.
Maar vaak komt het bouwen erop neer, dat je stap voor stap steeds dichter bij je doel komt. Dat lijkt wel op programmeren. Sterker nog, montage-instructies zijn in feite programma’s, alleen niet voor de computer, maar voor de mens die het pakket bouwt.
Programmeren
Zoals ik al zei, is een programma een reeks van instructies. Een computerprogramma is een reeks van instructies voor de computer. Hiermee kun je een computer dingen laten doen. En programmeren is dus die reeks van instructies maken, zodat de computer doet wat jij wilt. En dat doe je dus in een taal die de computer snapt: een programmeertaal. Nu zijn er ontzettend veel programmeertalen en sommige talen zijn er dan ook nog in diverse varianten. Ik ga ze echt niet allemaal benoemen, maar Scratch is dus een programmeertaal. Er zullen lezers zijn die hebben leren programmeren in Basic, Pascal of C, maar dat ziet er echt heel anders uit. En in die programmeertalen werd je te pas en te onpas geconfronteerd met Syntax Error; geloof me, daar was altijd een goede reden voor!
Bij Scratch is dat verleden tijd. Je kunt denkfouten maken, maar dan doet je programma wel wat je ’m opdraagt, maar niet per se wat jij wilt. Want computers nemen instructies heel letterlijk.
Aan de slag
Om met Scratch aan de slag te gaan, heb je alleen maar een browser nodig en dan ga je naar https://scratch.mit.edu. Ik raad iedereen aan om een account aan te maken. Dat is een fluitje van een cent, dus daar heb je geen toelichting bij nodig. En het is veilig. Je krijgt nauwelijks mail van MIT, want dat is een gerenommeerde technische universiteit die zal vooral z’n goede naam niet te grabbel willen gooien door te gaan spammen. Met een account kun je jouw werk opslaan en met anderen delen.
Afbeelding 1: het startscherm van Scratch
Wanneer je met je browser naar de website https://scratch.mit.edu gaat, krijg je het beeld te zien zoals in afbeelding 1. Even een korte uitleg over de cijfers:
Bij (1) zie je dus de url: https://scratch.mit.edu.
Bij (2) zie je de menubalk en als je op het Scratch-symbool klikt, kom je ook weer op deze pagina terecht. Bij (3) en (4) zie je dynamische inhoud. Bij (3) is dat Wat gebeurt er en bij mijn weten zijn dat de laatste publieke activiteiten binnen mijn netwerk. Als ik de pagina ververs, kan hij er dus al weer heel anders uitzien en als jij naar deze pagina gaat, zie je ook iets heel anders. Bij (4) zie je Scratchnieuws en dat is dus nieuws van Scratch zelf. Ook dit is dynamisch, maar iets meestal minder dynamisch dan de activiteiten. Bij (5) zie je dat ik al ingelogd ben en wel als “softwarebus”. Dat is één van mijn accounts en het account dat ik het meest gebruik als ik artikelen aan het schrijven ben. Bij (6) zie je dat er één bericht voor me klaar staat. Dit is in dit geval een bericht dat iemand mij volgt, maar het kunnen verschillende soorten berichten zijn. Ook hier valt het mee, ik krijg niet zo heel veel berichten en zeker geen spam. Het feit dat er een nieuwe release aankomt vind ik wel een berichtje waard. Bij (7) kun je zoeken, zowel op een naam van een mede-Scratcher (dat is de geuzennaam voor iemand die actief is op Scratch) als op een project maar ook op iets anders, bijvoorbeeld een studio. Bij (8) krijg je een dynamisch overzicht van een aantal Uitgelichte projecten, waarbinnen je ook kunt scrollen. Dit is wel gebaseerd op je persoonlijke voorkeuren. Bij (9) heb je een dynamisch overzicht van uitgelichte studio’s. Studio’s zijn verzamelingen van projecten. Dat kunnen projecten van één gebruiker zijn – één gebruiker kan meerdere studio’s beheren – maar meerdere gebruikers kunnen ook samen een studio beheren. Vaak hebben studio’s een thema. Over studio’s zou ik ook een heel artikel kunnen schrijven, maar daar is dit niet het moment voor.
Projecten zijn dus enkelvoudige Scratch-programma’s; elk Scratch-programma is in feite een project. Als je in de menubalk (2) op Maak klikt, wordt er een nieuw project aangemaakt.
Afbeelding 2: we starten een nieuw project
.
Op het scherm dat dan op je monitor verschijnt, is enorm veel te zien. Bij (1) zie je wederom de url, maar die is nu iets langer, want hier zie je ook de projectcode in de url staan. Tevens zie je aan het eind /editor om aan te geven dat je in de bewerkmodus zit. Als je op (2) klikt, dan kom je op dezelfde url (minus het stukje /editor) en dan zie je een beschrijvende pagina. Voor een nieuw project is dat beslist niet spannend. Ik heb hier overigens een wat ouder plaatje gebruikt, maar het ziet er vandaag nog net zo uit, alleen heeft mijn nieuwe project nu nummer 1126795227. Bij (3) zie je de link naar Lessen om Scratch te leren op de site van Scratch. Bij (4) vind je de optie om je project te delen; daar kom ik later op terug. Bij (5) geef je je project een naam, want standaard heten ze allemaal untitled-xx waarbij xx een volgnummer aangeeft. Het is uiteraard handiger om hier een logische naam te geven. Het opslaan van projecten binnen Scratch kan alleen als je ingelogd bent. Bij (6) vind je de instellingen voor bijvoorbeeld talen en kleurenschema’s. Bij (7) zie je drie tabbladen en de linker is Code. Hier zie je in verschillende kleuren de verschillende groepen van commando’s die je in je programma kunt gebruiken. Bij (8) vind je Uiterlijken, dat zijn de vormen van de objecten (sprites) die je in je programma gebruikt. Bij (9) vind je de geluiden die door je sprites voortgebracht kunnen worden. Overigens kun je ook geluiden aan je achtergrond koppelen.
De commando’s (7) zijn onderverdeeld in een aantal groepen, die door een kleurcode herkenbaar zijn. De gekleurde bolletjes laten je snel naar een categorie springen, want de lijst met commando’s staat gewoon onder elkaar, maar wel gesorteerd per categorie. Met deze blokjes stel je je programma samen in het werkgebied (10). Bij (11) vind je het speelveld. Hier vinden alle activiteiten plaats. Je kunt dit met het icoontje rechtsboven in het speelveld (zie de rode cirkel) ook maximaliseren. Als je programma af is, kun je het dus wat groter afspelen.
Bij (12) vind je een knop om nog wat extra modules in te schakelen. Dat komt later aan de orde. Bij (13) vind je de sprites die onderdeel uitmaken van je project. Boven de geselecteerde sprite (in dit geval is er maar één) zie je wat parameters van de sprite, zoals de naam, de positie en nog wat andere. Bij (14) kun je achtergronden tonen die meedoen. Met de knoppen bij (15) kun je sprites respectievelijk achtergronden toevoegen. Hierbij kun je een keuze maken uit beschikbare materialen, of zelf tekenen of uploaden. Je kunt dus bijvoorbeeld in Blender een fantastische achtergrond ontwerpen en deze dan in Scratch importeren.
Scratch leren
Je kunt Scratch leren door een boek te kopen, door mijn artikelen (terug) te lezen, door een cursus aan te schaffen of door op YouTube te kijken, maar je kunt ook gewoon op de site van Scratch kijken wat er allemaal aangeboden wordt. Zoals ik hiervoor al benoemde, verzorgt Scratch ook lessen. Maar het beste leer je Scratch (en feitelijk elke programmeertaal) het best door het gewoon te doen. En daarvoor zitten dus doorgaans opdrachten in mijn artikelen verweven, waarmee ik je hopelijk uitdaag om zelf aan de slag te gaan.
Ik begon de reeks ergens in 2018 en toen liet ik de kat in afbeelding 2 lopen. In de buurt van nummer 20 begon ik met het spel Bricks, een oude arcadegame. In bijvoorbeeld Basic zou je hier ettelijke tientallen pagina’s aan code voor nodig hebt. In Scratch heb je ongeveer één pagina per actieve sprite nodig en dan zijn de codeblokken die je gebruikt nog best groot. Het project Bricks kun je bekijken op https://scratch.mit.edu/projects/923093824/.
Programmeren
![]() |
Afbeelding 3: lussen binnen een lus |
Je kunt een programma opstellen door reeksen van instructies achter elkaar te zetten. Je moet ze in feite, net als legostenen, in elkaar klikken. Als het niet ‘klikt’, dan is de combinatie van instructies in die volgorde niet werkend.
Zoals je op afbeelding 3 ziet, kan lussen binnen een lus, maar je kunt ze niet op gekke manieren in elkaar wringen. Dat wil overigens niet zeggen dat je geen programmeerfouten zou kunnen maken. Je kunt nog steeds fouten maken, maar dan doet de computer nog steeds wat je zegt. En je kunt je programma ook altijd stoppen met de rode stip, ook als je in een eeuwige lus zit.
Het is dus zaak om goed na te blijven denken over wat je doet. En daarom zijn er dus ook de oefeningen, zodat je langzaamaan van absolute beginner doorgroeit naar redelijk gevorderd programmeur.
Vroeger, toen ik nog leerde programmeren, werden we gestimuleerd om eerst bijvoorbeeld stroomdiagrammen te maken om aan te geven wat het programma ging doen. Zeker voor de wat grotere programma’s is dat nog steeds een aanrader. Gewoon beginnen met coderen maakt het lastig om achteraf denkfouten terug te vinden. Maar het kan vaak nog wel, bijvoorbeeld door je variabelen zichtbaar te maken. In Scratch is dat een fluitje van een cent en hoef je niet vele regels code door om op die manier fouten te zoeken. Je kunt elke variabele op je scherm zetten en dat doe je bij de variabele zelf. Als je programma dus werkt, zet je deze weer uit en heb je er geen last meer van.
![]() |
|
Afbeelding 4: door in het blokje voor de variabele een vinkje te zetten wordt de variabele in het speelveld afgebeeld |
In principe heb je maar een paar variabelen nodig tijdens de uitvoering, maar in de ontwikkelfase is het handig om daar ruimhartig mee om te gaan, zodat je goed kunt zien wat er gebeurt (en dus ook wat er misgaat).
Tot zover de terugblik
Je hebt nu een indruk van Scratch gekregen. Je kunt er een echt programma mee kunt maken, al oogt het nog zo kinderlijk.
Je kunt op de website van CompUsers (www.compusers.nl) via de SoftwareBus de oude artikelen teruglezen. Je kunt ook aansluiting zoeken bij het Platform GameOntwerp, die onze activiteiten rondom Scratch ondersteunt en waarover je op pagina 90 meer informatie vindt. Ook HCC!AI (artificiële intelligentie, ook wel kunstmatige intelligentie of artificial intelligence) houdt zich trouwens bezig met Scratch, zelfs op een meer serieuze manier.