Blokgebaseerde programmeeromgevingen worden steeds meer de eerste codeerervaring voor veel leerlingen1, nu steeds meer scholen informaticacursussen en curricula beginnen te introduceren en uit te breiden. Een van de meest populaire, op blokken gebaseerde programmeertalen heet Scratch2(scratch.mit.edu). Elke dag worden er meer dan 1.500 nieuwe programmeerprojecten geüpload naar de Scratch-site3. VEXcode wordt zelf aangedreven door Scratch-blokken.
Een van de voornaamste motivaties achter het ontstaan van Scratch is dat veel jonge studenten het programmeren met op tekst gebaseerde programmeertalen te moeilijk vinden4, omdat deze studenten zowel het typen als de syntaxis moeilijk onder de knie krijgen. Als gevolg hiervan zijn op blokken gebaseerde programmeertalen ontworpen voor leerlingen vanaf de kleuterschool, maar de meeste zijn ontworpen voor leerlingen tussen de 8 en 16 jaar. Blokgebaseerd programmeren, inclusief VEXcode, biedt verschillende voordelen voor beginnende programmeurs5.
- Leesbaarheid:Op blokken gebaseerde programmeertalen hebben opdrachten die veel gemakkelijker te lezen zijn dan op tekst gebaseerde opdrachten.
- Memoriseren:Op blokken gebaseerde programmeertalen hebben al hun opdrachten zichtbaar voor de gebruiker. Bij op tekst gebaseerde programmeertalen moeten opdrachten vaak uit het hoofd worden geleerd. Bovendien moeten gebruikers de syntaxis onthouden die aan de tekstopdrachten is gekoppeld. Er is geen syntaxis gekoppeld aan op blokken gebaseerde opdrachten.
- Typen/Spelling:Jongere leerlingen hebben moeite met het gebruik van een toetsenbord. Spelfouten worden compilerfouten met een op tekst gebaseerde programmeertaal. Blokgebaseerde programmeertalen gebruiken slepen en neerzetten. Daarom is typen en beheersing van de spelling niet nodig.
Hoewel bewezen is dat het voor beginnende gebruikers gemakkelijker is om te beginnen met programmeren met een op blokken gebaseerde programmeertaal, is het nog steeds belangrijk om je af te vragen of op blokken gebaseerde talen effectief zijn bij het onderwijzen van computerwetenschappelijke concepten. Het korte antwoord is: ja. Onderzoek heeft aangetoond dat op blokken gebaseerde programmeertalen effectief zijn geweest bij het onderwijzen van computerwetenschappelijke concepten zoals algoritmen, variabelen, voorwaardelijke logica en codebegrip6.
Er kleven uiteraard enkele nadelen aan het gebruik van op blokken gebaseerde programmeertalen. Leerlingen kunnen bijvoorbeeld soms het gevoel hebben dat het gebruik van blokken geen “authentieke” leerervaring is7. Met andere woorden: echte programmeurs gebruiken geen blokken. Dit is een belangrijk aspect om in gedachten te houden, maar het is ook belangrijk om de goed gedocumenteerde uitdagingen in gedachten te houden die op tekst gebaseerde programmeertalen voor beginnende programmeurs met zich meebrengen.
Als docenten weten we dat de hulpmiddelen die we gebruiken om concepten te onderwijzen, veranderen naarmate leerlingen veranderen. Wiskunde wordt onderwezen K - College. De hulpmiddelen die worden gebruikt om les te geven aan een eersteklasser zijn heel anders dan de hulpmiddelen die worden gebruikt om les te geven aan een junior op de universiteit. Onderzoek heeft aangetoond dat op blokken gebaseerde programmeertalen gemakkelijker te gebruiken zijn voor beginners, en dat ze een effectief middel zijn om belangrijke computerwetenschappelijke onderwerpen te onderwijzen. Dit betekent echter niet dat studenten altijd in een blokgebaseerde programmeeromgeving moeten of moeten blijven. In plaats daarvan kan men beter concluderen dat de ene programmeermodaliteit, blokken of tekst, niet inherent beter is dan de andere8. Welke het beste is voor uw klaslokaal, hangt af van uw comfortniveau als docent en van de bereidheid van uw leerlingen. Net zoals leerlingen hun vermenigvuldigingsfeiten in verschillende snelheden beheersen, zullen sommige leerlingen het programmeren met blokken sneller onder de knie krijgen dan andere. De mogelijkheid om te beginnen met op tekst gebaseerd programmeren zal hen betrokken en uitgedaagd houden. Met tools zoals VEXcode en Text kunt u elke leerling op zijn of haar individuele instructieniveau ontmoeten.