Computationeel denken: oplossingen plannen voordat je programmeert

Leer oplossingen plannen zoals informatici dat doen. Omschrijf een probleem helder, verdeel het in kleinere delen, herken patronen, richt je op de details die ertoe doen en bouw eenvoudige modellen van praktijksituaties. Schrijf daarna nauwkeurige algoritmen met sequentie, selectie en herhaling, traceer en debug ze en beoordeel welke oplossing het beste werkt, met of zonder computer.

VMBO 1, HAVO 1, VWO 1Les 1 van 4 in Cursus Informatica voor 11 tot 14 jaar

Wat je leert

  1. Leg uit wat computationeel denken is en waarom je eerst een plan maakt voordat je code schrijft, en maak van een vage praktijksituatie een helder omschreven probleem.
    • Leg uit wat computationeel denken is
      Beschrijf de vier kernwerkwijzen van computationeel denken, laat zien hoe mensen die met of zonder computer gebruiken en leg uit waarom je eerst plant voordat je programmeert.
    • Omschrijf een probleem voordat je het oplost
      Geef aan wat een probleem werkelijk vraagt: het doel, de gebruikers, de invoer en uitvoer, de eisen en randvoorwaarden en de succescriteria die je kunt toetsen.
  2. Splits een groot probleem op in deelproblemen die je één voor één kunt oplossen, leg ze vast in een schema en zoek uit hoe de delen weer bij elkaar passen.
    • Splits een probleem op in deelproblemen
      Splits een probleem op in kleinere delen, blijf splitsen totdat elk deel gemakkelijk op te lossen is en geef het resultaat weer in een decompositieschema.
    • Verbind deelproblemen tot een werkend geheel
      Zoek uit welke onderdelen van andere afhangen, welke informatie ertussen wordt doorgegeven en hoe je door onderdelen afzonderlijk op te lossen en te testen tot één volledige oplossing komt.
  3. Herken patronen waardoor één oplossing voor veel gevallen werkt, bepaal welke details voor een doel belangrijk zijn en bouw eenvoudige modellen van praktijksituaties.
    • Herken en gebruik patronen
      Zoek overeenkomsten binnen en tussen problemen, zet een herhaald patroon om in een algemene regel en hergebruik oplossingen in plaats van steeds opnieuw te beginnen.
    • Gebruik abstractie om je te richten op wat belangrijk is
      Bepaal welke details een oplossing voor haar doel nodig heeft, laat de rest weg of verberg die en onderscheid algemene informatie van specifieke informatie.
    • Modelleer situaties uit de praktijk
      Bouw een eenvoudig model van een praktijksituatie door te kiezen wat je weergeeft, de toestand en de regels voor veranderingen te beschrijven en de voorspellingen te toetsen aan de werkelijkheid.
  4. Schrijf nauwkeurige algoritmen met sequentie, selectie, iteratie, variabelen en constanten; traceer ze met testinvoer en spoor fouten op en verhelp ze.
    • Schrijf nauwkeurige algoritmen
      Leg uit wat een algoritme is, schrijf duidelijke, ondubbelzinnige stappen en geef een algoritme weer als genummerde stappen, een stroomdiagram, pseudocode of blokken.
    • Bouw algoritmen met sequentie, selectie en iteratie
      Combineer de drie basisbouwstenen met variabelen, constanten en subroutines om algoritmen te schrijven die beslissingen nemen en stappen herhalen.
    • Traceer, test en debug algoritmen
      Volg een algoritme stap voor stap in een tracetabel, kies testinvoer met verwachte resultaten en spoor fouten op en verbeter ze.
  5. Combineer alle werkwijzen om een volledige oplossing te plannen, zonder computer of op een digitaal apparaat, beoordeel die vervolgens aan de hand van de succescriteria en vergelijk andere ontwerpen.
    • Plan een volledige oplossing van probleem tot algoritme
      Werk een praktijkprobleem uit via probleemdefinitie, decompositie, patroonherkenning, abstractie en algoritmeontwerp, en leg het plan vast zodat een team het kan bouwen en testen.
    • Evalueer en verbeter een oplossing
      Beoordeel een oplossing aan de hand van de succescriteria en gebruikersverhalen, vergelijk alternatieve algoritmen op correctheid, efficiëntie en duidelijkheid en verbeter het ontwerp in kleine cycli.

Computationeel denken: uitleg

5 hoofdstukken

1

Gebruik computationeel denken om oplossingen te plannen

Een bruikbaar plan begint met een duidelijke vraag. Je moet weten wie het probleem heeft en hoe een geslaagd resultaat eruitziet. Computationeel denken geeft je manieren om dat werk te ordenen voordat je een apparaat kiest of code schrijft. Een klassenactiviteit, een papieren herinneringssysteem en een spel kunnen allemaal met dezelfde planningsvaardigheden beginnen.

1.1 Leg uit wat computationeel denken is

Computationeel denken betekent dat je een probleem en de oplossing duidelijk genoeg beschrijft om die uit te voeren. Een mens, een computer of allebei kunnen het plan volgen. Informaticus Jeannette Wing hielp de term bekend te maken bij een breed publiek in een essay uit 2006.

Vier werkwijzen die samenwerken
WerkwijzeWat je doet
DecompositieSplits een groot probleem op in kleinere delen.
PatroonherkenningZoek overeenkomsten en herhaald werk.
AbstractieBehoud de details die je voor je doel nodig hebt.
AlgoritmeontwerpSchrijf nauwkeurige instructies of regels.

Deze werkwijzen zijn geen stappen die je in één vaste volgorde moet afronden. Terwijl je instructies schrijft, kun je een ontbrekend onderdeel opmerken. Dan ga je terug naar decompositie. Sommige cursussen noemen ook generalisatie, patronen omzetten in bredere regels, en evaluatie, een oplossing beoordelen.

Plan een bakverkoop voor de klas

Begin met de taak op te splitsen: kies producten, bepaal prijzen, maak bordjes, handel geld af en ruim op. Elk onderdeel heeft nu een kleiner doel.

Herken daarna een patroon. Elk product heeft ingrediënten nodig en moet worden gebakken, verpakt en van een etiket voorzien. Eén checklist kan voor meerdere producten dienen.

Voor de prijs behoud je de kosten van de ingrediënten en het aantal stuks. De kleur van de gebaksbordjes heeft geen invloed op deze prijsregel, dus laat je die weg. Die keuze is abstractie.

Schrijf nu het prijsalgoritme: “Deel de kosten van de ingrediënten door het aantal stuks. Rond naar boven af op de eerstvolgende 25 cent. Tel er 50 cent bij op.” Voor brownies waarvan de ingrediënten € 9,00 kosten voor 24 stuks:

  1. Deel € 9,00 door 24. Dat is € 0,375 per stuk.
  2. Rond naar boven af op € 0,50.
  3. Tel er € 0,50 bij op. De verkoopprijs wordt € 1,00.
Voer het plan uit

Bij programmeren schrijf je instructies in een taal die een computer kan uitvoeren. Scratch gebruikt blokken; Python gebruikt tekst. Het plan kan al bestaan voordat je een van beide programma's maakt.

Voor een opdracht zonder computer gebruik je geen apparaat. Je kunt kaarten sorteren of een klasgenoot tekeninstructies geven. Met Bebraspuzzels oefen je deze vaardigheden ook. Bij een opdracht op een digitaal apparaat kun je het plan bijvoorbeeld omzetten in een Scratch-spel. Beide vragen om helder nadenken.

Door te plannen kun je fouten gemakkelijker vinden voordat veel code ervan afhangt. Met een schema of geschreven algoritme kunnen teamleden hetzelfde idee bespreken en het werk verdelen. Als iedereen vanuit een ander idee begint te programmeren, passen de voltooide onderdelen misschien niet op elkaar.

Een computer volgt de instructies die hij krijgt. Hij vult de ontbrekende stappen in je plan niet zelf aan.

Belangrijkste punten

  • Computationeel denken maakt problemen en oplossingen duidelijk genoeg om uit te voeren.
  • Decompositie, patroonherkenning, abstractie en algoritmeontwerp ondersteunen elkaar.
  • Je kunt de werkwijzen opnieuw gebruiken als een plan verandert.
  • Plannen helpt mensen fouten te vinden en werk te verdelen voordat ze programmeren.
  • Opdrachten zonder computer en op een digitaal apparaat gebruiken dezelfde denkvaardigheden.

1.2 Omschrijf een probleem voordat je het oplost

“De klassenbibliotheek is een rommeltje” benoemt een probleem, maar laat veel vragen open. Zijn boeken moeilijk te vinden? Ontbreken er gegevens over uitgeleende boeken? Door het probleem te omschrijven maak je van die zorg een duidelijk doel voor benoemde gebruikers.

Stel vragen voordat je een oplossing kiest

Vraag bij vergeten huiswerk wie hulp nodig heeft, wat ze vergeten en wanneer ze een herinnering nodig hebben. Stel daarna kleinere vragen: welke vakken? Wie voert de inleverdatums in? Kunnen leerlingen al op een gezamenlijk bord kijken?

De antwoorden kunnen wijzen op een papieren agenda, een bord in de klas of een app. Als je eerst een app kiest, kan de werkelijke behoefte verborgen blijven. Houd het doel beperkt genoeg om het af te ronden, bijvoorbeeld brugklassers helpen het huiswerk voor morgen op één plek te zien.

Volg de informatie door de oplossing

Voor een huiswerkherinnering:

OnderdeelVoorbeeld
Invoer: ontvangen informatieTitel van het huiswerk, vak, inleverdatum
Verwerking: wat ermee gebeurtVergelijk inleverdatums met de datum van morgen
Uitvoer: opgeleverd resultaatEen lijst met huiswerk dat morgen af moet zijn

Dit helpt je te zien welke informatie beschikbaar moet zijn. Een herinnering kan de opdrachten voor morgen niet kiezen als die geen inleverdatums ontvangt.

Onderscheid behoeften van grenzen

Een eis geeft aan wat de oplossing moet doen: “Toon al het huiswerk dat morgen af moet zijn.” Een randvoorwaarde begrenst de oplossing: “Werk op de tablets van school”, “Kost niets” of “Wees binnen drie weken klaar”. Eisen en randvoorwaarden vormen de ontwerpcriteria.

Een gebruikersverhaal beschrijft een behoefte vanuit iemands perspectief:

“Als brugklasser wil ik het huiswerk voor morgen in één lijst, zodat ik mijn avond kan plannen.”

Het noemt de gebruiker, het doel en de reden. Een ouder heeft misschien juist een weekoverzicht nodig. Dat zijn verschillende verhalen, ook als één oplossing beide gebruikers helpt.

Maak succes controleerbaar

Bij “gemakkelijk te gebruiken” beoordelen mensen verschillende dingen. “Een leerling kan binnen 30 seconden een opdracht toevoegen” geeft een meetbare controle. “Alles wat morgen af moet zijn, verschijnt in de lijst” geeft er nog een.

Schrijf succescriteria voordat je gaat bouwen. Bepaal bij elk criterium welk bewijs laat zien dat eraan is voldaan. Je kunt meten hoe lang een leerling erover doet om iets toe te voegen en daarna de herinneringslijst vergelijken met een voorbereide lijst met inleverdatums.

Aan het begin vertelt de probleemdefinitie je welk werk je in onderdelen moet verdelen. Aan het einde sturen dezelfde verhalen en criteria het testen en de evaluatie. Een breed doel zoals “los huiswerk op” moet je afbakenen voordat een van beide mogelijk is.

Belangrijkste punten

  • Omschrijf het doel en de gebruikers voordat je een oplossing kiest.
  • Benoem invoer, verwerking en uitvoer.
  • Eisen beschrijven het benodigde gedrag; randvoorwaarden stellen grenzen.
  • Een gebruikersverhaal verbindt een gebruiker, een doel en een reden.
  • Succescriteria maken behoeften toetsbaar.
  • Gebruik de probleemdefinitie als leidraad voor zowel de planning als de evaluatie.
2

Verdeel problemen in overzichtelijke delen

Een grote taak wordt gemakkelijker als elk onderdeel een duidelijke taak heeft. Sommige onderdelen kun je afzonderlijk oplossen, terwijl andere informatie van elders nodig hebben. Een probleem opdelen is maar de helft van het werk: de onderdelen moeten ook op elkaar passen. Schema's en enkele afgesproken gegevenswaarden helpen een team het werk te verdelen en ontbrekende onderdelen te vinden.

2.1 Splits een probleem op in deelproblemen

Decompositie splitst een probleem of systeem op in kleinere delen. Elk deelprobleem heeft een doel dat je kunt begrijpen, bereiken en controleren. Door die kleinere oplossingen te combineren, voltooi je de grotere taak.

Maak een decompositieboom

Schrijf het hele probleem bovenaan. Benoem daaronder de belangrijkste onderdelen. Vraag je af of elk onderdeel klein genoeg is om direct op te lossen. Als er nog meerdere taken in verborgen zitten, splits je het verder op.

Voor “Maak een quizspel” kunnen de eerste takken zijn:

  • Toon de vragen.
  • Controleer elk antwoord.
  • Houd de score bij.
  • Toon het eindresultaat.

De tak “Controleer elk antwoord” kun je verder opsplitsen:

  • Ontvang het antwoord van de speler.
  • Vergelijk het met het juiste antwoord.
  • Toon “Goed!” of laat het juiste antwoord zien.

Een decompositieschema toont deze takken als een boomstructuur. De lijnen betekenen “dit is onderdeel van die taak”. Ze tonen niet welke instructie daarna wordt uitgevoerd. Het algoritme geeft de volgorde.

Kies onderdelen met een bruikbare omvang

“Maak het spel” is te groot om iemand als duidelijke taak te geven. “Druk op een toets” is meestal te klein voor een eigen tak. “Controleer een antwoord” heeft een bruikbaar doel, met een korte reeks stappen erachter.

De juiste omvang hangt af van wat het team begrijpt. Als niemand weet hoe je antwoorden moet verwerken, splits je die tak op totdat het werk duidelijk is. Stop wanneer je elk onderdeel met een duidelijke stap of een kort algoritme kunt oplossen.

Gebruik dezelfde aanpak zonder scherm

Een museumuitje kan vijf hoofdonderdelen hebben:

OnderdeelKleinere taken
VervoerBoek een bus; spreek vertrek- en terugkomsttijden af
GeldBereken de kosten per leerling; verzamel betalingen
ToestemmingVerstuur en verzamel toestemmingsformulieren
ProgrammaKies tentoonstellingen; plan de lunch
VeiligheidVorm groepen; wijs volwassen begeleiders aan

Verschillende mensen kunnen verantwoordelijkheid nemen voor verschillende takken. Decompositie werkt ook voor systemen: een fiets heeft een frame, wielen, remmen en versnellingen. Als je een onderdeel begrijpt, kun je bepalen waar een reparatie of verbetering nodig is.

Controleer of er niets ontbreekt

Ga terug naar elke eis en elk gebruikersverhaal. Zoek de tak die bij elk ervan hoort. Als een quizspeler een eindscore moet zien, is alleen “Houd de score bij” niet genoeg: iets moet die score tonen.

Door onderdelen afzonderlijk te testen kun je ook gerichter naar fouten zoeken. Als het controleren van antwoorden werkt maar de score verkeerd is, kun je de scoreberekening en de verbinding ertussen onderzoeken. Je hoeft niet met elk onderdeel van het spel opnieuw te beginnen.

Belangrijkste punten

  • Geef elk deelprobleem één duidelijk doel.
  • Splits een onderdeel verder op als de oplossing nog onduidelijk is.
  • Een decompositieboom toont onderdelen, niet de volgorde van instructies.
  • Controleer of elke eis bij een tak hoort.

2.2 Verbind deelproblemen tot een werkend geheel

Afzonderlijke onderdelen hebben duidelijke verbindingen nodig. Het ene onderdeel kan informatie opleveren die een ander onderdeel nodig heeft. Er is een afhankelijkheid als een onderdeel het resultaat van een ander onderdeel nodig heeft.

Volg uitvoer naar invoer

In een quiz levert het controleren van een antwoord “goed” of “fout” op. Het onderdeel dat de score bijhoudt, ontvangt dat resultaat en werkt een getal bij. Het onderdeel dat het resultaat toont, ontvangt de eindscore.

Spreek precies af wat elk onderdeel verstuurt en ontvangt:

OnderdeelOntvangtLevert op
Controleer een antwoordAntwoord van de speler en juiste antwoordGoed of fout
Houd de score bijGoed of foutBijgewerkte score als geheel getal
Toon het resultaatEindscore als geheel getalEen bericht met de score

Als het ene teamlid het woord “vijf” verstuurt maar een ander het getal 5 verwacht, kunnen beide onderdelen afzonderlijk werken en samen toch misgaan. Door de gegevens vroeg af te spreken voorkom je dat ze niet op elkaar aansluiten.

Zoek uit wat eerst bekend moet zijn

Voor een uitje hangt het innen van betalingen af van de kosten per leerling. De bus kost € 450. Kaartjes kosten € 8 per stuk voor 25 leerlingen.

  1. Kosten van de kaartjes: 25 keer € 8 is € 200.
  2. Totale kosten: € 450 plus € 200 is € 650.
  3. Kosten per leerling: € 650 gedeeld door 25 is € 26.

Nu kunnen de betalingen voor het juiste bedrag worden geïnd. Vervoer boeken en toestemmingsformulieren ontwerpen kunnen onafhankelijke taken zijn: geen van beide heeft het resultaat van de andere nodig.

Je kunt een programmaonderdeel bouwen voordat het onderdeel dat gegevens levert klaar is. Geef een voorbeeldscore van 4 om een scoreweergave te testen. Zo controleer je de weergave zonder op het scoreonderdeel te wachten. Als het volledige spel draait, moet de echte score van het scoreonderdeel komen.

Voeg onderdelen beetje bij beetje samen

Controleer eerst elk onderdeel afzonderlijk met bekende invoer. Verbind daarna twee onderdelen en controleer de informatie die ertussen wordt doorgegeven. Voeg het volgende onderdeel toe als die verbinding werkt.

Als het scoreonderdeel een voorbeeldresultaat “goed” accepteert maar niet werkt met het onderdeel dat antwoorden controleert, onderzoek dan hun verbinding. Misschien verstuurt het ene onderdeel “Goed” terwijl het andere een andere waarde verwacht. Als je wacht tot elk onderdeel is gebouwd, zijn zulke problemen moeilijker te vinden.

Hergebruik een benoemde reeks stappen

Een subroutine is een benoemde groep stappen die je één keer schrijft en aanroept wanneer die nodig is. Veel talen gebruiken de namen procedure of functie. Een quiz kan “Controleer een antwoord” voor elke vraag aanroepen.

Als je herkent dat vraag 1 en vraag 2 dezelfde controle nodig hebben, verbind je decompositie met patroonherkenning. De gegevens veranderen; de stappen kunnen hetzelfde blijven. Eén gedeelde subroutine geeft je ook één plek om een fout in de controle te verhelpen.

Belangrijkste punten

  • Een afhankelijkheid betekent dat een onderdeel het resultaat van een ander onderdeel nodig heeft.
  • Spreek af welke waarden tussen onderdelen worden doorgegeven.
  • Onafhankelijke taken kun je in beide volgordes of tegelijk uitvoeren.
  • Met voorbeeldwaarden kun je een programmaonderdeel testen voordat het onderdeel dat gegevens levert klaar is.
  • Voeg onderdelen geleidelijk samen en test ze.
  • Een subroutine geeft herhaald werk één herbruikbare naam.
3

Herken patronen en gebruik abstractie om de wereld te modelleren

Vergelijkbare problemen hebben vaak een bruikbare regel gemeen. Als je die regel vindt, kan dat werk besparen, maar je moet nog steeds bepalen welke details belangrijk zijn. Een eenvoudig model combineert die keuzes met regels voor verandering. Zo kun je een praktijksituatie onderzoeken, een resultaat voorspellen en de voorspelling vergelijken met wat er werkelijk gebeurt.

3.1 Herken en gebruik patronen

Patroonherkenning betekent dat je overeenkomsten binnen een probleem of tussen problemen opmerkt. Herhaalde stappen, overeenkomende berekeningen en trends in gegevens kunnen wijzen op een oplossing die je kunt hergebruiken.

Maak van herhaalde stappen een lus

Een tekenfiguur maakt een vierkant door 50 stappen vooruit te gaan en 90 graden naar rechts te draaien. De figuur voert dat paar handelingen vier keer uit:

REPEAT 4 TIMES
  MOVE FORWARD 50 STEPS
  TURN RIGHT 90 DEGREES
END REPEAT

De lus beschrijft het herhaalde paar één keer. Om de lengte te veranderen hoef je nu maar één ding aan te passen, zonder acht afzonderlijke instructies te wijzigen.

Zoek wat tussen gevallen verandert

Een regelmatige veelhoek heeft gelijke zijden en gelijke hoeken. Een figuur die zo'n veelhoek tekent, maakt in totaal een volledige draai: 360 graden. Verdeel die draai gelijk over de hoeken:

draaihoek=360∘÷aantal zijden

Een driehoek heeft per draai 120 graden nodig, een vierkant 90 graden en een zeshoek 60 graden. De figuur draait bij elke hoek over de buitenhoek.

Generalisatie zet dit patroon om in een regel voor veel gevallen. Herhaal één keer per zijde: ga de gekozen lengte vooruit en draai 360 gedeeld door het aantal zijden. De waarden die veranderen kunnen parameters worden: invoer voor een subroutine zoals drawShape(sides, length).

Zoek gemeenschappelijke berekeningen

Vijf bioscoopkaartjes van € 8 per stuk kosten € 40. Drie pizza's van € 12 per stuk kosten € 36. De voorwerpen verschillen, maar beide gebruiken:

totaal=aantal stuks×prijs per stuk

Eén algoritme kan het aantal en de prijs als invoer ontvangen. Het heeft geen nieuwe reeks stappen nodig voor elk product.

Patronen komen ook in gegevens voor. De getallen 3, 7, 11, 15 worden steeds 4 groter. Door 4 op te tellen krijg je het volgende getal, 19. Een directe regel geeft de waarde op elke positie:

waarde=positie×4−1

Positie 1 geeft 3. Positie 5 geeft 19. Positie 100 geeft 399 zonder de eerdere waarden op te schrijven.

Controleer de regel voordat je die gebruikt

Het begin 1, 2, 4 kan bij verschillende regels passen. Als je verdubbelt, gaat het verder met 8, 16. Als je eerst 1, dan 2, dan 3 en dan 4 optelt, gaat het verder met 7, 11. Meer voorbeelden of een reden voor de regel helpen bepalen welk patroon bedoeld is.

Belangrijkste punten

  • Patronen kunnen voorkomen in stappen, gegevens en verschillende problemen.
  • Herhaalde stappen kunnen een lus worden.
  • Generalisatie maakt een regel bruikbaar voor meerdere gevallen.
  • Parameters leveren de waarden die veranderen.
  • Controleer een voorgesteld patroon met meer gevallen of een reden erachter.

3.2 Gebruik abstractie om je te richten op wat belangrijk is

Abstractie richt zich op de informatie die nodig is voor een doel. Andere details laat je weg of verberg je, zodat je met een eenvoudigere beschrijving kunt werken. Je moet nog steeds nauwkeurig zijn over de details die je behoudt.

Laat het doel de details bepalen

Harry Becks kaart van de Londense metro uit 1933 toonde stations, hun volgorde op lijnen en plaatsen om over te stappen. Rechte lijnen onder enkele hoeken maakten de routes gemakkelijker te volgen. De afstanden tussen stations op de kaart gaven niet de werkelijke afstanden weer.

Die abstractie helpt bij het plannen van een metrorit. Je kunt er niet betrouwbaar mee bepalen hoe ver je moet lopen. Een fietskaart heeft fietspaden en heuvels nodig. Een bezorgkaart heeft adressen en eenrichtingsstraten nodig. Een detail kan voor het ene doel belangrijk en voor een ander doel onnodig zijn.

Kies gegevens voor een zitplaatsenplan in de bus

Het doel is geschikte plaatsen toe te wijzen zonder een plaats twee keer te boeken. Begin met de beschikbare details:

BehoudenWaarom het belangrijk is
ZitplaatsnummersElke plaats herkennen
Vrij of geboektEen tweede boeking voorkomen
Namen van leerlingenLaten zien wie welke boeking heeft
Informatie over toegankelijke plaatsenPlaatsen toewijzen aan leerlingen die ze nodig hebben

De kleur van de stoelen en de naam van de chauffeur helpen niet bij deze boekingen. Laat ze weg uit dit plan.

Controleer nu de kleinere beschrijving aan de hand van het doel. Kun je ermee een vrije plaats vinden, een boeking maken en voldoen aan behoeften rond toegankelijkheid? Als je informatie over toegankelijke plaatsen weglaat, wordt de beschrijving te eenvoudig. Een leerling die zo'n plaats nodig heeft, kan dan een ongeschikte plaats krijgen.

Beschrijf een hele soort gevallen

“De kluiscode van Jordan is 4-7-2” is specifieke informatie over één kluis. “Een kluiscode bestaat uit drie cijfers, elk van 0 tot en met 9” is algemene informatie over de hele soort codes.

Voor elk cijfer zijn er 10 keuzes, waaronder een voorloopnul:

10×10×10=1.000

De mogelijke codes lopen van 000 tot en met 999. Een algemene controle voor codes heeft de regel van drie cijfers nodig, niet Jordans specifieke code.

Verberg details achter een bruikbare naam

Een variabele met de naam score staat voor de huidige waarde van de score. Met een subroutine met de naam drawSquare(size) kun je om een vierkant vragen zonder elke tekenstap te lezen. Een knop “Opslaan” verbergt op vergelijkbare wijze de opslagstappen voor de gebruiker.

Dit zijn abstractieniveaus. “Maak een quizspel” is een hoog niveau. “Controleer elk antwoord” is een kleinere taak op het middenniveau. “Vergelijk getypte tekst met het opgeslagen antwoord” is een lager niveau. Decompositie creëert de onderdelen; abstractie laat je over één niveau nadenken zonder elk detail daaronder bij te houden.

Belangrijkste punten

  • Kies details op basis van het doel van de oplossing.
  • Controleer of bij het vereenvoudigen elk detail is behouden dat de gebruikers nodig hebben.
  • Algemene informatie beschrijft een soort gevallen; specifieke informatie beschrijft één geval.
  • Namen en subroutines kunnen stappen op een lager niveau verbergen.

3.3 Modelleer situaties uit de praktijk

Een model is een vereenvoudigde weergave van een echt voorwerp of een echte situatie. Het behoudt de kenmerken die nodig zijn om een vraag te beantwoorden. Een simulatie voert een model stap voor stap uit om te onderzoeken wat er in de loop van de tijd gebeurt.

Beschrijf een toestand en regels voor verandering

De toestand van een model bestaat uit de waarden op één moment. Het gedrag is de verzameling regels die die waarden verandert. Zo bouw je een model:

  1. Formuleer de vraag.
  2. Kies de grootheden die je wilt weergeven en geef ze een naam.
  3. Stel hun beginwaarden in.
  4. Schrijf de regels die ze veranderen.
  5. Voer de regels stap voor stap uit en noteer de waarden.
  6. Vergelijk voorspellingen met echte waarnemingen.
Modelleer een telefoonbatterij

De batterij begint op 80%. Gamen kost elk uur 15 procentpunt. Hoeveel volledige uren verstrijken voordat de lading onder 20% komt?

Uren gespeeldVoorspelde batterijlading
080%
165%
250%
335%
420%
55%

Elke rij gebruikt de vorige lading min 15. Na vier uur is de lading gelijk aan 20%; die is niet lager dan 20%. Volgens het model zijn dus vier volledige uren mogelijk voordat de lading tijdens het vijfde uur onder dat niveau komt.

De regel gaat uit van hetzelfde verbruik per uur. Een helderder scherm kan meer batterij verbruiken. Als de werkelijke lading na drie uur 30% is, was de voorspelling van 35% te hoog. Het waargenomen gemiddelde verbruik is:

(80−30)÷3≈17

Probeer een regel van ongeveer 17 procentpunt per uur en test die daarna met nieuwe waarnemingen.

Modelleer sparen

Een leerling begint met € 10. Elke week komt er € 5 bij en gaat er € 2 naar tussendoortjes. De verandering per week is € 3.

Na week 1 is het saldo € 13. Na week 8 is het € 34. Een koptelefoon kost € 40. Week 9 geeft € 37; week 10 geeft € 40, dus de leerling kan de koptelefoon na tien weken kopen.

Dit model gaat ervan uit dat de inkomsten en uitgaven per week gelijk blijven. Een cadeau of een overgeslagen tussendoortje verandert het werkelijke saldo. Aannames zijn de voorwaarden die het model als waar beschouwt; ze helpen je beoordelen wanneer de voorspelling bruikbaar is.

Kies genoeg details om de vraag te beantwoorden

Een model van een kantinerij heeft aankomsttijden en bedieningstijden nodig om de wachttijd te voorspellen. Kleuren van dienbladen helpen niet bij die vraag. Meer details kosten meer werk om te bouwen en te controleren, dus behoud wat de voorspelling beïnvloedt.

Een bordspel kan verkeer zonder computer modelleren. Een spreadsheet kan één rij per week vastleggen. Een Scratch-simulatie kan het aantal vissen in een vijver bijwerken. Elk model heeft een begintoestand, duidelijke regels en controles aan de hand van de situatie die het weergeeft nodig.

Belangrijkste punten

  • Een model behoudt kenmerken die nodig zijn voor een vraag of voorspelling.
  • De toestand beschrijft huidige waarden; gedrag beschrijft regels voor verandering.
  • Voer regels uit vanaf de opgegeven beginwaarden en noteer de resultaten.
  • Aannames geven aan wat het model als waar beschouwt.
  • Vergelijk voorspellingen met echte waarnemingen en pas het model aan.
  • Meer detail is alleen nuttig als het helpt de vraag te beantwoorden.
4

Ontwerp, traceer en debug algoritmen

Een plan wordt een algoritme als de instructies nauwkeurig genoeg zijn om te volgen. Met volgorde, beslissingen en herhaling kan een kort plan veel invoer verwerken. Door de stappen met de hand te volgen zie je hoe waarden veranderen en waar fouten beginnen. Zorgvuldig gekozen tests helpen je gewone gevallen te controleren en de grenzen waar het gedrag verandert.

4.1 Schrijf nauwkeurige algoritmen

Een algoritme is een eindige verzameling nauwkeurige, ondubbelzinnige instructies of regels voor een taak. Het heeft een duidelijk begin, volgt een vaste volgorde en eindigt met een resultaat. Iemand die het volgt, zou niet naar ontbrekende details hoeven raden.

Maak een instructie nauwkeurig

“Doe pindakaas op brood” laat verschillende keuzes open. Een duidelijkere versie is:

  1. Open de pot.
  2. Neem met het mes ongeveer één lepel pindakaas.
  3. Smeer die uit over één kant van één snee brood.

Vervang bij een bewegingstaak “loop een stukje” door “loop 20 stappen”. Vervang bij herhaling “een paar keer” door “3 keer”. Bij een opdracht zonder computer kan iemand anders de instructies letterlijk volgen om ontbrekende stappen te ontdekken.

Volg een beslissing tot een resultaat

Om het grootste van twee getallen te vinden:

INPUT a
INPUT b
IF a > b THEN
  OUTPUT a
ELSE
  OUTPUT b
END IF

Bij 7 en 12 is de voorwaarde onwaar, dus is de uitvoer 12. Bij 5 en 5 is die ook onwaar: de tweede 5 wordt als uitvoer gegeven. Dat is nog steeds de grootste waarde, omdat beide waarden gelijk zijn.

Kies een manier om de stappen te tonen
VormHoe die een algoritme toont
Genummerde stappenInstructies in gewone taal op volgorde
StroomdiagramVormen verbonden met pijlen
PseudocodeKorte, gestructureerde instructies zoals in het voorbeeld hierboven
BlokkenVerbonden instructies, zoals in Scratch

In een eenvoudig stroomdiagram geeft een ovaal of afgeronde rechthoek het begin of einde aan. Een rechthoek toont verwerking. Een ruit bevat een beslissing, met uitvoeringspaden met de labels “Ja” en “Nee”. Een parallellogram toont invoer of uitvoer. Pijlen tonen waar je verdergaat.

Er is niet één officiële stijl voor pseudocode. Duidelijke, consistente instructies zijn belangrijk omdat iemand anders het plan moet kunnen volgen. Een programma drukt algoritmen uit in een programmeertaal die een computer kan uitvoeren. Hetzelfde plan kun je in verschillende talen uitvoeren of door een mens laten volgen.

Geef herhaling een manier om te eindigen

“Blijf roeren” zegt niet wanneer je moet stoppen. Een lus heeft een vast aantal herhalingen of een bereikbare stopvoorwaarde nodig. “Roer 30 seconden” geeft een grens.

Een WHILE-lus stopt wanneer de voorwaarde onwaar wordt. Een REPEAT UNTIL-lus stopt wanneer de voorwaarde waar wordt. De herhaalde stappen moeten dat stoppunt kunnen bereiken.

Meerdere algoritmen kunnen één probleem oplossen. Een routebeschrijving via de trap en een routebeschrijving met de lift kunnen allebei bij een bibliotheek uitkomen. Of ze geschikt zijn, hangt af van de gebruiker: een leerling met krukken heeft misschien de route met de lift nodig.

Belangrijkste punten

  • Een algoritme heeft nauwkeurige stappen en een einde nodig.
  • Je kunt algoritmen weergeven in stappen, stroomdiagrammen, pseudocode of blokken.
  • Een programma geeft algoritmen weer in een taal die een computer kan uitvoeren.
  • Een lus moet een vast aantal herhalingen of een bereikbaar stoppunt hebben.
  • Verschillende correcte algoritmen kunnen aan verschillende gebruikersbehoeften voldoen.

4.2 Bouw algoritmen met sequentie, selectie en iteratie

Algoritmen combineren drie basisstructuren: sequentie, selectie en iteratie. Met benoemde waarden houd je bij wat verandert, terwijl je met subroutines een groep stappen kunt hergebruiken.

Volgorde en beslissingen

Sequentie voert stappen na elkaar uit. Trek sokken aan vóór schoenen. Zelfs correcte instructies kunnen misgaan in de verkeerde volgorde.

Selectie kiest stappen met behulp van een voorwaarde die waar of onwaar is. Vergelijkingen zijn onder andere =, <, >, <= en >=. De laatste twee betekenen “kleiner dan of gelijk aan” en “groter dan of gelijk aan”.

Voor bioscoopkaartjes betalen kinderen onder 13 jaar € 8, mensen van 65 jaar en ouder € 9 en alle anderen € 12:

IF age < 13 THEN
  SET price TO 8
ELSE IF age >= 65 THEN
  SET price TO 9
ELSE
  SET price TO 12
END IF

Leeftijd 12 geeft € 8. Leeftijden 13 en 40 geven € 12. Leeftijd 65 geeft € 9. De voorwaarden worden van bovenaf gecontroleerd en de eerste ware voorwaarde kiest de tak. Als je < 13 verandert in <= 13, hoort leeftijd 13 ten onrechte bij de goedkopere groep.

Herhaal de juiste stappen

Iteratie herhaalt werk. Een telgestuurde lus heeft een vast aantal herhalingen, zoals REPEAT 4 TIMES. Een voorwaardegestuurde lus hangt af van een veranderende voorwaarde, zoals WHILE lives > 0.

Gebruik een vast aantal als je weet hoeveel herhalingen nodig zijn. Gebruik een voorwaarde als het aantal afhangt van wat er gebeurt. Een herhaald paar tekeninstructies kun je één keer aanpassen binnen een lus, zodat je geen afzonderlijke kopieën nodig hebt.

Sla waarden op met namen

Een variabele slaat een waarde op die kan veranderen. SET score TO 0 geeft een beginwaarde. SET score TO score + 1 leest de huidige score, telt er één bij op en slaat de nieuwe score op.

Waarden hebben gegevenstypen. Een geheel getal is een getal zonder breukdeel, zoals 42. Een tekenreeks bevat tekst, zoals “Ana”. Een booleaanse waarde is waar of onwaar.

Een constante is een benoemde waarde die tijdens een uitvoering gelijk blijft. CONSTANT MAX_LIVES = 3 maakt de grens gemakkelijk te herkennen. Hoofdletters zijn een gebruikelijke manier om namen te schrijven, geen algemene regel voor alle talen.

Combineer de structuren
SET score TO 0
REPEAT 5 TIMES
  SHOW NEXT QUESTION
  INPUT answer
  IF answer = correctAnswer THEN
    SET score TO score + 1
  END IF
END REPEAT
OUTPUT score

De beginwaarde komt vóór de lus. Alleen een juist antwoord verandert de score. De einduitvoer komt na alle vijf vragen. Als je die uitvoer binnen de lus zet, wordt na elk antwoord een score getoond.

Zet de score aan het begin van elk spel terug. Scratch kan een waarde van het vorige spel bewaren. Python geeft een foutmelding als je een naam gebruikt die nooit een waarde heeft gekregen.

Een subroutine zoals drawSquare(size) bevat herbruikbare stappen. De parameter size levert de veranderlijke lengte. Volg bij een aanroep de subroutine met die waarde en ga daarna terug naar de instructie na de aanroep.

Belangrijkste punten

  • Sequentie legt de volgorde vast; selectie kiest een tak; iteratie herhaalt werk.
  • Kies een telgestuurde of voorwaardegestuurde lus die bij de taak past.
  • Een variabele heeft een naam, een waarde en een gegevenstype.
  • Een constante behoudt tijdens een uitvoering dezelfde waarde.
  • Geef variabelen een beginwaarde voordat je ze gebruikt.
  • De grenzen van een lus bepalen welke stappen worden herhaald.
  • Een aanroep van een subroutine gebruikt haar parameters en keert daarna terug naar het aanroepende algoritme.

4.3 Traceer, test en debug algoritmen

Traceren betekent dat je een algoritme met de hand volgt, stap voor stap. Noteer de waarden wanneer ze veranderen. Een tracetabel maakt het gemakkelijker te zien waar de werkelijke stappen niet meer overeenkomen met het bedoelde resultaat.

Traceer een lopend totaal
SET total TO 0
SET n TO 1
WHILE n <= 4
  SET total TO total + n
  SET n TO n + 1
END WHILE
OUTPUT total
Bereikt punttotaln
Begin01
Na doorgang 112
Na doorgang 233
Na doorgang 364
Na doorgang 4105

Elke doorgang telt de huidige waarde van n op en verhoogt daarna n. Wanneer n 5 wordt, is de voorwaarde onwaar. De uitvoer is 10, de som van 1, 2, 3 en 4.

Spring bij het traceren niet direct naar het bedoelde antwoord. Volg de geschreven stappen, inclusief fouten. Een tabel is nuttig omdat die het punt toont waar voor het eerst een verkeerde waarde verschijnt.

Kies tests voordat je ze uitvoert

Testen vergelijkt werkelijke resultaten met vooraf berekende verwachte resultaten. Neem op:

  • Normale gegevens: een gewone geldige invoer.
  • Gegevens rond grenswaarden: waarden rond een grens waar het gedrag verandert.
  • Onverwachte gegevens: een leeg antwoord, een onmogelijke waarde of het verkeerde soort invoer.

Bij de regel voor kaartjes hoort leeftijd 30 € 12 te kosten. Leeftijden 12 en 13 horen € 8 en € 12 te kosten. Leeftijden 64 en 65 horen € 12 en € 9 te kosten. Deze paren grenswaarden controleren beide prijsveranderingen.

Leeftijd −5 moet worden afgewezen. Zonder extra controle accepteert age < 13 die leeftijd en rekent € 8. Een normale test alleen zou dit probleem missen.

Zoek en verhelp een programmeerfout

Een algoritme dat 1 tot en met 10 moet tonen, luidt:

SET count TO 1
WHILE count < 10
  OUTPUT count
  SET count TO count + 1
END WHILE

Het toont 1 tot en met 9. Zodra count 10 is, slaagt de controle niet en volgt er geen uitvoer. Verander de voorwaarde in count <= 10 of count < 11. Dit is een off-by-one-fout: de lus loopt één keer te weinig.

Om te debuggen zoek je invoer die de fout telkens veroorzaakt. Traceer tot de eerste onverwachte waarde. Bedenk een oorzaak, verander één ding en herhaal die test. Voer daarna eerdere tests opnieuw uit om te controleren of de verbetering werkend gedrag niet heeft stukgemaakt.

Door elke instructie hardop uit te leggen kun je een ontbrekende stap ontdekken. Dezelfde methode werkt als een klasgenoot tekeninstructies volgt. Als gevarieerde tests slagen, geeft dat meer vertrouwen, maar invoer die je niet hebt geprobeerd, kan nog steeds een fout blootleggen.

Belangrijkste punten

  • Traceer de geschreven instructies en noteer veranderende waarden.
  • Bereken verwachte resultaten voordat je test.
  • Gebruik normale en onverwachte invoer en invoer rond grenswaarden.
  • Zoek de eerste verkeerde waarde voordat je een verbetering kiest.
  • Verander één ding, test het opnieuw en voer eerdere tests opnieuw uit.
5

Los praktijkproblemen op en verbeter je oplossingen met computationeel denken

Een volledige oplossing brengt planning, algoritmen en testen samen. Het doel is aan de behoeften van gebruikers te voldoen, ook in lastige gevallen zoals een gelijke stand of ontbrekende gegevens. Een vastgelegd plan helpt een team de onderdelen te bouwen. Bewijs uit tests en van gebruikers stuurt vervolgens de volgende verandering en helpt je mogelijke oplossingen te vergelijken.

5.1 Plan een volledige oplossing van probleem tot algoritme

Een volledig plan verbindt het doel van de gebruikers met kleinere taken, bruikbare gegevens, algoritmen en tests. De fasen kunnen overlappen. Een test die een ontbrekend geval aan het licht brengt, kan je terugsturen naar de probleemdefinitie of decompositie.

Omschrijf een inzamelwedstrijd

Klassen zamelen elke schooldag blikjes in. De leerlingenraad heeft weektotalen en een winnaar nodig. Een bruikbaar verhaal is:

“Als lid van de leerlingenraad wil ik de weektotalen van de blikjes zien, zodat ik op vrijdag de winnende klas kan bekendmaken.”

De succescriteria vereisen het totaal van elke klas, de winnaar en een melding van een gelijke stand wanneer meerdere klassen samen het hoogste totaal hebben.

Verdeel het werk en zoek gemeenschappelijke stappen

De belangrijkste onderdelen zijn de aantallen per dag vastleggen, het totaal per klas berekenen, het hoogste totaal zoeken en de resultaten tonen. Voor elke klas moet je op dezelfde manier vijf dagtotalen optellen. Eén lus of subroutine kan die herhaalde taak uitvoeren.

Behoud de namen van de klassen en de aantallen per dag. De merken van de blikjes en de mensen die de zakken dragen, hebben geen invloed op de totalen. Die abstractie vertelt het team welke gegevens het moet vastleggen.

Test het plan met een gelijke stand
KlasAantallen per dagWeektotaal
Klas 1212, 15, 9, 14, 1060
Klas 1420, 8, 11, 13, 961
Klas 1510, 10, 18, 12, 1161

Een eerste algoritme onthoudt één winnaar. Het vervangt die winnaar alleen als het een groter totaal vindt. Klas 14 vervangt klas 12, maar klas 15 vervangt klas 14 niet: 61 is niet groter dan 61. Het algoritme mist een verplichte melding van een gelijke stand.

Verbeter het ontwerp door alle namen met het hoogste totaal te bewaren. Begin met het totaal en de naam van de eerste klas. Voor elke overige klas:

  • Een groter totaal wordt het nieuwe hoogste totaal, met een nieuwe lijst die die klas bevat.
  • Bij een gelijk totaal voeg je die klas toe aan de huidige lijst.
  • Bij een kleiner totaal blijft de lijst ongewijzigd.

De test geeft nu klas 14 en 15 samen als resultaat. Plan ook hoe je aantallen van nul en ontbrekende daggegevens verwerkt. Een ontbrekende invoer mag je niet ongemerkt als een bekende nul behandelen.

Leg genoeg vast zodat een team kan bouwen

Bewaar het decompositieschema, de benoemde waarden, de algoritmen voor elk onderdeel en de tests met verwachte resultaten. Wijs teamtaken toe aan personen en geef ze deadlines. Een mogelijke tijdplanning is week 1 voor plannen, week 2 voor onderdelen bouwen en week 3 voor samenvoegen en testen.

Je kunt het plan uitvoeren op een turflijst met een rekenmachine, in een spreadsheet of in Scratch of Python. De uitvoeringswijze verandert; correcte totalen en een eerlijke afhandeling van een gelijke stand blijven nodig.

Belangrijkste punten

  • Een volledig plan verbindt gebruikersbehoeften, onderdelen, gegevens, algoritmen en tests.
  • Herhaalde taken kunnen één algoritme delen.
  • Test gelijke standen, aantallen van nul en ontbrekende gegevens.
  • Leg algoritmen, verwachte resultaten, verantwoordelijkheden en deadlines vast.

5.2 Evalueer en verbeter een oplossing

Evaluatie beoordeelt hoe goed een oplossing aan de probleemdefinitie voldoet. Gebruik bewijs uit tests en van echte gebruikers. Leg vast of aan elk succescriterium is voldaan, samen met het resultaat dat die beoordeling ondersteunt.

Beoordeel de oplossing aan de hand van het doel

Een inzamelsysteem dat alle totalen correct optelt maar een gelijke stand verbergt, voldoet nog steeds niet aan een succescriterium. Een huiswerkherinnering die de juiste opdrachten toont, kan nog steeds te langzaam zijn in het gebruik. Controleer elk criterium afzonderlijk.

Vraag gebruikers de oplossing te proberen. Een kleine knop of verwarrend bericht kan een behoefte aan het licht brengen die het team heeft gemist. Zet die bevinding om in een duidelijk gebruikersverhaal en een meetbare controle voor de volgende versie.

Vergelijk algoritmen eerlijk
EigenschapWat je controleert
CorrectheidGeeft het algoritme het vereiste resultaat?
EfficiëntieHoeveel werk of tijd kost het?
DuidelijkheidKunnen mensen het begrijpen, veranderen en hergebruiken?

Correctheid komt eerst. Een sneller algoritme dat het verkeerde resultaat geeft, is geen aanvaardbare oplossing. Vergelijk bij correcte oplossingen de efficiëntie en duidelijkheid met wat het project nodig heeft.

Vergelijk twee raadmethoden

Een geheim geheel getal ligt in het bereik van 1 tot en met 100. Bij elke verkeerde gok krijg je een waarheidsgetrouwe aanwijzing “te hoog” of “te laag”.

Als je eerst 1, dan 2, dan 3 enzovoort raadt, kun je 100 pogingen nodig hebben. Als je het midden van het resterende bereik raadt, valt telkens ongeveer de helft van de mogelijkheden af. Voor dit bereik zijn hoogstens 7 pogingen nodig.

Voor het geheime getal 37:

  1. Raad 50. “Te hoog” laat 1 tot en met 49 over.
  2. Raad 25. “Te laag” laat 26 tot en met 49 over.
  3. Het midden is 37,5. Rond naar beneden af en raad 37: goed.

De bereiken worden kleiner omdat elke aanwijzing waarden wegneemt die het geheime getal niet kunnen zijn. Door pogingen te tellen kun je de efficiëntie eenvoudig vergelijken.

Kies een passende verbetering

De snelste correcte methode past niet altijd het best bij een klein team. Een iets langzamere methode kan voor iedereen gemakkelijker te begrijpen en te veranderen zijn. Bedenk hoeveel gegevens de oplossing zal verwerken en wat de succescriteria vereisen.

Verbeter in kleine cycli: ontwerp, bouw, test, evalueer en pas aan. Kies het belangrijkste gevonden probleem, verander dat en herhaal de eerdere tests. Als je meerdere dingen die niets met elkaar te maken hebben tegelijk verandert, wordt een nieuwe fout moeilijker te verklaren.

Leg het bewijs voor elke verbetering vast. “De test met een gelijke stand noemt nu beide winnende klassen” geeft een bruikbaar resultaat. Bij “het werkte één keer” blijven de meeste succescriteria ongecontroleerd.

Belangrijkste punten

  • Evalueer elk succescriterium met behulp van bewijs.
  • Controleer de correctheid voordat je snelheid of duidelijkheid vergelijkt.
  • Tel stappen of pogingen voor een eenvoudige vergelijking van efficiëntie.
  • Feedback van gebruikers kan ontbrekende behoeften aan het licht brengen.
  • Verbeter in kleine cycli en voer eerdere tests opnieuw uit.

Computationeel denken: voorbeelden

5 Walkthroughs

1

Maak van een zorg een duidelijk probleem

10 stappen
Plan een herinnering voor schoolspullen met een gebruikersverhaal en toetsbare succescriteria.
  1. 1
    IntroductiePlan een bruikbare herinnering

    Een klas vergeet steeds welke spullen leerlingen moeten meenemen. Voordat je een herinnering maakt, moet je begrijpen wat leerlingen vergeten en wanneer ze de informatie nodig hebben. We maken van die zorg een duidelijk, toetsbaar plan, met computationeel denken en een gebruikersverhaal, en met succescriteria waarmee het team kan controleren of de herinnering werkt. Een papieren bord en een digitale tool zijn allebei mogelijke manieren om het uit te voeren.

  2. 2
    UitlegMaak het denkwerk zichtbaar

    Computationeel denken maakt een probleem en de oplossing duidelijk genoeg om uit te voeren. Vier werkwijzen helpen: verdeel het werk, zoek patronen, behoud bruikbare details en schrijf nauwkeurige stappen. Ze heten decompositie, patroonherkenning, abstractie en algoritmeontwerp. Je kunt ze op papier gebruiken voordat er code bestaat.

  3. 3
    VoorbeeldVerdeel de herinneringstaak

    Verdeel de taak voor de herinnering voor schoolspullen in lesinformatie verzamelen, bepalen wat nodig is en herinneringen tonen. Elk onderdeel heeft een eigen taak. Merk daarna op dat elke les dezelfde controles nodig heeft. Eén checklist kan dienen voor tekenen, sport en natuurwetenschappen, met voor elke les andere gegevens over de spullen.

  4. 4
    UitdagingBenoem de planningswerkwijze

    De klas behoudt de lesdatum en de lijst met spullen. De kleur van de muren in het klaslokaal laat ze weg. Welke planningswerkwijze is dit en waarom helpt deze keuze?

    ---reveal---

    Dit is abstractie: de details kiezen die de herinnering nodig heeft. Datums en spullen bepalen wat leerlingen meenemen. De kleur van de muren helpt niet bij die taak, dus door die weg te laten wordt het plan eenvoudiger.

  5. 5
    UitlegVraag wat leerlingen nodig hebben

    “Denk aan spullen” is nog breed. Vraag wie de herinnering nodig heeft, voor welke lessen die geldt en wanneer leerlingen hun tas inpakken. Kleinere vragen brengen het werkelijke probleem aan het licht. Als leerlingen de avond ervoor hun tas inpakken, kan een herinnering die pas na het begin van de les verschijnt niet aan hun behoefte voldoen.

  6. 6
    VoorbeeldSchrijf een gebruikersverhaal

    Een gebruikersverhaal verbindt een persoon, een doel en een reden: “Als leerling wil ik zien welke spullen ik morgen nodig heb, zodat ik vanavond mijn tas kan inpakken.” Dit verhaal geeft richting aan het plan. Het laat de werkwijze ook open: een gezamenlijk bord of een digitale herinnering kunnen allebei aan de behoefte voldoen.

  7. 7
    VoorbeeldVolg de informatie

    De invoer bestaat uit lesdatums en benodigde spullen. De verwerking vergelijkt de lesdatums met de datum van morgen. De uitvoer is de lijst met spullen voor morgen. Een eis luidt: “Toon alle spullen die morgen nodig zijn.” Een randvoorwaarde kan zijn: “Gebruik de bestaande apparaten van de school.” De ene benoemt het benodigde gedrag; de andere stelt een grens.

  8. 8
    UitdagingMaak succes toetsbaar

    Het team schrijft: “De herinnering moet nuttig zijn.” Vervang dit door een criterium dat controleert of de spullen voor morgen correct worden getoond.

    ---reveal---

    “Alle spullen die voor de lessen van morgen op de lijst staan, verschijnen in de herinnering.” Bereid lesgegevens voor, voorspel welke spullen nodig zijn en vergelijk het resultaat. “Nuttig” alleen geeft geen afgesproken controle.

  9. 9
    UitdagingGa terug naar een ontbrekende behoefte

    Een test laat zien dat de herinnering voor sport werkt, maar tekenspullen mist. Waar moet het team opnieuw naar kijken en wat zou laten zien dat de verbetering werkte?

    ---reveal---

    Kijk opnieuw naar de probleemdefinitie en het onderdeel dat de spullen voor lessen verzamelt. De herinnering moet zowel tekenen als sport omvatten. Voeg een test voor tekenen toe met verwachte spullen, herstel het ontbrekende onderdeel en voer beide tests opnieuw uit.

  10. 10
    SamenvattingBewaar een plan dat je kunt controleren

    Begin met de behoefte van de gebruikers en gebruik daarna de vier werkwijzen om een oplossing vorm te geven. Leg invoer, uitvoer, eisen, grenzen en succescontroles vast. Als een test een ontbrekende behoefte aan het licht brengt, ga je terug naar het plan en pas je het betreffende onderdeel aan.

2

Splits een uitslagenbord op en verbind de onderdelen

11 stappen
Splits een uitslagenbord voor sport op en test de informatie die tussen de onderdelen wordt doorgegeven.

Sla deze les op om elke Walkthrough stap voor stap te volgen.

  1. 1
    IntroductieBouw een uitslagenbord in onderdelen
  2. 2
    UitlegKies de hoofdtaken
  3. 3
    VoorbeeldSplits een brede tak verder op
  4. 4
    UitdagingZoek de eis die nog niet is uitgewerkt
  5. 5
    UitlegSpreek af wat over een verbinding gaat
  6. 6
    VoorbeeldHerken een afhankelijkheid
  7. 7
    UitdagingTest een onderdeel vroeg
  8. 8
    VerbandZoek een taak die je kunt hergebruiken
  9. 9
    TipVoeg geleidelijk samen en controleer
  10. 10
    UitdagingZoek een verbindingsfout
  11. 11
    SamenvattingLaat de onderdelen op elkaar passen
3

Zoek een regel en voer een model uit

16 stappen
Generaliseer een tekenpatroon, selecteer bruikbare informatie en voorspel een veranderend spaarsaldo.

Sla deze les op om elke Walkthrough stap voor stap te volgen.

  1. 1
    IntroductieHergebruik regels en modelleer verandering
  2. 2
    VoorbeeldZoek het herhaalde paar
  3. 3
    UitlegGeneraliseer de tekenregel
  4. 4
    UitdagingKies een nieuwe draai
  5. 5
    KernpuntEen kort patroon kan bij meerdere regels passen
  6. 6
    UitlegKies details voor een doel
  7. 7
    AnalogieLees een eenvoudige OV-kaart
  8. 8
    UitdagingBehoud een noodzakelijk detail
  9. 9
    VerbandVerberg de stappen achter een naam
  10. 10
    UitlegBenoem de toestand van het model
  11. 11
    VoorbeeldVoer steeds één bijwerking uit
  12. 12
    VoorbeeldControleer de aankoopgrens
  13. 13
    UitdagingTest de aanname van het model
  14. 14
    TipVergelijk voorspellingen met observaties
  15. 15
    UitdagingVerbind het model met het doel
  16. 16
    SamenvattingHoud de regel en de voorwaarden duidelijk
4

Schrijf, traceer en verbeter een scorealgoritme

19 stappen
Combineer sequentie, selectie en herhaling, zoek daarna een verkeerd geplaatste terugzetting en controleer de verbetering.

Sla deze les op om elke Walkthrough stap voor stap te volgen.

  1. 1
    IntroductieBouw en controleer een scorealgoritme
  2. 2
    UitlegGeef het plan duidelijke instructies
  3. 3
    VoorbeeldGeef dezelfde beslissing weer
  4. 4
    UitdagingVerbeter een onduidelijke herhaling
  5. 5
    UitlegStel de begintoestand in
  6. 6
    UitlegGeef de vaste puntentoekenning een naam
  7. 7
    VoorbeeldPlaats de beslissing binnen de lus
  8. 8
    VoorbeeldToon het hele algoritme
  9. 9
    UitdagingVoorspel de score bij een aangepaste puntentoekenning
  10. 10
    VerbandRoep een herbruikbaar onderdeel aan
  11. 11
    UitlegTraceer met de oorspronkelijke puntentoekenning
  12. 12
    VoorbeeldVergelijk met een fout bij het terugzetten
  13. 13
    UitdagingVerbeter de eerste verkeerde stap
  14. 14
    UitlegKies tests die de fout blootleggen
  15. 15
    TipControleer waar gedrag verandert
  16. 16
    VoorbeeldVolg de laatste doorgang van een lus
  17. 17
    UitdagingTest de verbetering zonder eerder gedrag te verliezen
  18. 18
    KernpuntGebruik een mislukte test om gerichter te zoeken
  19. 19
    SamenvattingVerbind structuur met bewijs
5

Plan en verbeter een eerlijke wedstrijd

13 stappen
Maak een volledig plan voor een inzamelactie, verwerk gelijke totalen en evalueer het resultaat aan de hand van gebruikersbehoeften.

Sla deze les op om elke Walkthrough stap voor stap te volgen.

  1. 1
    IntroductiePlan een eerlijke wedstrijduitslag
  2. 2
    UitlegOmschrijf wat nodig is voor succes
  3. 3
    VoorbeeldKies onderdelen en bruikbare gegevens
  4. 4
    VoorbeeldProbeer een eerste algoritme voor de winnaar
  5. 5
    UitdagingVerbeter de afhandeling van een gelijke stand
  6. 6
    TipLeg een uitvoerbaar bouwplan vast
  7. 7
    UitlegEvalueer steeds één criterium
  8. 8
    UitdagingBeoordeel een snel maar onvolledig ontwerp
  9. 9
    VerbandVergelijk werk door eenvoudig te tellen
  10. 10
    KernpuntDuidelijkheid beïnvloedt de volgende verandering
  11. 11
    VoorbeeldGebruik feedback om een aanpassing te kiezen
  12. 12
    UitdagingVerbind feedback met een test
  13. 13
    SamenvattingBewaar bewijs bij de verbetering

Computationeel denken: oefenvragen

50 Oefenvragen in 5 sets

Set 1: Plan en volg duidelijke oplossingen10 Oefenvragen

Vraag 1 van 10

Een aanmeldtool voor een club moet zonder internettoegang werken. Welk onderdeel van de probleemdefinitie is dat?
  1. Een randvoorwaarde
  2. Een uitvoer
  3. Een gebruikersverhaal
  4. Een invoer
Toon antwoordVerberg antwoord
Antwoord: A
Zonder internettoegang werken is een randvoorwaarde: het begrenst hoe de tool kan werken. Een eis beschrijft een benodigde taak, zoals een aanmelding vastleggen. Uitvoer is een resultaat dat de tool oplevert en benoemt deze werkingsgrens dus niet.

Vraag 2 van 10

Nora schrijft instructies om kaarten te sorteren en vraagt daarna een vriend die te volgen. Er wordt geen apparaat gebruikt. Wat voor informatica-activiteit is dit?
  1. Een opdracht op een digitaal apparaat
  2. Een voltooid programma
  3. Een opdracht zonder computer
  4. Een opdracht voor gegevensopslag
Toon antwoordVerberg antwoord
Antwoord: C
Dit is een opdracht zonder computer, omdat je duidelijke instructies oefent zonder apparaat. Mensen kunnen computationeel denken uitvoeren. Om de instructies een voltooid programma te noemen, moeten ze zijn geschreven in een programmeertaal die een computer kan uitvoeren.

Vraag 3 van 10

Een team heeft onderdelen om wedstrijdtijden in te voeren en hardlopers te rangschikken. De eisen vragen ook om een afgedrukte uitslagenlijst. Welk onderdeel ontbreekt?
  1. Een wedstrijddatum kiezen
  2. Elke finishtijd vastleggen
  3. De tijden van hardlopers vergelijken
  4. De uitslagenlijst maken
Toon antwoordVerberg antwoord
Antwoord: D
Het ontbrekende onderdeel moet de rangschikking omzetten in de vereiste uitslagenlijst. Voor het vastleggen en vergelijken van tijden zijn al onderdelen aangewezen. Met extra werk aan de tijdmeting zou er nog steeds geen onderdeel verantwoordelijk zijn voor de eis om af te drukken.

Vraag 4 van 10

Een printer voor naamkaartjes ontvangt een naam en drukt die af. Het aanmeldformulier is nog niet klaar. Hoe kan het team de printer nu testen?
  1. Wachten tot alle formulieren klaar zijn
  2. Een voorbeeldnaam naar de printer sturen
  3. De naam van elk kaartje verwijderen
  4. Het formulier in plaats van een kaartje afdrukken
Toon antwoordVerberg antwoord
Antwoord: B
Een voorbeeldnaam levert de invoer die de printer voor naamkaartjes nodig heeft, zodat je de werking afzonderlijk kunt controleren. Het voltooide systeem zal later echte namen uit het formulier doorgeven. Voor deze afzonderlijke test hoef je niet op het formulier te wachten, al moet de verbinding later ook worden getest.

Vraag 5 van 10

Een figuur tekent een regelmatige achthoek met acht gelijke zijden. Hoeveel graden moet de figuur na elke zijde draaien?
  1. 45 graden
  2. 60 graden
  3. 135 graden
  4. 360 graden
Toon antwoordVerberg antwoord
Antwoord: A
De figuur maakt over acht gelijke hoeken een volledige draai van 360 graden, dus elke draai is 45 graden. De hoek van 135 graden ligt binnen de achthoek. Als je die binnenhoek als draai-instructie gebruikt, volg je niet de vereiste draai over de buitenhoek.

Vraag 6 van 10

Een plattegrond moet een robot helpen een route te kiezen door deuren waar hij doorheen past. Welke informatie is noodzakelijk?
  1. Ruimtenamen en muurkleuren
  2. Deurkleuren en ruimtenamen
  3. Muurkleuren en deurnummers
  4. Deurbreedtes en verbindingen tussen ruimtes
Toon antwoordVerberg antwoord
Antwoord: D
Deurbreedtes vertellen de robot of hij erdoor kan en verbindingen tussen ruimtes vertellen waar elke deur naartoe leidt. Samen ondersteunen ze de routekeuze. Ruimtenamen alleen kunnen plaatsen aanduiden, maar tonen niet of een route bestaat of de robot door de deuren past.

Vraag 7 van 10

Een leerling schrijft “ga een stukje vooruit” voor een vloerrobot. Welke verandering maakt die instructie nauwkeurig?
  1. Ga vrij langzaam vooruit
  2. Ga 6 vloertegels vooruit
  3. Ga naar voren vooruit
  4. Ga een korte afstand vooruit
Toon antwoordVerberg antwoord
Antwoord: B
Met 6 vloertegels vooruitgaan krijgt de robot een meetbare afstand met een duidelijk stoppunt. “Een korte afstand” laat nog steeds ruimte voor interpretatie. Alleen de snelheid beschrijven vult de ontbrekende afstand in de oorspronkelijke instructie niet aan.

Vraag 8 van 10

Wat is de uitvoer nadat dit algoritme is uitgevoerd?

SET points TO 3
REPEAT 4 TIMES
  IF points < 8 THEN
    SET points TO points + 2
  ELSE
    SET points TO points - 1
  END IF
END REPEAT
OUTPUT points
  1. 7
  2. 9
  3. 8
  4. 11
Toon antwoordVerberg antwoord
Antwoord: C
De waarden na de vier doorgangen zijn 5, 7, 9 en 8. De laatste doorgang begint bij 9, dus is de voorwaarde onwaar en wordt 1 afgetrokken. Bij elke doorgang 2 optellen zou 11 geven, maar dan negeer je de tak die wordt gekozen wanneer de waarde de grens bereikt.

Vraag 9 van 10

Een club accepteert leeftijden van 10 tot en met 14 jaar, inclusief beide grenswaarden. De controle is age > 10 gevolgd door age <= 14. Een lid moet voor beide controles slagen. Welke test legt de fout bloot en wat moet er gebeuren?
  1. Leeftijd 10; die moet worden afgewezen
  2. Leeftijd 15; die moet worden geaccepteerd
  3. Leeftijd 14; die moet worden afgewezen
  4. Leeftijd 10; die moet worden geaccepteerd
Toon antwoordVerberg antwoord
Antwoord: D
Leeftijd 10 hoort bij het geaccepteerde bereik, maar slaagt niet voor de eerste controle omdat 10 niet groter is dan 10. De eerste vergelijking moet gelijkheid toelaten. Leeftijd 14 slaagt al voor beide controles, dus een test met die leeftijd legt de fout aan de ondergrens niet bloot.

Vraag 10 van 10

Een deelnemerslijst moet elke aangemelde leerling bevatten. Ontwerp X neemt iedereen op in 12 stappen. Ontwerp Y gebruikt 8 stappen, maar laat leerlingen met dezelfde achternaam weg. Hoe moet het team de ontwerpen beoordelen?
  1. Kies Y omdat het minder stappen gebruikt
  2. Wijs Y af omdat vereiste leerlingen ontbreken
  3. Wijs X af omdat extra stappen fouten betekenen
  4. Kies Y als de meeste achternamen verschillen
Toon antwoordVerberg antwoord
Antwoord: B
Ontwerp Y voldoet niet aan de eis om elke leerling op te nemen, dus de kortere methode is niet aanvaardbaar. Correctheid gaat vóór efficiëntie. Dat de meeste namen verschillen, verhelpt de fout voor leerlingen met dezelfde achternaam niet.
Set 2: Verbind onderdelen en controleer de grenzen10 Oefenvragen

Sla deze les op om elk antwoord te zien en elke set te oefenen.

Vraag 1 van 10

Een uitje kost € 360 voor vervoer en € 6 per bezoeker voor 30 bezoekers. Betalingen kunnen beginnen zodra de gedeelde kosten per bezoeker bekend zijn. Welk bedrag moet elke bezoeker betalen?
  1. € 12
  2. € 18
  3. € 20
  4. € 16
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 2 van 10

Een tool voor de schooltuin ontvangt plantnamen en datums waarop water moet worden gegeven en toont daarna de planten die vandaag water nodig hebben. Wat is de uitvoer?
  1. De lijst met planten die vandaag water nodig hebben
  2. De ingevoerde datums voor water geven
  3. De ingevoerde plantnamen
  4. De regel voor het controleren van datums
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 3 van 10

De enige tak van een team onder “Organiseer een talentenshow” is “Organiseer alles”. Waarom is deze decompositie nog niet bruikbaar?
  1. De tak geeft de uitvoeringsvolgorde al
  2. De tak bevat te veel kleine handelingen
  3. De tak is nog te breed om op te lossen
  4. De tak heeft een programmeertaal nodig
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 4 van 10

Een ontwerper maakt dezelfde wenskaart voor veel namen. De stappen blijven gelijk, maar elke aanroep ontvangt een andere naam. Hoe heet die veranderlijke invoer?
  1. Een constante
  2. Een deelprobleem
  3. Een uitvoer
  4. Een parameter
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 5 van 10

Een model van een watertank begint met 42 liter en haalt er elk uur 6 liter uit. Welke toestand voorspelt het model na drie uur?
  1. 18 liter
  2. 24 liter
  3. 36 liter
  4. 30 liter
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 6 van 10

Een stroomdiagram vraagt “Is de kluis vrij?” en volgt een Ja- of Nee-pad. Welke vorm bevat die vraag?
  1. Een rechthoek
  2. Een parallellogram
  3. Een ovaal
  4. Een ruit
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 7 van 10

Een spel controleert IF stars >= 12 THEN OUTPUT "Gold" ELSE OUTPUT "Silver" END IF. Wat is de uitvoer als stars 12 is?
  1. “Silver”
  2. “Gold”
  3. “Gold”, daarna “Silver”
  4. “Silver”, daarna “Gold”
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 8 van 10

Een teller moet 2, 3, 4, 5 tonen. Hij begint bij 2 en herhaalt “geef count als uitvoer; tel 1 op” zolang count < 5. Welke ene verandering herstelt de ontbrekende waarde?
  1. Begin bij 1
  2. Tel steeds 2 op
  3. Gebruik count <= 5
  4. Geef pas na de lus uitvoer
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 9 van 10

Een leeswedstrijd moet elke klas tonen die het hoogste totaal deelt. Tot nu toe heeft klas Ceder 28 boeken en is die als enige winnaar opgeslagen. Daarna heeft Den 31 en Berk 31. Hoe moet de winnaarslijst veranderen?
  1. Vervang Ceder door Den en voeg daarna Berk toe
  2. Behoud Ceder en voeg daarna Den en Berk toe
  3. Vervang Ceder door Den en behoud daarna alleen Den
  4. Vervang Ceder door Den en vervang daarna Den door Berk
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 10 van 10

Een team verandert tegelijk de scoreberekening en de labels op knoppen. Een eerder correcte score is nu fout. Wat had het team moeten doen om de oorzaak gemakkelijker te vinden?
  1. Beide veranderen en eerdere tests overslaan
  2. De labels na de volgende uitgave veranderen
  3. Eén ding veranderen en eerdere tests opnieuw uitvoeren
  4. Alle scoreregels tegelijk veranderen
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Set 3: Lees modellen en volg veranderende waarden10 Oefenvragen

Sla deze les op om elk antwoord te zien en elke set te oefenen.

Vraag 1 van 10

Een leerling schrijft “Mika's code is 8-1-6”. Is dit algemene of specifieke informatie?
  1. Algemeen: het beschrijft elke code
  2. Specifiek: het beschrijft één geval
  3. Algemeen: het bevat drie cijfers
  4. Specifiek: het geeft elke mogelijke code
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 2 van 10

Een model voorspelt dat de batterij van speelgoed per uur 8 procentpunt lading verliest. De batterij begint op 90%, maar na twee uur is de werkelijke lading 70%. Welk verlies per uur past gemiddeld bij die observatie?
  1. 8 procentpunt
  2. 12 procentpunt
  3. 20 procentpunt
  4. 10 procentpunt
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 3 van 10

Een rij wordt gemaakt met “positie keer 5 plus 2”. Welke waarde staat op positie 6?
  1. 32
  2. 30
  3. 37
  4. 27
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 4 van 10

Een club geeft elke bezoeker een naamkaartje. Het algoritme begint met SET total TO 0 en voert daarna INPUT visitors; SET total TO visitors + 1 uit. Welk totaal wordt bij 7 bezoekers opgeslagen?
  1. 7
  2. 1
  3. 8
  4. 0
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 5 van 10

Traceer dit algoritme. Wat is de uiteindelijke uitvoer?

SET total TO 2
SET n TO 1
WHILE n <= 3
  SET total TO total + n
  SET n TO n + 1
END WHILE
OUTPUT total
  1. 5
  2. 6
  3. 9
  4. 8
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 6 van 10

Twee geteste onderdelen werken niet als ze worden samengevoegd: een controleonderdeel verstuurt het woord “ja”, maar het scoreonderdeel verwacht de booleaanse waarde waar. Wat moet worden verbeterd?
  1. Het afgesproken gegevensformaat voor de verbinding
  2. De volgorde van alle quizvragen
  3. De achtergrondkleur van de eindweergave
  4. Het aantal uitgevoerde scoretests
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 7 van 10

Leerlingen moeten een toegewezen lokaal snel kunnen vinden. Het criterium van het team luidt: “Het scherm ziet er goed uit.” Welke vervanging toetst direct de genoemde behoefte?
  1. Het scherm heeft een titel over lokalen
  2. Elk lokaal gebruikt dezelfde tekstkleur
  3. Een leerling vindt het toegewezen lokaal binnen 10 seconden
  4. Elke knop heeft een andere afbeelding van een lokaal
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 8 van 10

Bij een puntenwedstrijd wordt voor elk team één dagtotaal vastgelegd. Voor dinsdag is een invoerveld leeg. Het team kent geen regel voor het verwerken van een ontbrekende invoer. Wat moet het doen voordat het beweert dat de weektotalen correct zijn?
  1. Elk leeg veld als een bekende nul behandelen
  2. Alleen teams met een positief totaal tonen
  3. De waarde van maandag voor dinsdag hergebruiken
  4. Afspreken hoe ontbrekende invoer wordt verwerkt
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 9 van 10

Een wachtrijmodel voorspelt wachttijden met aankomst- en bedieningstijden. De werkelijke wachttijden zijn tijdens de lunch herhaaldelijk langer, wanneer de bediening langzamer gaat. Welke verandering sluit het best aan bij dit bewijs?
  1. Verwijder aankomsttijden uit het model
  2. Gebruik de waargenomen bedieningstijden tijdens de lunch
  3. Voeg kleuren van dienbladen toe aan het model
  4. Behoud de regel en verhoog het beginaantal
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 10 van 10

Malik plant hoe hij spullen eerlijk kan verdelen en volgt daarna het geschreven plan op papier. Waarom kan dit als computationeel denken gelden?
  1. Het maakt van elk papieren plan een uitvoerbaar programma.
  2. Een duidelijke oplossing kan zonder code worden uitgevoerd.
  3. Er zijn geen duidelijke stappen nodig als een mens het volgt.
  4. Een computer heeft de verdeelregels al gekozen.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Set 4: Verbeter plannen in nieuwe situaties10 Oefenvragen

Sla deze les op om elk antwoord te zien en elke set te oefenen.

Vraag 1 van 10

Een spel slaat de tekst “Rae” op als spelersnaam. Welk gegevenstype heeft die waarde?
  1. Een geheel getal
  2. Een booleaanse waarde
  3. Een tekenreeks
  4. Een constante
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 2 van 10

Terwijl een team een tekenalgoritme schrijft, merkt het dat er in het plan geen manier is om een beginpunt te kiezen. Wat moet het team doen?
  1. Het programmeren afronden voordat het plan wordt bekeken
  2. Teruggaan naar de planning en het ontbrekende onderdeel toevoegen
  3. Het beginpunt voor elke tekening overslaan
  4. Opnieuw beginnen met een andere programmeertaal
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 3 van 10

Een leerling tekent pijlen van “Maak een weerweergave” naar “Ontvang gegevens”, “Kies een symbool” en “Toon de weersverwachting”. Wat tonen de takken van deze decompositie?
  1. De onderdelen waaruit de taak bestaat
  2. De volgorde van elke instructie
  3. De waarden die elke variabele bevat
  4. Het herhalingsaantal van elke stap
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 4 van 10

Een team modelleert boekingen van ruimtes om overlappingen in tijd te voorkomen. Het behoudt ruimtenamen maar verwijdert begin- en eindtijden. Waarom werkt de abstractie niet?
  1. Er blijven te veel namen over voor het model
  2. Er zijn kleuren van ruimtes nodig om overlappingen te vinden
  3. Er zijn details verwijderd die het doel vereist
  4. Er is elk detail over het gebouw nodig
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 5 van 10

Een subroutine voor regelmatige veelhoeken gebruikt REPEAT sides TIMES, gevolgd door “ga length vooruit; draai 360 gedeeld door sides graden”. Een aanroep gebruikt 5 zijden en lengte 30. Een tweede aanroep gebruikt 6 zijden en lengte 30. Wat moet in de tweede tekening veranderen?
  1. Alleen het aantal herhalingen
  2. Alleen de draaihoek
  3. De zijlengte en de draaihoek
  4. Het aantal herhalingen en de draaihoek
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 6 van 10

Een spaarmodel begint met € 14, telt er wekelijks € 6 bij op en trekt er wekelijks € 2 af. Een voorwerp kost € 33. Na hoeveel hele weken kan het voor het eerst worden gekocht?
  1. 4 weken
  2. 5 weken
  3. 6 weken
  4. 8 weken
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 7 van 10

Een subroutine addBonus(amount) telt amount op bij score en keert daarna terug. Het hoofdalgoritme zet score op 4, roept addBonus(3) twee keer aan en telt daarna 1 op bij score. Wat is de eindscore?
  1. 11
  2. 8
  3. 10
  4. 14
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 8 van 10

Een stappenteller begint bij 1 en moet 1 tot en met 4 tonen. Binnen de lus telt hij 1 op voordat hij de waarde toont. Hij herhaalt zolang count <= 4. Welke rij wordt werkelijk getoond?
  1. 1, 2, 3, 4
  2. 2, 3, 4
  3. 2, 3, 4, 5
  4. 1, 2, 3, 4, 5
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 9 van 10

Een wedstrijdalgoritme begint met het eerste team als enige winnaar. Telkens wanneer een later team een minstens even hoog totaal heeft, vervangt het algoritme de opgeslagen winnaar. Rood heeft 17, Blauw 22 en Groen 22. Aan welke eis wordt niet voldaan als alle gedeelde winnaars moeten worden getoond?
  1. Het totaal van Groen als 22 tonen
  2. Blauw naast Groen tonen
  3. Rood vervangen nadat Blauw is gelezen
  4. Groen vergelijken met het hoogste totaal
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 10 van 10

Een getallenspel gebruikt gehele getallen van 1 tot en met 32 en waarheidsgetrouwe aanwijzingen of het getal hoger of lager is. De strategie die eerst het midden raadt, gokt 16 en krijgt “te laag” te horen, gokt daarna 24 en krijgt “te hoog” te horen. Welke getallen blijven mogelijk?
  1. 16 tot en met 24
  2. 17 tot en met 24
  3. 16 tot en met 23
  4. 17 tot en met 23
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Set 5: Test en verbeter volledige ontwerpen10 Oefenvragen

Sla deze les op om elk antwoord te zien en elke set te oefenen.

Vraag 1 van 10

Een posterteam kan kleuren kiezen zonder de datum van het evenement te kennen. Een boekingsteam heeft de datum nodig om een ruimte te reserveren. Hoe hangen deze twee taken samen met de datum?
  1. Beide taken moeten erop wachten
  2. Alleen de postertaak moet wachten
  3. Alleen de boekingstaak moet wachten
  4. Geen van beide taken heeft die nodig
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 2 van 10

Een sportclub wil dat leden hun volgende training kunnen bekijken. Een gebruikersverhaal luidt: “Als lid wil ik mijn volgende training zien, zodat…” Welk einde vult de reden van de gebruiker het best aan?
  1. …de app een kalenderscherm gebruikt.
  2. …het team een database kan kiezen.
  3. …de pagina een consistente indeling heeft.
  4. …ik weet wanneer ik aanwezig moet zijn.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 3 van 10

Een robot herhaalt “ga één tegel naar het oosten” totdat hij kolom 5 bereikt. Hij begint in kolom 2. Is de stopvoorwaarde bereikbaar en met hoeveel bewegingen bereikt hij die?
  1. Ja; 2 bewegingen
  2. Ja; 3 bewegingen
  3. Nee; hij gaat kolom 5 voorbij
  4. Nee; de kolom verandert nooit
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 4 van 10

Een tool voor leestijd moet hele minuten van 1 tot en met 60 accepteren. Welk paar controleert het meest direct of de bovengrens 60 ten onrechte afwijst?
  1. 59 en 60
  2. 1 en 2
  3. 30 en 31
  4. 0 en 1
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 5 van 10

Een tankmodel begint met 50 liter. Elke verstreken minuut komt er 4 liter bij en gaat er 1 liter af. Het model controleert het niveau na elke volledige minuut. Na hoeveel minuten is het niveau voor het eerst hoger dan 62 liter?
  1. 3 minuten
  2. 4 minuten
  3. 6 minuten
  4. 5 minuten
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 6 van 10

Een gedeelde subroutine zet total eerst op 0, leest drie rondescores en telt ze elk op. Eén evenement heeft drie rondes; een nieuw evenement heeft vier scores: 2, 3, 4, 5. Welk ontwerp voor het aantal herhalingen verwerkt beide evenementen en welk totaal moet het voor het nieuwe evenement opleveren?
  1. Gebruik een vast aantal van 4; uitvoer 14
  2. Gebruik het opgegeven aantal rondes; uitvoer 9
  3. Gebruik het opgegeven aantal rondes; uitvoer 14
  4. Gebruik een vast aantal van 3; uitvoer 9
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 7 van 10

Een algoritme zet total op 0. Voor elk van drie ingevoerde scores zet het total terug op 0 en telt het daarna die score op. De invoer is 4, 7 en 5. Welke einduitvoer ontstaat en welke verbetering is nodig om alle drie op te tellen?
  1. 16; behoud beide terugzettingen
  2. 5; verwijder de terugzetting binnen de lus
  3. 12; verwijder de terugzetting vóór de lus
  4. 7; verplaats de uitvoer naar binnen de lus
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 8 van 10

Een wedstrijd leest totalen in deze volgorde: Eik 9, Iep 9, Es 12, Spar 12. Het programma moet alle winnaars tonen. Wat moeten het hoogste totaal en de winnaarslijst bevatten nadat Es is gelezen?
  1. 12; alleen Es
  2. 12; Eik, Iep en Es
  3. 9; Eik en Iep
  4. 12; Iep en Es
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 9 van 10

Twee ontwerpen leveren correcte boekingen op. De succescriteria vereisen hoogstens 7 stappen en minstens twee teamleden die het ontwerp kunnen onderhouden. X gebruikt 6 stappen, maar slechts één teamlid kan het onderhouden. Y gebruikt 8 stappen en iedereen kan het onderhouden. Welke beoordeling volgt hieruit?
  1. Accepteer X; het lagere aantal stappen voldoet aan beide behoeften.
  2. Accepteer Y; het gedeelde begrip voldoet aan beide behoeften.
  3. Wijs beide af omdat hun boekingsresultaten fout zijn.
  4. Pas een ontwerp aan; geen van beide voldoet aan beide succescriteria.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 10 van 10

Een club geeft korting bij aantallen aanwezigen van 8 tot en met 15, inclusief beide grenswaarden. De controles vereisen count > 8 en count < 15. Tests met 9, 12 en 14 slagen. Welke aanvullende tests en vergelijkingen herstellen direct de gemiste grenswaarden?
  1. Test 8 en 15; gebruik count > 8 en count <= 15
  2. Test 9 en 14; gebruik count >= 8 en count <= 15
  3. Test 8 en 15; gebruik count >= 8 en count <= 15
  4. Test 8 en 15; gebruik count >= 8 en count < 15
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Kom je niet uit je eigen opgave? Huiswerkhulp

Kernbegrippen

62 Kernbegrippen, elk met een definitie

A

Aanname
Een aanname is een voorwaarde die als waar wordt beschouwd bij het kiezen van de regels van een model en het doen van voorspellingen.
De aanname van vaste wekelijkse uitgaven in een spaarmodel klopt niet wanneer een leerling een extra tussendoortje koopt.
Abstractie
Abstractie richt zich op details die voor een doel nodig zijn en laat details weg of verbergt details die daarbij niet helpen.
Abstractie behoudt stations en overstappunten op een metrokaart zonder nauwkeurige loopafstanden.
Abstractieniveau
Een abstractieniveau is een mate van detail, van een brede taak tot de exacte stappen die deze uitvoeren.
Op een hoog abstractieniveau zegt een quizplan “Controleer antwoorden” zonder elke vergelijking te tonen.
Afhankelijkheid
Er is een afhankelijkheid wanneer een onderdeel het resultaat van een ander onderdeel nodig heeft om zijn taak in de volledige oplossing uit te voeren.
Het innen van betalingen voor een uitje hangt af van de berekening van de kosten per leerling.
Algemene informatie
Algemene informatie beschrijft een hele soort gevallen en kan daardoor een regel ondersteunen die op veel voorbeelden van toepassing is.
De algemene informatie “Een kluiscode heeft drie cijfers” beschrijft het codeformaat dat elke kluiscode gemeen heeft.
Algoritme
Een algoritme is een eindige verzameling nauwkeurige, ondubbelzinnige instructies of regels die een taak met een resultaat voltooit.
Een algoritme vergelijkt twee getallen en geeft de grootste waarde als uitvoer, ook wanneer ze gelijk zijn.

B

Booleaanse waarde
Een booleaanse waarde heeft precies twee mogelijke toestanden: waar en onwaar.
Een booleaanse waarde legt vast of het antwoord van de speler overeenkomt met het opgeslagen juiste antwoord.

C

Computationeel denken
Computationeel denken maakt een probleem en de oplossing duidelijk genoeg om door een mens, een computer of allebei uit te voeren.
Computationeel denken helpt een team plannen hoe een inzamelactie totalen vastlegt en winnaars noemt.
Constante
Een constante is een benoemde waarde die tijdens één uitvoering van een algoritme gelijk blijft.
De constante MAX_LIVES maakt de begingrens gemakkelijk herkenbaar in de instructies van het spel.
Correctheid
Correctheid betekent dat een algoritme de vereiste resultaten oplevert voor de invoer die het moet verwerken.
Aan correctheid wordt niet voldaan wanneer een wedstrijdalgoritme de juiste totalen geeft maar een vereiste gedeelde winnaar mist.

D

Debuggen
Bij debuggen spoor je de oorzaak van een fout op, verander je de foutieve instructies en test je de verbetering.
Bij debuggen verplaats je een verkeerd geplaatste terugzetting van de score naar buiten de lus voor de rondes en voer je de scoretests opnieuw uit.
Decompositie
Decompositie splitst een ingewikkeld probleem of systeem op in kleinere delen die gemakkelijker te begrijpen en op te lossen zijn.
Decompositie verdeelt een quiz in vragen tonen, antwoorden controleren, de score bijhouden en resultaten tonen.
Decompositieschema
Een decompositieschema is een vertakkende boomstructuur die een heel probleem en de kleinere delen daarin toont.
Een decompositieschema voor een quiz plaatst “Ontvang een antwoord” onder het grotere onderdeel “Controleer een antwoord”.
Deelprobleem
Een deelprobleem is een kleiner deel van een groter probleem, met een duidelijk doel dat je kunt bereiken en controleren.
Eén quizantwoord controleren is een deelprobleem binnen de grotere taak om een quizspel te maken.
Duidelijkheid
Duidelijkheid beschrijft hoe gemakkelijk mensen de instructies van een oplossing kunnen lezen, begrijpen, veranderen en hergebruiken.
Duidelijkheid helpt elk teamlid het algoritme uit te leggen en te onderhouden nadat de oorspronkelijke schrijver vertrekt.

E

Efficiëntie
Efficiëntie gaat over hoeveel werk of tijd een algoritme nodig heeft om zijn taak te voltooien.
Als je het aantal pogingen vergelijkt, krijg je een eenvoudige efficiëntiecontrole voor twee strategieën in een getallenspel.
Eis
Een eis beschrijft iets wat de oplossing moet doen om aan een gebruikersbehoefte te voldoen.
Een eis voor een huiswerkherinneringstool zegt dat elke opdracht die morgen af moet zijn in de bijbehorende herinneringslijst moet verschijnen.
Evaluatie
Evaluatie beoordeelt hoe goed een oplossing aan de probleemdefinitie voldoet, met behulp van tests en bewijs van gebruikers.
Evaluatie legt vast of aan een succescriterium over een gelijke stand is voldaan en welk resultaat die beoordeling ondersteunt.

F

Feedback
Feedback is informatie van gebruikers over hoe een oplossing voor hen werkt en wat verbetering nodig heeft.
Feedback laat zien dat het bericht met het resultaat verwarrend is, waarna het team een duidelijker label test.

G

Gebruikersverhaal
Een gebruikersverhaal verbindt een soort gebruiker, wat die gebruiker wil en de reden waarom de gebruiker dat wil.
Het gebruikersverhaal “Als leerling wil ik herinneringen, zodat ik mijn tas kan inpakken” geeft de behoefte een doel.
Gedrag
Het gedrag van een model is de verzameling regels die beschrijven hoe de toestand verandert terwijl het model wordt uitgevoerd.
In een batterijmodel trekt het gedrag elk uur 15 procentpunt van de lading af.
Gegevensformaat
Een gegevensformaat is een afgesproken vorm voor informatie, die helpt om de uitvoer van het ene onderdeel te laten aansluiten op de invoer van het volgende.
Een afgesproken gegevensformaat geeft de score door als het getal 5, in plaats van de tekst “vijf”.
Geheel getal
Een geheel getal is een getal zonder breukdeel, waaronder nul en negatieve gehele getallen.
Een geheel getal kan een quizscore van 7 bevatten; tekst zoals “zeven” is een ander gegevenstype.
Gelijke stand
Een gelijke stand ontstaat wanneer twee of meer deelnemers hetzelfde resultaat delen, zoals het hoogste totaal in een wedstrijd.
Wanneer twee klassen bij een gelijke stand hetzelfde hoogste aantal blikjes hebben, moet een winnaarslijst beide klassen tonen.
Generalisatie
Generalisatie zet een patroon om in een regel of herbruikbare oplossing die voor veel gevallen werkt.
Generalisatie zet de stappen om een vierkant te tekenen om in een regel voor het tekenen van andere regelmatige veelhoeken.

I

Invoer
Invoer is informatie die een oplossing ontvangt, zodat de instructies met die informatie kunnen werken.
De datum van een opdracht is invoer voor een tool die huiswerk zoekt dat morgen af moet zijn.
Iteratie
Iteratie herhaalt een groep instructies een vast aantal keren of volgens een voorwaarde.
Iteratie voert voor elke ronde van de quiz dezelfde stappen voor antwoordcontrole uit.

M

Model
Een model vereenvoudigt een echt voorwerp of een echte situatie en behoudt daarbij kenmerken die nodig zijn voor een vraag of voorspelling.
Een spaarmodel behoudt het saldo en de wekelijkse inkomsten en uitgaven om een aankoopdatum te voorspellen.

N

Normale testgegevens
Normale testgegevens bestaan uit gewone geldige invoer die een algoritme moet kunnen verwerken.
Een leeftijd van 30 is normale testinvoer voor een algoritme voor kaartjesprijzen dat leeftijden van volwassenen accepteert.

O

Off-by-one-fout
Een off-by-one-fout zorgt ervoor dat een lus precies één keer te vaak of te weinig loopt.
Door een off-by-one-fout stopt een teller die 1 tot en met 10 moet tonen, na 9.
Onafhankelijke onderdelen
Onafhankelijke onderdelen zijn taken die elkaars resultaten niet nodig hebben en daarom in beide volgordes of tegelijk kunnen worden uitgevoerd.
Vervoer boeken en een toestemmingsformulier ontwerpen kunnen onafhankelijke onderdelen zijn van de planning van een uitje.
Onverwachte testgegevens
Onverwachte testgegevens bevatten ontbrekende, onmogelijke of verkeerd getypeerde invoer die een duidelijke reactie nodig heeft.
Een negatieve leeftijd is onverwachte testinvoer voor een algoritme dat kaartjesprijzen voor mensen bepaalt.
Opdracht op een digitaal apparaat
Bij een opdracht op een digitaal apparaat gebruik je een digitaal apparaat om een oplossing uit te voeren of te onderzoeken, vaak met een programma.
Een Scratch-animatie bouwen op basis van een tekenplan is een opdracht op een digitaal apparaat.
Opdracht zonder computer
Bij een opdracht zonder computer oefen je computationeel denken zonder een computer of ander apparaat te gebruiken.
Bij een opdracht zonder computer schrijven en volgen tweetallen tekeninstructies met papier en potloden.

P

Parameter
Een parameter is invoer die aan een subroutine wordt meegegeven, zodat de gemeenschappelijke stappen verschillende gevallen kunnen verwerken.
Met een lengteparameter kan één tekensubroutine vierkanten van verschillende groottes maken.
Patroonherkenning
Patroonherkenning betekent dat je overeenkomsten, herhaalde onderdelen of trends binnen een probleem of tussen problemen herkent.
Patroonherkenning laat zien dat je voor de kosten van elk product dezelfde berekening aantal keer prijs kunt gebruiken.
Probleemdefinitie
Een probleemdefinitie beschrijft het doel, de gebruikers, de benodigde resultaten en de grenzen voordat een oplossing wordt gekozen.
Een probleemdefinitie voor een huiswerkherinnering geeft aan wie de herinneringen nodig heeft en wanneer ze moeten verschijnen.
Programma
Een programma drukt algoritmen uit in een programmeertaal, zodat een computer de instructies kan uitvoeren.
Een Scratch-programma kan hetzelfde tekenalgoritme uitvoeren dat een mens op papier volgt.
Programmeren
Programmeren is instructies schrijven in een taal die een computer kan uitvoeren, zoals Scratch of Python.
Door te programmeren kun je een geschreven plan voor een spel omzetten in werkende blokken of tekstinstructies.
Projectplan
Een projectplan legt de onderdelen, gegevens, algoritmen, tests en verantwoordelijkheden vast die nodig zijn om een volledige oplossing te bouwen.
Een projectplan wijst iemand aan voor een optelklus en vermeldt verwachte resultaten voor een test met een gelijke stand.
Pseudocode
Pseudocode beschrijft een algoritme met korte, gestructureerde instructies die op het Engels lijken, zonder één universele syntaxis.
Pseudocode kan IF en ELSE gebruiken om te tonen hoe een algoritme een prijs kiest.

R

Randvoorwaarde
Een randvoorwaarde is een grens waarbinnen de oplossing moet werken, zoals een deadline, budget of beschikbaar apparaat.
Een deadline van drie weken is een randvoorwaarde bij het bouwen van een herinneringstool voor de klas.
Regelmatige veelhoek
Een regelmatige veelhoek is een gesloten figuur met rechte zijden die allemaal even lang zijn en gelijke hoeken hebben.
Om een regelmatige veelhoek te tekenen herhaalt een figuur voor elke zijde een beweging en dezelfde draai bij de buitenhoek.

S

Selectie
Selectie controleert een voorwaarde die waar of onwaar is en kiest welke instructies worden uitgevoerd.
Selectie kent een punt toe wanneer een antwoord goed is en laat de score anders ongewijzigd.
Sequentie
Sequentie betekent dat instructies na elkaar in een vaste volgorde worden uitgevoerd.
De sequentie zet de score van een spel terug voordat de eerste vraag wordt getoond.
Simulatie
Een simulatie voert een model stap voor stap uit om te onderzoeken wat er gebeurt als de weergegeven situatie verandert.
Een batterijsimulatie werkt de voorspelde lading één keer bij voor elk uur gebruik.
Specifieke informatie
Specifieke informatie beschrijft één bepaald geval, zoals de kluiscode of huidige score van één leerling.
De specifieke informatie “Jordans kluiscode is 4-7-2” geeft één code in plaats van een algemene regel voor alle codes.
Stroomdiagram
Een stroomdiagram geeft een algoritme weer met vormen voor verschillende taken en pijlen die tonen waar je verdergaat.
Een stroomdiagram leidt de Ja- en Nee-paden van een beslissing naar de juiste volgende stappen.
Subroutine
Een subroutine is een benoemde groep instructies die je één keer schrijft en aanroept wanneer die taak nodig is.
De quiz roept voor elke nieuwe vraag dezelfde subroutine aan om het antwoord te controleren.
Succescriterium
Een succescriterium beschrijft een controleerbaar resultaat dat laat zien of een oplossing aan een behoefte heeft voldaan.
Een succescriterium voor een huiswerktool zegt dat een leerling binnen 30 seconden één opdracht moet kunnen toevoegen.

T

Tekenreeks
Een tekenreeks is een waarde die tekst bevat, zoals een naam, een woord of een bericht.
De tekenreeks “Ana” slaat de naam van de speler op, terwijl een geheel getal de score van de speler opslaat.
Telgestuurde lus
Een telgestuurde lus herhaalt de instructies een vast aantal keren dat bekend is voordat de lus begint.
Een telgestuurde lus tekent vier zijden wanneer een figuur een vierkant maakt.
Testen
Bij testen voer je een algoritme uit met gekozen invoer en vergelijk je werkelijke resultaten met vooraf berekende verwachte resultaten.
Door een kaartjesalgoritme te testen met de leeftijden 12 en 13 controleer je of de eerste prijsgrens werkt.
Testgegevens rond grenswaarden
Testgegevens rond grenswaarden bestaan uit waarden op en rond grenzen waar het gedrag van een algoritme verandert.
De leeftijden 64 en 65 zijn testgegevens rond grenswaarden wanneer een lagere prijs ingaat op 65-jarige leeftijd.
Tijdplanning
Een tijdplanning legt vast wanneer projecttaken moeten plaatsvinden en wanneer ze klaar moeten zijn.
De tijdplanning wijst week 1 aan voor plannen, week 2 voor bouwen en week 3 voor samenvoegen en testen.
Toestand
De toestand van een model is de verzameling waarden die het op één moment beschrijven, zoals het huidige saldo of de huidige batterijlading.
In een batterijmodel van gamen is de begintoestand 80% vóór het eerste uur spelen.
Traceren
Bij traceren volg je een algoritme met de hand, één instructie tegelijk, en leg je daarbij veranderende waarden en uitvoer vast.
Traceren laat zien dat de geschreven lus stopt voordat het bedoelde laatste getal wordt getoond.
Tracetabel
Een tracetabel legt variabelewaarden en uitvoer vast bij gekozen stappen of lusdoorgangen terwijl je een algoritme volgt.
Een tracetabel toont een lopend totaal dat verandert van 0 naar 1, daarna 3, daarna 6 en daarna 10.

U

Uitvoer
Uitvoer is een resultaat dat een oplossing oplevert, zoals een getoond bericht, een lijst of een berekend totaal.
De uitvoer van een huiswerkherinneringstool is een lijst met opdrachten die morgen af moeten zijn.

V

Variabele
Een variabele is een benoemde plaats met een waarde die kan veranderen terwijl een algoritme loopt.
De variabele score begint bij 0 en stijgt wanneer de speler een goed antwoord geeft.
Verwerking
Verwerking is het werk dat een oplossing met de invoer uitvoert om het vereiste resultaat te produceren.
De verwerking vergelijkt de inleverdatum van elke opdracht met de datum van morgen om de herinneringslijst te maken.
Voorwaardegestuurde lus
Een voorwaardegestuurde lus herhaalt de instructies volgens een voorwaarde, zodat het aantal herhalingen kan afhangen van wat er tijdens de uitvoering gebeurt.
Een voorwaardegestuurde lus laat een spel doorgaan zolang het aantal levens groter is dan nul.

Over deze les

Door StudeliFout melden

Maak je eigen Studiemateriaal

Maak van je aantekeningen, slides en documenten Leermodules, Oefenvragen, Flashcards en 6 andere tools.

Aan de slag