Fundamental · Werkboek · 23. Programmeren met blokken StemExpert · Brecht Corbeel · schoolium.me
SE
StemExpert
F23. Programmeren met blokken — werkboek
FFundamental · deel F6 · Programmeren en automatiseren
Werkboek · hoofdstuk 23Programmeren met blokken
Sequentie, herhaling, keuze en variabelen: programmeren door blokken te stapelen
Je begint met blokken herkennen en korte scripts naspelen. Daarna bouw en verbeter je scripts: stroomdiagrammen omzetten, bugs zoeken, signalen volgen en een reactietijdmeter uitbreiden. In de uitdagingen maak je de simulatie van de meetkas realistischer (opdracht 23.12, voor je Habitat-portfolio), onderzoek je welke drempel het best is en ontwerp je een eigen spel. Werk waar je kan in Scratch zelf; teken je blokken op papier, schrijf dan de tekst van elk blok en zet de mond van een C-blok duidelijk in.
Blokken stapelen tot een programma: een fout typen kan niet, een fout denken wel.
Hoe lees je een opdracht?
Drie tredenOefenenToepassenUitdagen
Elk hoofdstuk bouwt op: eerst oefenen (één stap, direct toepassen), dan toepassen (meerdere stappen, in een context), dan uitdagen (transfer, open problemen, andere leerlijnen erbij).
De StemExpert-schaal5
Eén moeilijkheidsschaal van 1 tot 9 over de drie niveaus heen: Fundamental loopt van 1 tot 4, Intermediate van 3 tot 7, Expert van 6 tot 9. Zo zie je dat de uitdaging van het ene niveau de oefening van het volgende is.
Oefenen
Oefenen
één stap, direct toepassen
23.1
Welke categorie?
Oefenen1Begrijpen8 min
In welke categorie van Scratch vind je elk blok, en welke kleur heeft ze?
a
Vul de tabel in.
blok
categorie
kleur
neem (10) stappen
zeg (Hallo!)
herhaal (10)
maak [score] (0)
wanneer op de groene vlag wordt geklikt
willekeurig getal tussen (1) en (10)
toets [spatiebalk] ingedrukt?
23.2
Vormen benoemen
Oefenen1Begrijpen8 min
Elk blok heeft een vorm die zegt waar het past.
Vijf blokken met een verschillende vorm.
a
Geef de naam van de vorm van blok 1, 2 en 3.
b
Het ronde blok (x-positie) en het zeshoekige blok (muis ingedrukt?) zitten in een ander blok. Wat is het verschil tussen beide?
c
Kan je het zeshoekige blok in het witte vak van 'neem (10) stappen' slepen? Waarom (niet)?
23.3
Wat zegt de sprite?
Oefenen2Rekenen8 min
Speel het script na.
Een script met twee variabelen.
a
Welke waarde hebben a en b na elk blok?
na het blok
a
b
maak a 5
maak b (a * 2)
verander a met 1
b
Wat zegt de sprite?
c
Verandert b vanzelf als a verandert? Leg uit.
23.4
Hoeveel stappen?
Oefenen2Rekenen8 min
De sprite start op x = 0 en kijkt naar rechts.
Een lus met een lus erin.
a
Hoeveel keer wordt 'neem (5) stappen' uitgevoerd?
b
Hoeveel stappen zet de sprite in totaal? Waar staat ze op het einde?
23.5
Van zin naar script
Oefenen2Programmeren10 min
Schrijf het script: 'Als je op de groene vlag klikt, zegt de sprite vijf keer telkens 1 seconde Hallo! en daarna 2 seconden Klaar!'
a
Teken het script (schrijf de tekst van elk blok; zet de blokken in een mond duidelijk in).
b
Hoe lang duurt het van de klik tot Klaar! verdwijnt?
Toepassen
Toepassen
meerdere stappen, in een context
23.6
Aftellen in stappen van twee
Toepassen3Analyseren15 min
Een leerling wil aftellen: 5, 3, 1, klaar. Het script stopt niet.
Een aftelscript dat per twee telt.
a
Speel de eerste vier rondes na.
ronde
tijd = 0?
tijd na 'verander'
sprite zegt
b
Waarom stopt het script nooit? En waarom zegt het nooit 5?
c
Geef twee verschillende manieren om het te verbeteren.
23.7
Drie scripts, drie bugs
Toepassen3Analyseren15 min
Geen van de drie scripts doet wat zijn maker wil.
Wat de maker wilde, staat erboven.
a
Wat gaat er mis in A, en hoe verbeter je het?
b
Wat zegt de sprite in B? Wat had de maker verwacht? Verbeter.
c
In C zie je de sprite nauwelijks veranderen. Waarom? Verbeter.
23.8
Een stroomdiagram omzetten: het wachtwoord
Toepassen3Programmeren20 min
Zet het stroomdiagram om in een Scratch-script.
Een wachtwoordcontrole met hoogstens drie pogingen.
a
Welke variabele heb je nodig? Welke Scratch-blokken passen bij de twee ruiten?
b
Teken het script.
c
Test je script in je hoofd: de gebruiker typt 'kas12', 'Kas123' en 'kas123'. Wat gebeurt er? (Scratch maakt geen verschil tussen hoofdletters en kleine letters bij '='.)
Hint
Een lus die hoogstens drie keer loopt: herhaal (3). Bij een juist antwoord stop je alles met 'stop alle'.
23.9
Signalen volgen
Toepassen3Begrijpen12 min
Je klikt op de groene vlag.
Anna en Bo sturen elkaar signalen.
a
Zet de tekstballonnen in de juiste volgorde, met het tijdstip waarop ze verschijnen.
tijdstip (s)
wie
zegt
b
Wat verandert er als Anna 'zeg (Hallo!)' gebruikt zonder '2 sec.'?
23.10
Een lus met een keuze
Toepassen3Rekenen12 min
Speel het script na.
'n modulo 2' is de rest bij deling door 2.
a
Vul de trace-tabel in.
ronde
n
n modulo 2
som
b
Wat zegt de sprite? Wat telt het script eigenlijk op?
c
Wat moet je veranderen om de oneven getallen van 1 tot 9 op te tellen?
23.11
Maak: een reactietijdmeter met gemiddelde
Toepassen3Maken30 min
Het script uit de proef meet één reactietijd. Breid het uit: het meet vijf keer na elkaar, toont telkens de tijd en op het einde het gemiddelde.
a
Welke variabele heb je extra nodig? Waar geef je haar een beginwaarde?
b
Bouw het script in Scratch en teken het hier.
c
Meet bij drie klasgenoten. Noteer de gemiddelden.
naam
gemiddelde (s)
Zo wordt dit beoordeeld
Variabele
Een variabele totaal met beginwaarde 0 vóór de lus.
Lus
Herhaal (5) rond het meten; de klok wordt bij elke meting op 0 gezet.
Gemiddelde
totaal / 5 na de lus, getoond met zeg.
Werkt
Getest; de willekeurige wachttijd blijft in de lus.
Uitdagen
Uitdagen
transfer, open problemen, leerlijnen combineren
23.12
Habitat: een realistischere simulatie
Uitdagen4Habitat45 min
De simulatie uit het handboek laat het vocht dag en nacht even snel dalen en merkt niet wanneer het reservoir leeg raakt. Maak twee verbeteringen: (1) 's nachts, van 0 tot 6 uur, daalt het vocht maar 2 procentpunt per uur (de planten verdampen minder); (2) zakt het water onder 5 L, dan zegt de sprite 'Reservoir bijvullen!' en stopt de simulatie. Laat de simulatie lopen tot dat gebeurt.
a
Welke variabele heb je extra nodig voor de nacht? Hoe weet je met 'modulo' welk uur van de dag het is?
b
Teken het verbeterde script.
c
Reken eerst zonder de nacht: na hoeveel dagen zakt het reservoir onder 5 L, als de kas 1,8 L per dag gebruikt?
d
Met de trage nacht gebruikt de kas minder. Schat hoeveel minder per dag, en wat dat betekent voor het aantal dagen.
e
Portfolio: noteer het model (daling per uur dag/nacht, +16 per beurt, 0,24 L per beurt) en je uitkomst.
Hint
Tel de uren in een variabele uur. 'uur modulo 24' is het uur van de dag: 0 tot 23.
Zo wordt dit beoordeeld
Model
Nacht (uur modulo 24 < 6) met −2, dag met −5; beurt +16 en −0,24 L.
Script
Eindeloze lus of 'herhaal tot water < 5', met de controle op het reservoir en 'stop alle'.
Rekenwerk
25 L : 1,8 L per dag ≈ 13,9 dagen; met de nacht minder verbruik en dus langer.
Kritisch
Beseft dat de getallen uit het model komen, niet uit een meting.
23.13
Onderzoek: welke drempel is het best?
Uitdagen4Onderzoeken25 min
Met de simulatie uit het handboek kan je snel proberen wat er gebeurt met een andere drempel. Een leerling liet het script 48 uur lopen met de drempels 20, 30 en 40 %. Het resultaat:
drempel
beurten in 48 h
water gebruikt
laagste vocht
hoogste vocht (na de eerste dag)
20 %
14
3,36 L
20 %
35 %
30 %
14
3,36 L
30 %
45 %
40 %
15
3,60 L
40 %
55 %
a
Welke variabele heeft de leerling veranderd, welke gemeten, welke gelijk gehouden?
b
Hangt het waterverbruik af van de drempel? Verklaar met het model.
c
Wat verandert er dan wel? Welke drempel kies je voor planten die geen natte voeten willen maar ook niet mogen verdrogen?
d
Waarom mag je dit besluit niet zomaar op de echte kas toepassen?
23.14
Ontwerp: vang de druppels
Uitdagen4Ontwerpen60 min
Ontwerp een spel in Scratch. Een druppel valt van een willekeurige plaats bovenaan naar beneden. Met de pijltjestoetsen beweeg je een emmer onderaan. Vang je de druppel, dan krijg je een punt. Mis je hem, dan verlies je een leven. Na drie gemiste druppels is het spel voorbij.
a
Decompositie: welke sprites en welke scripts heb je nodig? Welke variabelen?
b
Bouw het spel. Teken het script van de druppel.
c
Test en debug: noteer twee fouten die je vond en hoe je ze verbeterde.
d
Uitbreiding: laat de druppels sneller vallen naarmate de score stijgt. Welk blok verander je?
Zo wordt dit beoordeeld
Decompositie
Twee sprites (druppel, emmer), aparte scripts voor vallen en besturen, variabelen score en levens.
Programma
Lus, keuze (raak ik emmer?), tellers met beginwaarden, stop bij 0 levens.
Debuggen
Twee echte fouten beschreven met hun verbetering.
Uitbreiding
Valsnelheid gekoppeld aan de score.
23.15
Lussen in lussen
Uitdagen4Rekenen15 min
Het aantal herhalingen van de binnenste lus is geen vast getal: het is de variabele n.
De binnenste lus hangt af van n.
a
Hoeveel keer loopt de binnenste lus bij elke ronde van de buitenste? Wat zegt de sprite?
ronde buiten
n
rondes binnen
som na de ronde
b
Wat zegt de sprite als je 'herhaal (4)' vervangt door 'herhaal (10)'? Zoek een snelle manier.
c
Voor welke tekening op ruitjespapier kan dit patroon dienen? Schets ze.
ZelfevaluatieKleur per doel: lukt al / bijna / nog niet
Ik kan de soorten blokken (hoed-, stapel-, C-, waarde-, ja/nee- en eindblok) herkennen en hun categorie benoemen.
Ik kan een programma bouwen met een sequentie, een herhaling (herhaal, herhaal tot, eindeloos) en een keuze (als ... dan ... anders).
Ik kan een variabele gebruiken als teller: een beginwaarde geven, verhogen of verlagen, en de waarde gebruiken.
Ik kan uitleggen wat een gebeurtenis is en scripts laten samenwerken met signalen.
Ik kan een stroomdiagram omzetten in een blokprogramma en omgekeerd.
Ik kan een programma naspelen en fouten vinden en verbeteren (debuggen), met een trace-tabel en door één ding tegelijk te veranderen.
Ik kan het algoritme 'water geven' testen in een simulatie van de meetkas in blokken.