FFundamental · deel F6 · Programmeren en automatiseren
Werkboek · hoofdstuk 22Computationeel denken
Denken als een programmeur, nog voor je één regel code schrijft
Je begint met de gereedschappen en de symbolen herkennen en eenvoudige algoritmen naspelen. Daarna lees en teken je stroomdiagrammen, speel je sorteren en raden na, zoek je bugs en laat je zelf een drempel 'leren' uit voorbeelden. In de uitdagingen maak je het algoritme van de meetkas robuuster (opdracht 22.12, voor je Habitat-portfolio), debatteer je over zelflerende systemen en ontwerp je zelf een algoritme.
Eerst denken, dan programmeren: het algoritme van de meetkas groeit op het bord.
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
22.1
Welk gereedschap?
Oefenen1Begrijpen8 min
Welk gereedschap van computationeel denken wordt hier vooral gebruikt?
a
Je splitst 'een fietstocht plannen' op in route kiezen, eten meenemen en de fiets nakijken.
Adecompositie
Bpatroonherkenning
Cabstractie
Dalgoritme
b
Je merkt dat drie huiswerktaken telkens met dezelfde stappen beginnen.
Adecompositie
Bpatroonherkenning
Cabstractie
Dalgoritme
c
Een metrokaart toont de stations op rechte lijnen, zonder straten.
Adecompositie
Bpatroonherkenning
Cabstractie
Dalgoritme
d
Een recept voor pannenkoeken met genummerde stappen.
Adecompositie
Bpatroonherkenning
Cabstractie
Dalgoritme
e
Voor het water geven let je alleen op het vocht en het reservoir, niet op de soort plant.
Adecompositie
Bpatroonherkenning
Cabstractie
Dalgoritme
22.2
Symbolen van het stroomdiagram
Oefenen1Begrijpen8 min
Een stroomdiagram gebruikt vaste vormen.
Vier symbolen, genummerd 1 tot 4.
a
Wat betekent elk symbool? 1: 2: 3: 4:
b
Welk symbool gebruik je voor 'Is de knop ingedrukt?', voor 'toon: klaar', voor 'zet de pomp aan' en voor 'Stop'?
c
Hoeveel pijlen vertrekken er uit symbool 3? Wat schrijf je erbij?
22.3
Thee zetten in de juiste volgorde
Oefenen2Begrijpen10 min
De stappen van het algoritme 'thee zetten' zijn door elkaar geraakt. A: giet het water in de tas. B: vul de waterkoker. C: wacht tot het water kookt. D: hang een theezakje in de tas. E: zet de waterkoker aan. F: haal het zakje eruit na 3 minuten.
a
Zet de letters in een juiste volgorde.
b
Welke twee stappen mogen van plaats wisselen zonder dat het resultaat verandert?
c
Welke stap is eigenlijk een lus met een beslissing? Schrijf ze als een ja/nee-vraag.
22.4
Een eerste trace
Oefenen2Rekenen10 min
Speel dit algoritme na. (1) Zet x op 3 en s op 0. (2) Herhaal 4 keer: s = s + x, daarna x = x + 2. (3) Toon s.
a
Vul de trace-tabel in (waarden aan het einde van elke ronde).
ronde
s
x
begin
0
3
1
2
3
4
b
Wat toont het algoritme?
c
Wat telt het algoritme eigenlijk op? Beschrijf het in één zin.
22.5
Een klasfeest opdelen
Oefenen2Tekenen12 min
Je klas organiseert een feest op de laatste schooldag. Dat is een groot probleem.
a
Teken een decompositieboom met minstens drie deelproblemen, elk opgesplitst in minstens twee taken.
b
Duid één taak aan die je nog verder zou opdelen. Waarom?
Toepassen
Toepassen
meerdere stappen, in een context
22.6
Een stroomdiagram lezen: de kasverlichting
Toepassen2Analyseren12 min
De microcontroller van de meetkas voert dit algoritme uit.
De ledstrip van de meetkas met een lichtsensor en een klok. L: hoe groter, hoe lichter.
a
Is de ledstrip aan of uit bij L = 150 en u = 20? En bij L = 150 en u = 23? En bij L = 500 en u = 12?
b
Waarom staat de tweede ruit er? Wat zou er gebeuren zonder?
c
Stopt dit algoritme ooit? Is dat een bug?
22.7
Teken het: een wekker met sluimerknop
Toepassen3Tekenen20 min
Een wekker gaat af. Druk je op de stopknop, dan is hij uit. Druk je op sluimeren, dan is hij 5 minuten stil en gaat hij opnieuw af. Na 3 keer sluimeren werkt de sluimerknop niet meer: dan helpt alleen de stopknop.
a
Welke variabele heb je nodig? Welke beginwaarde krijgt ze?
b
Teken het stroomdiagram met de juiste symbolen.
c
Speel het na: je sluimert 4 keer en drukt dan op stop. Hoe vaak gaat het alarm af?
Hint
Tel het aantal keer dat je al gesluimerd hebt in een variabele s. Twee vragen: 'stopknop?' en 'sluimer en s < 3?'.
22.8
Sorteren naspelen
Toepassen3Rekenen15 min
Sorteer de kaarten 8, 3, 6, 1 met selectiesorteren: zoek in het ongesorteerde deel de kleinste en wissel hem met de eerste kaart van dat deel.
a
Schrijf de rij na elke ronde.
ronde
rij
wat gebeurde er?
start
8 3 6 1
1
2
3
b
Hoeveel keer vergelijk je twee kaarten in totaal?
c
Hoeveel vergelijkingen zijn er voor 10 kaarten? Welk patroon zie je?
22.9
Bugs in het tellen van droge bakjes
Toepassen3Analyseren20 min
Een leerling tekende dit algoritme. De eerste drie bakjes hebben 25 %, 40 % en 28 % vocht.
Dit algoritme moet tellen hoeveel van de 12 bakjes te droog zijn (d).
a
Speel het na voor de eerste drie bakjes. Waar loopt het mis?
b
Er zitten twee fouten in. Welke?
c
Beschrijf hoe je het stroomdiagram verbetert.
22.10
Hoe slim is halveren?
Toepassen3Rekenen15 min
Je raadt een geheim getal met de strategie 'gok telkens het midden' (zie handboek).
a
Maak de trace-tabel voor het geheime getal 37.
poging
ondergrens
bovengrens
gok
antwoord
b
Hoeveel pogingen heb je hoogstens nodig voor een getal van 1 tot 1000? Leg uit met tweemachten.
c
Een vriend raadt gewoon 1, 2, 3, ... Hoeveel pogingen heeft hij hoogstens nodig voor 1 tot 1000? Hoeveel gemiddeld?
22.11
Jij bent de computer: een drempel leren
Toepassen3Analyseren20 min
De ledstrip moet aan als het te donker is voor de planten. Een tuinier heeft twaalf keer de lichtwaarde L gemeten en telkens gezegd of het te donker was. Te donker: 80, 120, 150, 210, 260, 330. Niet te donker: 240, 310, 380, 420, 500, 640. De regel is 'ledstrip aan als L < drempel'.
a
Tel voor de drempels 200, 300 en 400 hoeveel voorbeelden fout voorspeld worden.
drempel
te donker maar L ≥ drempel
niet te donker maar L < drempel
fouten samen
200
300
400
b
Welke drempel 'leer' je? Test ze op vier nieuwe metingen: 180 en 290 (te donker), 350 en 450 (niet te donker).
c
Waarom kan geen enkele drempel alle twaalf voorbeelden juist krijgen?
Uitdagen
Uitdagen
transfer, open problemen, leerlijnen combineren
22.12
Habitat: water geven met een foutdetectie
Uitdagen4Habitat40 min
Het algoritme 'water geven' uit het handboek heeft een zwakke plek. Als de slang losschiet of de sensor stuk is, stijgt het vocht na het pompen niet, en de kas blijft elke 15 minuten 240 mL pompen, de hele nacht door, tot het reservoir leeg is. Maak het algoritme slimmer: na drie beurten na elkaar waarbij het vocht onder 30 % blijft, stopt de kas met pompen en geeft ze een alarm.
a
Welke variabele voeg je toe? Wanneer verhoog je ze, en wanneer zet je ze terug op 0?
b
Teken het verbeterde stroomdiagram.
c
Speel het na: de slang is los, het vocht blijft op 27 %. Hoeveel water gaat er verloren voor het alarm komt?
meting
v (%)
f
actie
d
Waarom mag je de teller niet op 0 zetten bij elke meting? Test je algoritme ook op een gewone dag: gaat het alarm nooit onterecht af?
e
Portfolio: noteer je stroomdiagram en de getallen (drempel 30 %, 30 s pompen, 15 min wachten, alarm na 3 mislukte beurten).
Hint
Een teller f telt de beurten na elkaar zonder resultaat. Zodra het vocht boven 30 % komt, is er niets mis: dan mag f terug op 0.
Zo wordt dit beoordeeld
Variabele
Een teller met beginwaarde 0, verhoogd na elke beurt, terug op 0 als het vocht weer boven de drempel is.
Stroomdiagram
Juiste symbolen, twee gelabelde pijlen uit elke ruit, alarm vóór het pompen, lus terug naar het meten.
Trace
Drie beurten van 240 mL (720 mL), dan alarm en geen pompbeurten meer.
Test
Ook een gewone dag nagespeeld: na een geslaagde beurt gaat f terug op 0.
22.13
Debat: mag de kas zelf leren?
Uitdagen4Argumenteren30 min
Een bedrijf biedt een 'slimme kas' aan: een AI die uit de metingen van duizenden kassen geleerd heeft wanneer planten water nodig hebben. Je hoeft geen drempel meer te kiezen. Het bedrijf zegt niet welke regel het systeem gebruikt.
a
Geef twee voordelen van het lerende systeem tegenover de vaste regel van 30 %.
b
Geef twee risico's. Denk aan de voorbeelden, de uitleg en de verantwoordelijkheid.
c
Welke vragen stel je aan het bedrijf voor je het systeem vertrouwt?
d
Neem een standpunt in voor de meetkas en verdedig het in drie zinnen.
Zo wordt dit beoordeeld
Voordelen
Minstens twee concrete voordelen (bv. rekening houden met meer gegevens, per plantensoort).
Risico's
Minstens twee, gekoppeld aan de voorbeelden, de uitleg of de verantwoordelijkheid.
Standpunt
Duidelijk, met argumenten uit het handboek, en met aandacht voor het tegenargument.
22.14
Ontwerp: het droogste bakje vinden
Uitdagen4Ontwerpen30 min
In de meetkas staan 12 bakjes. Je wil weten welk bakje het droogst is (het laagste vocht), zodat je daar de sensor zet. Je kan het vocht van één bakje per keer meten.
a
Ontwerp het algoritme in genummerde stappen. Welke variabelen gebruik je?
b
Speel je algoritme na voor vijf bakjes met 34, 29, 41, 26 en 31 %.
bakje b
vocht
laagste tot nu
nummer van het laagste
c
Hoeveel vergelijkingen heb je nodig voor 12 bakjes? Kan het met minder?
Zo wordt dit beoordeeld
Variabelen
Een variabele voor het laagste vocht tot nu en een voor het nummer van dat bakje, met een goede beginwaarde.
Stappen
Lus over alle bakjes, vergelijking met het laagste tot nu, bijwerken als het lager is, uitvoer op het einde.
Trace
Correct nagespeeld; uitkomst bakje 4 met 26 %.
22.15
Scheve voorbeelden
Uitdagen4Analyseren20 min
Een school laat een computer de drempel voor water geven leren, zoals in het handboek. Alle gelabelde voorbeelden komen uit juli, van tomatenplanten in een warme kas. De geleerde drempel is 38 %. In november gebruiken ze dezelfde regel voor slaplantjes in een koele kas.
a
Waarom leerde de computer in juli een hogere drempel dan 30 %?
b
Wat gaat er in november waarschijnlijk mis? Is de computer 'fout'?
c
Hoe verbeter je het leren? Geef twee manieren.
d
Geef een voorbeeld buiten de kas waar een AI-systeem hetzelfde probleem kan hebben.
ZelfevaluatieKleur per doel: lukt al / bijna / nog niet
Ik kan een probleem opdelen in deelproblemen (decompositie) en herhalingen in een probleem herkennen (patroonherkenning).
Ik kan bij een probleem aangeven welke gegevens ertoe doen en welke je mag weglaten (abstractie).
Ik kan een algoritme schrijven als genummerde stappen en tekenen als stroomdiagram met de juiste symbolen.
Ik kan een algoritme stap voor stap naspelen in een trace-tabel en zo de uitkomst voorspellen.
Ik kan fouten in een algoritme vinden en verbeteren: verkeerde volgorde, ontbrekende stap, oneindige lus, verkeerde vergelijking.
Ik kan het verschil uitleggen tussen een vast algoritme en een systeem dat een regel leert uit gelabelde voorbeelden, en zeggen wat AI wel en niet kan.
Ik kan het algoritme 'water geven' voor de meetkas als stroomdiagram tekenen en naspelen.