Skip to content

Functies en ProceduresActiviteiten & didactische strategieën

Actief leren werkt bij dit onderwerp omdat leerlingen door directe toepassing ervaren hoe functies code overzichtelijker maken. Door taken uit te voeren in plaats van alleen te horen over hergebruik, ontdekken ze zelf de waarde van organisatie in programmeerwerk.

Klas 5 VWOInformatica in de Diepte: Van Algoritme tot Architectuur4 activiteiten25 min45 min

Leerdoelen

  1. 1Demonstreer het creëren van een functie met parameters en een retourwaarde om een specifieke berekening uit te voeren.
  2. 2Analyseer bestaande code om herhalende blokken te identificeren die geconverteerd kunnen worden naar procedures.
  3. 3Vergelijk de leesbaarheid en onderhoudbaarheid van code voor en na de introductie van functies en procedures.
  4. 4Ontwerp een klein programma dat gebruikmaakt van minimaal drie verschillende functies om een complexere taak op te delen.

Wil je een compleet lesplan met deze leerdoelen? Genereer een missie

30 min·Duo's

Pair Programming: Eerste Functie Bouwen

Laat paren een eenvoudig programma schrijven met herhaalde berekeningen, zoals een somfunctie. Vervolgens refactoren ze het door een functie te maken en deze meerdere keren aan te roepen. Sluit af met testen van verschillende inputs.

Voorbereiding & details

Wat is een functie of procedure in een programma?

Facilitatietip: Tijdens Pair Programming: Eerste Functie Bouwen, laat partners om de beurt de rol van programmeur en observator nemen om actieve betrokkenheid te garanderen.

45 min·Kleine groepjes

Small Groups: Refactoring Challenge

Verdeel een lang script zonder functies onder kleine groepen. Elke groep identificeert herhalende taken, schrijft functies en integreert ze. Groepen presenteren hun verbeterde code en vergelijken leesbaarheid.

Voorbereiding & details

Waarom is het handig om code in functies te verdelen?

Facilitatietip: Bij Refactoring Challenge, geef elke groep een unieke code met herhalingen om te transformeren zodat ze verschillende oplossingen vergelijken.

35 min·Hele klas

Whole Class: Functie Debug Relay

Projecteer een programma met foutieve functie-aanroepen. Laat de klas in estafettevorm bugs opsporen: één leerling corrigeert een call, de volgende test. Bespreek collectief waarom aanroepen cruciaal zijn.

Voorbereiding & details

Geef een voorbeeld van een taak die je in een functie zou stoppen.

Facilitatietip: Tijdens Functie Debug Relay, laat elke leerling precies één stap debuggen en deze mondeling toelichten voordat de volgende aan de beurt is.

25 min·Individueel

Individual: Persoonlijke Procedure Set

Leerlingen bouwen een set procedures voor een menu-gedreven programma, zoals invoer controleren of output formatteren. Ze schrijven en testen ze individueel, dan delen ze één procedure met een peer.

Voorbereiding & details

Wat is een functie of procedure in een programma?

Facilitatietip: Voor Persoonlijke Procedure Set, geef leerlingen een checklist met verplichte elementen zoals parameters en retourwaarden om structuur te bieden.

Dit onderwerp onderwijzen

Begin met concrete voorbeelden uit de eigen praktijk, zoals een functie die een berekening uitvoert die meerdere keren voorkomt. Vermijd abstracte uitleg zonder context. Onderzoek toont aan dat leerlingen beter leren wanneer ze functies zelf construeren en de voordelen ervaren in plaats van alleen definities te bestuderen.

Wat je kunt verwachten

Succesvolle leerlingen kunnen functies en procedures herkennen, benoemen en zelfstandig toepassen in herhalende taken. Ze leggen uit waarom hergebruik de leesbaarheid en onderhoudbaarheid van code verbetert.

Deze activiteiten zijn een startpunt. De volledige missie is de ervaring.

  • Compleet facilitatiescript met docentendialogen
  • Printklaar leerlingmateriaal, klaar voor de klas
  • Differentiatiestrategieën voor elk type leerling
Genereer een missie

Pas op voor deze misvattingen

Veelvoorkomende misvattingTijdens Pair Programming: Eerste Functie Bouwen, let op leerlingen die denken dat functies automatisch uitvoeren bij definitie.

Wat je in plaats daarvan kunt onderwijzen

Laat partners de functie eerst definiëren en vervolgens handmatig aanroepen met een print-opdracht om het verschil tussen definitie en uitvoering zichtbaar te maken.

Veelvoorkomende misvattingTijdens Pair Programming: Eerste Functie Bouwen, let op leerlingen die parameters en retourwaarden als optioneel zien.

Wat je in plaats daarvan kunt onderwijzen

Geef de opdracht om een functie te schrijven die zowel parameters als een retourwaarde gebruikt, bijvoorbeeld een functie die de kosten van een boodschappenlijst berekent.

Veelvoorkomende misvattingTijdens Whole Class: Functie Debug Relay, let op leerlingen die functies en procedures als hetzelfde beschouwen.

Wat je in plaats daarvan kunt onderwijzen

Laat leerlingen tijdens de discussie tussen stappen twee codefragmenten vergelijken: één met een procedure (bijvoorbeeld printen) en één met een functie (bijvoorbeeld berekenen) om het verschil te verduidelijken.

Toetsideeën

Uitgangskaart

Na Refactoring Challenge laat je leerlingen een vergelijking maken tussen de originele code en hun herschreven versie met functie, inclusief een korte uitleg over de voordelen.

Snelle Controle

Tijdens Whole Class: Functie Debug Relay observeer je of leerlingen in staat zijn om fouten in functiedefinities en -aanroepen te identificeren en te herstellen.

Discussievraag

Na Persoonlijke Procedure Set leid je een klassikale discussie waarbij leerlingen voorbeelden bedenken van wanneer een procedure geschikter is dan een functie en omgekeerd.

Uitbreidingen & ondersteuning

  • Laat leerlingen een functie bedenken die een complexe taak uitvoert, zoals het sorteren van een lijst met parameters voor sorteervolgorde.
  • Geef leerlingen die vastlopen een kant-en-klaar voorbeeld met een ingevulde functie om stap voor stap te ontleden.
  • Laat leerlingen experimenteren met recursie door een functie te schrijven die een getal herhaald optelt tot een grenswaarde wordt bereikt.

Kernbegrippen

FunctieEen benoemd blok code dat een specifieke taak uitvoert. Een functie kan input (parameters) ontvangen en een resultaat (retourwaarde) teruggeven.
ProcedureEen benoemd blok code dat een specifieke taak uitvoert, maar geen expliciet resultaat teruggeeft. Procedures worden vaak gebruikt voor acties die geen berekening zijn, zoals het afdrukken van informatie.
ParameterEen variabele die wordt doorgegeven aan een functie of procedure wanneer deze wordt aangeroepen. Parameters maken functies flexibel en herbruikbaar voor verschillende inputs.
RetourwaardeHet resultaat dat een functie teruggeeft nadat deze is uitgevoerd. Dit resultaat kan worden toegewezen aan een variabele of direct worden gebruikt in een expressie.
ModulariteitHet principe van het opdelen van een programma in kleinere, onafhankelijke modules (zoals functies en procedures) die elk een specifieke verantwoordelijkheid hebben.

Voorgestelde methodieken

Klaar om Functies en Procedures te onderwijzen?

Genereer een volledige missie met alles wat je nodig hebt

Genereer een missie