Skip to content

Klassen en Objecten: De Bouwstenen van OOPActiviteiten & didactische strategieën

Actief leren werkt bij klassen en objecten omdat begrippen als blauwdruk versus concrete kopie het beste worden begrepen door direct te experimenteren. Door in Scratch sprites te dupliceren en aan te passen, zien leerlingen direct hoe klasse en object verschillen in praktijk, wat abstracte concepten tastbaar maakt.

Klas 5 VWOInformatica in de Diepte: Van Algoritme tot Architectuur4 activiteiten20 min40 min

Leerdoelen

  1. 1Leg het verschil uit tussen een klasse (blauwdruk) en een object (instantie) met behulp van een concreet voorbeeld uit de echte wereld.
  2. 2Ontwerp een klasse in Scratch met minimaal twee attributen (bijvoorbeeld kleur, grootte) en twee methoden (bijvoorbeeld 'beweeg', 'verander uiterlijk') en maak er drie objecten van aan met verschillende toestandswaarden.
  3. 3Analyseer een eenvoudig Scratch-project dat is opgebouwd met klassen en objecten, en vergelijk de structuur met een procedureel geprogrammeerd alternatief, waarbij de voordelen van hergebruik en overzichtelijkheid worden benoemd.
  4. 4Demonstreer hoe attributen de specifieke toestand van een object bepalen en hoe methoden het gedrag van dat object beïnvloeden.

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

25 min·Duo's

Paarwerk: Basis Sprite Klasse

In paren definiëren leerlingen een klasse voor een sprite met attributen zoals snelheid en kleur, en een methode om te bewegen. Ze maken twee objecten aan met verschillende waarden en testen interactie met de achtergrond. Sluit af met een korte presentatie van het resultaat.

Voorbereiding & details

Verklaar het verschil tussen een klasse en een object aan de hand van een concreet voorbeeld.

Facilitatietip: Tijdens het Paarwerk: Basis Sprite Klasse, loop rond en vraag leerlingen om hardop te benoemen wat ze als attribuut en wat als methode zien in hun Scratch-project.

35 min·Kleine groepjes

Klein Groep: Meerdere Objecten Spel

Groepen bouwen een klasse voor vallende objecten met attributen positie en rotatie, en een val-methode. Instantieer vier objecten met variërende startsnelheden. Speel het spel en pas aan op basis van groepsfeedback.

Voorbereiding & details

Schrijf een klasse met attributen en methoden en maak meerdere objecten aan met verschillende toestandswaarden.

Facilitatietip: Bij Klein Groep: Meerdere Objecten Spel, stimuleer discussie door te vragen hoe het spel zou veranderen als één sprite andere eigenschappen krijgt.

40 min·Hele klas

Hele Klas: Vergelijk Procedureel vs OOP

De klas vergelijkt procedurele code voor drie sprites met een OOP-versie via gedeeld Scratch-project. Bespreek herbruikbaarheid in plenaire sessie en vote voor beste aanpak.

Voorbereiding & details

Analyseer hoe klassen helpen om code overzichtelijk en herbruikbaar te maken ten opzichte van procedurele code.

Facilitatietip: Tijdens Hele Klas: Vergelijk Procedureel vs OOP, gebruik een whiteboard om de codefragmenten naast elkaar te schrijven en leerlingen te laten aanwijzen waar de verschillen zitten.

20 min·Individueel

Individueel: Persoonlijke Animatie

Elke leerling schrijft een klasse voor een animerend personage met attributen en methoden. Maak twee objecten en integreer in een korte animatie. Deel screenshots in een klasoverzicht.

Voorbereiding & details

Verklaar het verschil tussen een klasse en een object aan de hand van een concreet voorbeeld.

Facilitatietip: Bij Individueel: Persoonlijke Animatie, geef leerlingen de tip om eerst de klasse te tekenen op papier voordat ze in Scratch beginnen.

Dit onderwerp onderwijzen

Begin met concrete voorbeelden uit Scratch, zoals sprites die dezelfde klassen delen maar andere kleuren hebben. Vermijd direct te beginnen met theorie over klassen en objecten, want dat leidt tot abstractie zonder context. Gebruik peer-discussie om misvattingen snel te signaleren en te corrigeren. Onderzoek toont aan dat leerlingen het beste leren door zelf code te schrijven en fouten te maken, waarna ze hun aanpak bespreken.

Wat je kunt verwachten

Succesvolle leerlingen kunnen uitleggen dat een klasse een blauwdruk is en een object een concrete versie met eigen waarden. Ze maken meerdere objecten met verschillende attributen aan en passen methoden toe zonder de oorspronkelijke klasse te wijzigen. Daarnaast kunnen ze het verschil tussen procedurele en OOP-code toelichten met voorbeelden.

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 Paarwerk: Basis Sprite Klasse, let op leerlingen die denken dat een duplicaat van een sprite een nieuwe klasse maakt.

Wat je in plaats daarvan kunt onderwijzen

Laat leerlingen expliciet benoemen dat de originele sprite de klasse is en de duplicaten objecten zijn met eigen waarden. Gebruik de Scratch-interface om te laten zien dat wijzigen in de klasse alle objecten beïnvloedt, terwijl wijzigen in een object alleen dat object raakt.

Veelvoorkomende misvattingTijdens Hele Klas: Vergelijk Procedureel vs OOP, let op leerlingen die alleen letten op de lengte van de code en niet op de structuur.

Wat je in plaats daarvan kunt onderwijzen

Laat leerlingen in kleine groepjes beide versies uitbreiden naar 10 objecten en observeren hoe de OOP-versie makkelijker aan te passen is. Vraag hen om de termen klasse, object, attribuut en methode te gebruiken bij hun uitleg.

Veelvoorkomende misvattingTijdens Klein Groep: Meerdere Objecten Spel, let op leerlingen die dezelfde attribuutwaarden instellen voor alle objecten.

Wat je in plaats daarvan kunt onderwijzen

Gebruik de Scratch-omgeving om te laten zien dat elk object een eigen set attribuutwaarden kan hebben. Laat leerlingen hun code debuggen door te vragen welke sprite welke kleur of snelheid zou moeten hebben en waarom.

Toetsideeën

Uitgangskaart

Na Paarwerk: Basis Sprite Klasse, geef leerlingen een Scratch-project met twee sprites die als objecten van dezelfde klasse zijn gemaakt. Vraag hen om op een briefje te schrijven: 1. Wat is de naam van de klasse? 2. Noem één attribuut dat de sprites verschillend maakt. 3. Noem één methode die ze beide delen.

Discussievraag

Tijdens Hele Klas: Vergelijk Procedureel vs OOP, toon twee codefragmenten: één procedureel en één objectgeoriënteerd met klassen voor hetzelfde doel. Vraag de leerlingen: 'Welk fragment is makkelijker aan te passen als we 10 objecten willen in plaats van 3? Leg uit waarom, gebruikmakend van de termen klasse, object, attribuut en methode.'

Snelle Controle

Na Individueel: Persoonlijke Animatie, laat leerlingen hun Scratch-project zien. Observeer of ze een klasse hebben gemaakt met minstens twee attributen en twee methoden, en of ze meerdere objecten hebben aangemaakt met verschillende attribuutwaarden.

Uitbreidingen & ondersteuning

  • Uitdaging: Laat leerlingen een klasse 'Boom' maken met attributen zoals hoogte, kleur en een methode 'laten groeien'. Ze maken drie objecten aan met verschillende beginwaarden en programmeren een animatie waarbij de bomen groeien met verschillende snelheden.
  • Ondersteuning: Geef leerlingen een voorgemaakt Scratch-project met een klasse 'Vogel' en laat ze eerst alleen de objecten aanpassen, voordat ze zelf attributen toevoegen.
  • Diepere verkenning: Laat leerlingen een spel maken met meerdere klassen, zoals 'Speler' en 'Vijand', en laat ze nadenken over hoe deze klassen samenwerken via methoden zoals 'raken'.

Kernbegrippen

KlasseEen blauwdruk of sjabloon voor het maken van objecten. Het definieert de eigenschappen (attributen) en het gedrag (methoden) die objecten van die klasse zullen hebben.
ObjectEen specifieke instantie van een klasse. Elk object heeft zijn eigen waarden voor de attributen die in de klasse zijn gedefinieerd, maar deelt de methoden.
AttribuutEen variabele die de toestand of eigenschap van een object beschrijft, zoals de kleur, grootte of positie van een sprite.
MethodeEen functie of procedure die is gekoppeld aan een klasse en die het gedrag van een object definieert, zoals 'beweeg' of 'reageer op klik'.
ToestandDe specifieke waarden van de attributen van een object op een bepaald moment. Verschillende objecten van dezelfde klasse kunnen verschillende toestanden hebben.

Voorgestelde methodieken

Klaar om Klassen en Objecten: De Bouwstenen van OOP te onderwijzen?

Genereer een volledige missie met alles wat je nodig hebt

Genereer een missie
Klassen en Objecten: De Bouwstenen van OOP: Activiteiten & didactische strategieën — Klas 5 VWO Informatica in de Diepte: Van Algoritme tot Architectuur | Flip Education