Docentenhandleiding
Praktische informatie voor docenten die deze cursus klassikaal willen inzetten: wat de site is, welke randvoorwaarden er zijn, en hoe je de lessen indeelt.
Vanaf het moment dat je klas de for-loop heeft gehad (les 6a) is pydle.net bruikbaar als opening van de les: elke dag één puzzel waarin je een raster van gekleurde vakjes namaakt met een dubbele for-loop en if-statements.
Projecteer de puzzel, laat leerlingen eerst op papier voorspellen welke conditie welke vakjes kleurt, bespreek de voorstellen, en run dan pas — de Predict-fase van PRIMM als routine van vijf minuten. Snelle leerlingen proberen het patroon met zo min mogelijk if-regels te bouwen. De site is Engelstalig.
Wat is dit?
Een interactieve cursus Python voor leerlingen die nog nooit geprogrammeerd hebben. Doelgroep: onderbouw vo en hoger, of zelfstandige beginners.
Elke les is een korte pagina met uitleg, een voorbeeld en oefeningen met oplopende moeilijkheidsgraad. Je leerlingen schrijven en draaien echte Python direct in de browser — geen installatie nodig — en lopen onderweg bewust tegen veelgemaakte fouten aan.
Technische randvoorwaarden
| Wat | Antwoord |
|---|---|
| Operating system | Alles met een moderne browser — Windows, macOS, Linux, Chromebook |
| Browser | Chrome, Firefox, Edge of Safari (laatste versie aanbevolen) |
| Installatie | Geen — Python draait in de browser (Pyodide). Alleen voor 9e en 9f, met twee bestanden die elkaar importeren, is een editor op de computer nodig, zoals Thonny |
| Bestanden | In de browser bestaat een bestand dat je leerlingen schrijven, tot ze de pagina herladen |
| Account | Niet nodig |
| Internet | Vereist — de site is online |
Didactische aanpak (PRIMM)
Elke les volgt hetzelfde vaste patroon — de PRIMM-methode — afgesloten met een fouten-sectie:
- Predict — je leerling voorspelt wat de getoonde code doet, vóórdat er iets draait.
- Run — je leerling draait de code en controleert die voorspelling.
- Investigate — kleine, gerichte experimenten ("verander X — wat gebeurt er?").
- Modify — een opdracht die voortbouwt op de bestaande code.
- Make — een vrijere opdracht waarin je leerling zelf iets bouwt.
- Er gaat iets mis — de fouten die je leerlingen waarschijnlijk maken, met uitleg.
Tips en antwoorden staan in <details>-blokken. Laat je leerlingen eerst zelf proberen voordat ze openklikken.
Klassikaal gebruik & differentiatie
- Plenair starten: bespreek de Predict-vraag klassikaal, daarna werken je leerlingen zelfstandig door.
- Snelle leerlingen werken vooruit op eigen tempo — de lessen zijn lineair maar elk zelfstandig te doen.
- Langzamere leerlingen mogen de Make-opdracht overslaan zonder dat de volgende les daarop bouwt.
- Beoordelen: gebruik de oefeningen of een eigen project als toets.
Leerlijn
De lessen zijn gegroepeerd in tien blokken die op elkaar voortbouwen. Begin bij de introductie; voor vrij experimenteren is er de Playground.
| Blok | Leerdoel |
|---|---|
| Basis | print(), input() en rekenen met getallen |
| Tekst | Werken met strings: knippen, plakken, opmaken |
| Beslissen | Keuzes maken met if, else en vergelijkingen |
| Herhalen | Taken automatiseren met for- en while-loops |
| Functies | Code herbruikbaar maken met def |
| Modules | Functies importeren, en je eigen code in een aparte module zetten |
| Data | Lijsten, dictionaries, tuples en sets gebruiken |
| Bestanden | Tekst en JSON opslaan in een bestand, en weer inlezen |
| Klassen | Eigen objecten maken met attributen en methoden |
| Fouten afvangen | Fouten opvangen met try en except, en opwerpen met raise |
Naast de lessen staat een eigen route met grotere opdrachten: de
Projecten. In het eerste project, Tien groene flessen,
bouwen je leerlingen in negen stappen een aftelliedje na: van vijftig losse
print-regels naar één aanroep lied(10). Onderweg komen variabelen,
f-strings, een aftellende for, if/elif, functies met parameters en
return samen. Het project past goed na het blok Functies, of als
herhaling van de hele basis. Elke stap noemt bovenaan de les die hij
gebruikt.
Daarna volgen Raad het getal (na Modules importeren: input, de
while-loop, break en random) en Woordjes overhoren (na Door een
dictionary lopen: dictionaries, lijsten en .lower()). In alle drie
schrijven je leerlingen de code zelf: de opdracht beschrijft wat het
programma moet doen, de tips bevatten geen code, en elke stap begint met het
programma uit de vorige stap. De editor bewaart niets bij een paginawissel,
dus laat ze hun programma kopiëren voordat ze verdergaan.
Onder Tekenen met turtle staat een lijn van kleine projecten. Elk
project voegt precies één ding toe: óf een turtle-commando, óf een
Python-concept. De eerste zeven gebruiken alleen losse commando's (lijnen,
een vierkant, een driehoek, kleur, een huis met een raam, een dobbelsteen en
een smiley), en passen al na les 1. Daarna komt per project één concept uit
de cursus: variabelen en rekenen, if en elif, de for-loop, de
loopvariabele en range met stappen, de while-loop, functies en parameters,
en lijsten. Elk project is kort genoeg voor een deel van een les, en past
direct na de les van zijn concept. Leerlingen zien bij elke opdracht een plaatje van wat
er moet komen. De speeltuin heeft een eigen turtle die in de browser tekent;
dezelfde code werkt met de echte turtle, met turtle.done() als laatste regel
zodat het venster buiten Thonny open blijft.
Unplugged
Onder Unplugged staan werkvormen zonder computer, elk met een printknop. De antwoorden staan op het scherm dicht en komen bij het printen op een losse pagina. Elke werkvorm richt zich op één misvatting waar beginners lang last van houden, en de les waar hij bij hoort, verwijst ernaar met een kopje Eerst op papier.
| Werkvorm | Bij | Misvatting |
|---|---|---|
| Etiketten op waarden | les 2 en 3 | = betekent "is gelijk aan", en b = a koppelt b voor altijd aan a |
| De beslismachine | les 5b en 5c | de volgorde van elif maakt niet uit |
| Codestroken leggen (print het knipblad, de laatste pagina, apart en enkelzijdig) | les 6a tot 7 | inspringen is opmaak; wat ingesprongen staat, gebeurt één keer |
| Jij bent de loop | les 6a tot 7 | een loop stopt midden in een ronde; een teller in de loop telt door |
| De functiemachine | les 8 tot 9c | return en print zijn hetzelfde; een functie ziet de variabelen van een andere |
| Een rij bekertjes | les 10a en 10b | tellen begint bij 1; b = a maakt een kopie van een lijst |
| Kluisjes met naamkaartjes | les 11a en 11b | in een dictionary zoek je op plek |
| Raad het getal in tweetallen | voor het project | opstap naar het project, en naar binair zoeken |
| Waar of niet waar? | na les 11b | zestien stellingen om na te bespreken; doe alleen de hoofdstukken die je hebt gehad |
De rollenspellen (de beslismachine, de functiemachine) werken het best in groepjes van vier of vijf; de rest in tweetallen. Reken op 15 tot 25 minuten per werkvorm. Een goede plek is direct na het eerste voorbeeld van de les, vóór de opdrachten: wat je leerlingen op papier hebben voorspeld, controleren ze daarna in de speeltuin met Stap voor stap.
Feedback & bijdragen
Suggesties, fouten of nieuwe ideeën? Open een issue of pull request op GitHub. Alle bijdragen — van een typo tot een nieuwe les — zijn welkom.