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.

Wat is dit?​

Een interactieve cursus algoritmes waarin je leerlingen elk algoritme zelf stap voor stap opbouwen en in de browser uitvoeren — van zoeken en sorteren tot grafen en speltheorie. Doelgroep: leerlingen die al wat Python kennen en willen begrijpen hoe en waarom een algoritme werkt.

Technische randvoorwaarden​

WatAntwoord
Operating systemAlles met een moderne browser
InstallatieGeen — de code draait in de browser
AccountNiet nodig
InternetVereist — de site is online

Didactische aanpak​

Elk algoritme volgt dezelfde vaste opbouw, zodat je leerlingen het patroon herkennen:

  1. Concept — korte uitleg met een analogie en een visueel voorbeeld.
  2. Bekijk het algoritme — een interactief model van het hele algoritme, met een lijst die je leerling zelf kiest en vooraf een vraag om te voorspellen (bij de zes zoek- en sorteeralgoritmes).
  3. Stellingen — een Predict-fase: waar/niet-waar-vragen met het antwoord verborgen.
  4. Bouwen — in een ingeklapte submap: per pagina één klein stukje code (≤ 10 regels), uit te voeren met de runner. Het overzicht in de concept-les toont de stappen vooraf.
  5. Compleet — de volledige werkende implementatie, met het model en een code-oefening met tests.
  6. Aanpassen — varianten op de basisoplossing.
  7. Zelf bouwen — een uitdaging die je leerling vanaf nul oplost.
  8. Fouten & Cheatsheet — veelgemaakte fouten en een naslag.

Laat je leerlingen bij "Stellingen" eerst zelf kiezen voordat ze het antwoord openklikken.

Klassikaal gebruik & differentiatie​

  • Plenair starten: bespreek het concept en de stellingen samen, daarna bouwen je leerlingen zelf.
  • Snelle leerlingen doen de "zelf bouwen"-uitdaging of een volgend algoritme.
  • Langzamere leerlingen stoppen bij "Compleet" — de "aanpassen"- en "zelf bouwen"-stappen zijn optioneel.
  • Beoordelen: laat leerlingen een algoritme uitleggen aan de hand van een eigen voorbeeld.

Toetsen​

Niveau 1 is de route machine learning: kleine projecten in de browser, in zes fases van een chatbot met regels tot een neuron dat zelf leert. Fase B tot en met F eindigen elk bij een project van CS50 AI op de eigen computer: Shopping, PageRank, Nim en Tic-Tac-Toe, Degrees en Traffic. Elk project bouwt voort op het vorige: het zet een klein stuk Python bij wat je leerlingen al kunnen (uit de python-cursus of een eerder project), samen met één nieuw idee. Op Leerdoelen: niveau 1 staan de projecten en de Python die je leerlingen erin laten zien. Gevorderd zijn eerlijk testen, Nim die leert, de kortste weg en het neuron dat leert, en elk CS50-project; Traffic is expert. De andere projecten zijn basis. Bij Python is een module of een CSV-bestand gevorderd. PageRank en minimax zijn hoofdstukken van niveau 2 die de route leent als opstap naar hun CS50-project. De route met alle fases staat op Machine learning: de route.

Niveau 2 sluiten je leerlingen af met een papieren tentamen. Op Leerdoelen: niveau 2 staat wat erin komt: zeven manieren om een algoritme te kennen, de zes zoek- en sorteeralgoritmes waarvoor ze alle zeven gelden, de speciale gevallen en de Python-concepten. Bij elke manier staat de les waarin je leerlingen hem oefenen, want de hoofdstukken van de zes zoek- en sorteeralgoritmes volgen dezelfde manieren: stellingen, bouwstenen om aan te vullen, fouten om te vinden, en zelf bouwen.

De vraagtypes komen uit Toetsing domein B: Grondslagen van SLO, met voorbeeldvragen, variaties om een vraag makkelijker of moeilijker te maken en een overzicht van misconcepten. Wat erin staat en hoe het tentamen erop aansluit, lees je bij Toetsen van algoritmiek in zeven vraagtypes.

Unplugged activiteiten​

Onder Unplugged staan werkvormen zonder computer, elk met een printknop op de pagina:

  • Zoeken en sorteren met kaarten — vier algoritmes uitvoeren met een gewoon kaartspel. Geschikt als les-opener voordat je leerlingen hetzelfde algoritme in Python bouwen.
  • Van code naar klasse — knipkaartjes met Python-snippets sorteren naar Big O-klasse. Sluit aan op hoofdstuk 7.
  • De kortste route — Dijkstra op papier — in tweetallen Dijkstra uitvoeren op een kaart met zeven plekken, met een gok-vooraf als opener. Sluit aan op hoofdstuk 8.
  • De perfecte speler — minimax op papier — een boom uitrekenen en een boter-kaas-en-eieren-eindspel doorrekenen en naspelen. Sluit aan op hoofdstuk 9.
  • Pak de rugzak in — item-kaartjes, een gok-vooraf die meestal verliest, en de OPT-tabel op klein formaat. Sluit aan op hoofdstuk 10.
  • Een grammatica op papier — de tien Holmes-zinnen van de CFG-opdracht op twee kantjes, met de woordsoort achter elk woord zodat leerlingen niets hoeven op te zoeken. Zin 1 is voorgedaan; na elke zin staat schrijfruimte voor de grammatica tot dan toe. Het antwoordblad geeft één mogelijke grammatica voor alle tien en staat op het scherm dicht; op de site ontdekken leerlingen daarna of de parser het met ze eens is. Sluit aan op hoofdstuk 11.
  • Torens van Hanoi op tafel — met muntjes het 2ⁿ−1-patroon en het recursieve recept ontdekken. Sluit aan op hoofdstuk 12.
  • Stemmen met fiches — PageRank naspelen op het mini-web uit de les. Sluit aan op hoofdstuk 13.

Leerlijn​

Kies op de startpagina een algoritme; elk is zelfstandig te doen. De cursus behandelt onder meer:

ThemaAlgoritmes
ZoekenLineair zoeken, binair zoeken, vind-maximum, max & min
SorterenBubble sort, selection sort
ComplexiteitBig-O
GrafenDijkstra, PageRank
Recursie & optimalisatieTorens van Hanoi, knapsack, minimax

Is een leerling door alle modules heen? Op Machine learning: de route staan de projecten van Harvard's CS50 AI in de volgorde van de route (minimax en PageRank zijn hier al in bewerking gedaan), en de gratis cursussen van Kaggle.

Feedback & bijdragen​

Suggesties, fouten of nieuwe ideeën? Open een issue of pull request op GitHub. Alle bijdragen — van een typo tot een nieuw algoritme — zijn welkom.