Ga naar hoofdinhoud

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.

Tip: Pydle als dagstart

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​

WatAntwoord
Operating systemAlles met een moderne browser — Windows, macOS, Linux, Chromebook
BrowserChrome, Firefox, Edge of Safari (laatste versie aanbevolen)
InstallatieGeen — 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
BestandenIn de browser bestaat een bestand dat je leerlingen schrijven, tot ze de pagina herladen
AccountNiet nodig
InternetVereist — de site is online

Didactische aanpak (PRIMM)​

Elke les volgt hetzelfde vaste patroon — de PRIMM-methode — afgesloten met een fouten-sectie:

  1. Predict — je leerling voorspelt wat de getoonde code doet, vóórdat er iets draait.
  2. Run — je leerling draait de code en controleert die voorspelling.
  3. Investigate — kleine, gerichte experimenten ("verander X — wat gebeurt er?").
  4. Modify — een opdracht die voortbouwt op de bestaande code.
  5. Make — een vrijere opdracht waarin je leerling zelf iets bouwt.
  6. 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.

BlokLeerdoel
Basisprint(), input() en rekenen met getallen
TekstWerken met strings: knippen, plakken, opmaken
BeslissenKeuzes maken met if, else en vergelijkingen
HerhalenTaken automatiseren met for- en while-loops
FunctiesCode herbruikbaar maken met def
ModulesFuncties importeren, en je eigen code in een aparte module zetten
DataLijsten, dictionaries, tuples en sets gebruiken
BestandenTekst en JSON opslaan in een bestand, en weer inlezen
KlassenEigen objecten maken met attributen en methoden
Fouten afvangenFouten 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.

WerkvormBijMisvatting
Etiketten op waardenles 2 en 3= betekent "is gelijk aan", en b = a koppelt b voor altijd aan a
De beslismachineles 5b en 5cde volgorde van elif maakt niet uit
Codestroken leggen (print het knipblad, de laatste pagina, apart en enkelzijdig)les 6a tot 7inspringen is opmaak; wat ingesprongen staat, gebeurt één keer
Jij bent de looples 6a tot 7een loop stopt midden in een ronde; een teller in de loop telt door
De functiemachineles 8 tot 9creturn en print zijn hetzelfde; een functie ziet de variabelen van een andere
Een rij bekertjesles 10a en 10btellen begint bij 1; b = a maakt een kopie van een lijst
Kluisjes met naamkaartjesles 11a en 11bin een dictionary zoek je op plek
Raad het getal in tweetallenvoor het projectopstap naar het project, en naar binair zoeken
Waar of niet waar?na les 11bzestien 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.