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.
Leerdoelen
- 1Demonstreer het creëren van een functie met parameters en een retourwaarde om een specifieke berekening uit te voeren.
- 2Analyseer bestaande code om herhalende blokken te identificeren die geconverteerd kunnen worden naar procedures.
- 3Vergelijk de leesbaarheid en onderhoudbaarheid van code voor en na de introductie van functies en procedures.
- 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 →
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.
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.
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.
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
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
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.
Tijdens Whole Class: Functie Debug Relay observeer je of leerlingen in staat zijn om fouten in functiedefinities en -aanroepen te identificeren en te herstellen.
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
| Functie | Een benoemd blok code dat een specifieke taak uitvoert. Een functie kan input (parameters) ontvangen en een resultaat (retourwaarde) teruggeven. |
| Procedure | Een 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. |
| Parameter | Een variabele die wordt doorgegeven aan een functie of procedure wanneer deze wordt aangeroepen. Parameters maken functies flexibel en herbruikbaar voor verschillende inputs. |
| Retourwaarde | Het resultaat dat een functie teruggeeft nadat deze is uitgevoerd. Dit resultaat kan worden toegewezen aan een variabele of direct worden gebruikt in een expressie. |
| Modulariteit | Het principe van het opdelen van een programma in kleinere, onafhankelijke modules (zoals functies en procedures) die elk een specifieke verantwoordelijkheid hebben. |
Voorgestelde methodieken
Meer in Geavanceerde Algoritmen en Datastructuren
Wat is een Algoritme?
Leerlingen begrijpen wat een algoritme is en herkennen algoritmes in alledaagse situaties en in eenvoudige computerprogramma's.
2 methodologies
Stapsgewijs Denken en Problemen Oplossen
Leerlingen ontwikkelen stapsgewijs denkvermogen door eenvoudige problemen op te splitsen in kleinere, beheersbare stappen en daarvoor instructies te maken.
2 methodologies
Eenvoudige Sorteeropdrachten
Leerlingen voeren eenvoudige sorteeropdrachten uit (bijv. kaarten sorteren op kleur of nummer) en beschrijven de stappen die ze nemen.
2 methodologies
Zoekalgoritmen: Lineair en Binair
Leerlingen vergelijken lineaire en binaire zoekalgoritmen en begrijpen de voorwaarden voor hun toepassing.
2 methodologies
Herhalingen en Lussen in Programmeren
Leerlingen begrijpen het concept van herhalingen (loops) in programmeren en passen dit toe in eenvoudige programma's om taken te automatiseren.
2 methodologies
Klaar om Functies en Procedures te onderwijzen?
Genereer een volledige missie met alles wat je nodig hebt
Genereer een missie