Van Scratch naar Python: hoe maak je de overstap?

Zoals Kristel in een eerdere blogpost al schreef, Scratch is toegankelijk, leerzaam en leuk. Waarom dan de overstap naar Python? Bij De Programmeerschool werken we vaak met Scratch, vanaf Scratch Jr. in de onderbouw tot Scratch in de midden- en bovenbouw. De mogelijkheden met Scratch zijn groot. Maar in plusklassen of bij langere trajecten willen we soms een stap verder. Python is dan een logische vervolgkeuze: de syntax is relatief eenvoudig, de taal wordt veel gebruikt en is erg veelzijdig (het is bijvoorbeeld makkelijk te koppelen aan de Micro:bit).

De uitdagingen van tekstgebaseerd programmeren

Hoewel de overstap van Scratch naar Python logisch kan zijn, is het niet altijd gemakkelijk. Veel kinderen zijn vooral gewend aan touchscreens. Typen op een fysiek toetsenbord is vaak nog best lastig (ook in hogere groepen). En in Python moet elke letter en spatie kloppen, anders volgt een foutmelding. Dit kan frustrerend zijn, vooral als een klein typfoutje een heel programma laat crashen.

Daarnaast geef Python minder directe gratificatie; waar je in Scratch direct een leuke game ziet, krijg je in Python vooral tekst als output. Voor mooie graphics zijn extra libraries nodig, wat de instap lastiger maakt. 

Hoe maak je de overstap leuk en toegankelijk?

Er zijn dus een aantal uitdagingen als je de overstap van Scratch naar Python wil maken. Hoe houd je de leerlingen dan gemotiveerd en betrokken?

Maak telkens de vergelijking met Scratch

Veel programmeerconcepten zijn universeel en komen in elke taal terug. Dus wat je in Scratch (in blokken) leert, geldt ook voor Python (maar dan in tekst). Door steeds de vertaalslag te maken tussen Scratch en Python, begrijpen leerlingen de overstap beter. Laat leerlingen eerst iets in Scratch maken en vraag hen hoe dat in Python zou kunnen. Of draai het om: geef een stukje Python-code en laat hen raden welk Scratch-blok daarbij hoort. In een programma als LessonUp kan je er gemakkelijk een sleepvraag van maken:

stukjes code van Python en Scratch

Houd het visueel

In Scratch werken leerlingen op een kleurrijk canvas met bewegende sprites. In Python is dat minder vanzelfsprekend, maar er zijn manieren om het visueler te maken. In mijn lessen gebruik ik de Turtle-module om figuren te tekenen. Dit spreekt leerlingen aan én is erg leerzaam.

Leren omgaan met errors

Een van de grootste obstakels bij de overstap naar Python is foutafhandeling. In Scratch werkt code vaak gewoon óf doet niets, maar in Python krijg je foutmeldingen zoals IndentationError: unexpected indent of SyntaxError: invalid syntax. Zo’n foutmelding kan nogal afschrikken.

Help leerlingen om fouten niet als mislukking te zien, maar als aanwijzingen om hun code te verbeteren:

  • Lees foutmeldingen samen hardop en bespreek wat ze betekenen. Leer ze hoe je een foutmelding moet lezen. 
  • Bouw expres fouten in en analyseer ze samen. Laat leerlingen verschillende stukjes code zien met een fout erin. Kunnen ze ontdekken wat er mis is? En hoe los je het dan op?

Door fouten als leerervaring te presenteren, maak je Python minder intimiderend en stimuleer je bovendien een growth mindset.

Tot slot: plezier behouden

Python is een fijne taal om mee te beginnen, omdat het overzichtelijk, krachtig en breed toepasbaar is. Kinderen die ermee aan de slag gaan, bouwen een sterke basis voor later, leren omgaan met fouten en ontwikkelen tegelijk nieuwe vaardigheden, zoals rekenvaardigheden.

De overstap van Scratch naar Python is niet makkelijk, maar met de juiste aanpak blijft het leuk en uitdagend. Door Python visueel te maken, de link met Scratch te leggen en veel aandacht te besteden aan foutafhandeling, geef je leerlingen het vertrouwen om verder te groeien. En uiteindelijk ontdekken ze dat ze met Python nóg grotere en indrukwekkendere projecten kunnen maken!