Ga naar de inhoud
Informatica · Klas 6 VWO

Ideeën voor actief leren

Functies en Procedures: Herbruikbare Code

Herbruikbare code vraagt om een actieve, hands-on aanpak omdat leerlingen zelf moeten ervaren hoe functies taken vereenvoudigen en fouten verminderen. Door direct met code aan de slag te gaan, zien ze meteen het nut van abstractie en modulariteit, wat abstracte concepten tastbaar maakt.

SLO Kerndoelen en EindtermenSLO: Voortgezet onderwijs - ProgrammerenSLO: Voortgezet onderwijs - Abstractie
25–45 minDuo's → Hele klas4 activiteiten

Activiteit 01

Peer Teaching30 min · Duo's

Paars Programmeren: Herbruikbare Functie Bouwen

Leerlingen werken in paren aan een programma met herhaalde berekeningen, zoals een somfunctie voor getallen. De navigator identificeert repetities, de typer bouwt de functie met parameters. Wissel rollen na 10 minuten en test de functie in het hoofdprogramma.

Waarom is het handig om stukjes code te hergebruiken?

FacilitatietipTijdens 'Paars Programmeren' loop je rond en let je op of leerlingen de functie niet alleen schrijven maar ook echt hergebruiken in hun programma.

Waar je op moet lettenGeef leerlingen een klein codefragment met een herhalende taak. Vraag hen om dit fragment te herschrijven met behulp van een zelfgedefinieerde functie. Ze moeten de functie aanroepen en de parameter(s) correct gebruiken. Beoordeel of de functie correct is gedefinieerd en aangeroepen.

BegrijpenToepassenAnalyserenCreërenZelfmanagementRelatievaardigheden
Volledige les genereren

Activiteit 02

Peer Teaching45 min · Kleine groepjes

Small Groups: Refactoring Race

Verdeel de klas in kleine groepen en geef een lang, repetitief script. Groepen refactoren het in functies binnen een tijdslimiet, vergelijken resultaten en presenteren één verbetering. Bespreken welke functie het meest herbruikbaar is.

Hoe kun je een eigen 'bouwsteen' maken in je programma?

FacilitatietipBij 'Refactoring Race' geef je minimale hints om de race competitief te houden, maar zorg je dat elke groep minimaal één parameter gebruikt.

Waar je op moet lettenStel de vraag: 'Stel je voor dat je een programma schrijft om de weersvoorspelling voor 100 steden te berekenen. Hoe zouden functies je helpen om dit efficiënter te doen dan wanneer je de code voor elke stad apart zou schrijven?' Leid de discussie naar de voordelen van herbruikbaarheid en modulariteit.

BegrijpenToepassenAnalyserenCreërenZelfmanagementRelatievaardigheden
Volledige les genereren

Activiteit 03

Peer Teaching35 min · Hele klas

Whole Class: Bibliotheek Uitbreiden

Start met een basisbibliotheek van functies. De hele klas voegt collectief één functie toe, test deze live en integreert in elkaars code. Sluit af met een demo van het complete programma.

Wat is het voordeel van het opsplitsen van een groot probleem in kleinere taken?

FacilitatietipVoor 'Bibliotheek Uitbreiden' demonstreer je eerst hoe een bestaande functie werkt voordat de klas aan de slag gaat met uitbreidingen.

Waar je op moet lettenToon een programma met een duidelijk gedefinieerde functie. Vraag leerlingen om de naam van de functie, de parameters (indien aanwezig) en de retourwaarde (indien aanwezig) te identificeren. Controleer of ze de basiscomponenten van een functie kunnen benoemen.

BegrijpenToepassenAnalyserenCreërenZelfmanagementRelatievaardigheden
Volledige les genereren

Activiteit 04

Peer Teaching25 min · Individueel

Individual: Persoonlijke Procedure Oefening

Leerlingen krijgen een complex algoritme en splitsen het individueel op in procedures. Ze schrijven, testen en documenteren met comments, gevolgd door peer review.

Waarom is het handig om stukjes code te hergebruiken?

FacilitatietipBij 'Persoonlijke Procedure Oefening' vraag je leerlingen hardop te verwoorden welke taak ze hebben gekozen en waarom die geschikt is voor een functie.

Waar je op moet lettenGeef leerlingen een klein codefragment met een herhalende taak. Vraag hen om dit fragment te herschrijven met behulp van een zelfgedefinieerde functie. Ze moeten de functie aanroepen en de parameter(s) correct gebruiken. Beoordeel of de functie correct is gedefinieerd en aangeroepen.

BegrijpenToepassenAnalyserenCreërenZelfmanagementRelatievaardigheden
Volledige les genereren

Enkele opmerkingen over deze eenheid onderwijzen

Begin met concrete voorbeelden van repetitieve code en laat leerlingen zien hoe functies dit oplossen door eenmalige definities te gebruiken. Vermijd direct te praten over parameters; laat leerlingen eerst ervaren hoe vaste waarden beperkend zijn. Gebruik whiteboard-sessies om samen functies te ontwerpen, zodat leerlingen het proces van abstractie zien. Benadruk dat een goede functie één duidelijke taak heeft en geen side effects veroorzaakt.

Succesvolle leerlingen herkennen herhalende taken in code, bundelen deze in een functionele functie met de juiste parameters en roepen deze op meerdere plekken aan zonder fouten. Ze kunnen uitleggen waarom dit de code leesbaarder en onderhoudsvriendelijker maakt.


Pas op voor deze misvattingen

  • Tijdens 'Paars Programmeren' denken leerlingen soms dat functies alleen maar extra regels code toevoegen.

    Laat de groep hun originele code en de gerefactoreerde versie naast elkaar leggen en tel het aantal regels. Benadruk dat de functie-definitie maar één keer voorkomt maar op meerdere plekken wordt gebruikt.

  • Tijdens 'Refactoring Race' gebruiken leerlingen vaste waarden in plaats van parameters.

    Geef de groep een set testcases met verschillende inputs en vraag hen om de functie zo aan te passen dat deze werkt voor alle cases zonder de code te dupliceren.

  • Tijdens 'Bibliotheek Uitbreiden' wijzigen leerlingen globale variabelen in functies om 'het makkelijker' te maken.

    Laat de groep hun code delen met een andere groep en vraag hen om de waarde van globale variabelen voor en na de functie-aanroep te vergelijken. Benadruk de onvoorspelbaarheid die dit veroorzaakt.


Methodes gebruikt in dit overzicht