Stappenplannen, computationeel denken, flowcharts en Scratch
Elke ochtend zet je een alarm, poets je je tanden en maak je je ontbijt klaar. Je volgt daarvoor altijd een vaste volgorde — eerst de tandenborstel nat maken, dan tandpasta erop, dan poetsen. Als je de stappen door elkaar doet, werkt het niet meer. Dat is precies wat een algoritme is: een stappenplan in een vaste volgorde.
Computers zijn erg goed in het uitvoeren van algoritmen. Snel, precies en zonder fouten — maar alleen als het algoritme goed is ontworpen. Een computerspel, een navigatie-app, een sorteerprogramma: ze werken allemaal op basis van algoritmen die iemand heeft bedacht en uitgeschreven.
Leren denken als een computer — stap voor stap, logisch en gestructureerd — is een vaardigheid die je overal kunt gebruiken.
Een algoritme is een stappenplan met instructies in een vaste volgorde om tot het einddoel of de oplossing van een probleem te komen.
Algoritmen komen overal voor, niet alleen in computers. Ze kunnen digitaal zijn (gebruikt door een computer) of niet-digitaal (uitgevoerd door een mens).
Een algoritme wordt gebruikt om eenvoudige of complexe problemen op te lossen door het uitschrijven van een stappenplan. Zelf een algoritme kunnen ontwerpen is relevant voor heel veel beroepen en situaties.
Welk algoritme gebruik jij elke dag zonder het te beseffen? Denk aan dingen zoals brood smeren, een wiskundevraagstuk oplossen, of je schooltas inpakken. Schrijf het stappenplan op en vergelijk met een klasgenoot.
Computationeel denken is een probleemoplossende aanpak waarbij je problemen analyseert en oplost op een manier die ook door een computer kan worden uitgevoerd. Het steunt op vier principes.
| Principe | Beschrijving | Voorbeeld |
|---|---|---|
| Abstractie | Irrelevante details weglaten | Kaart met alleen hoofdwegen en straatnamen |
| Decompositie | Probleem opsplitsen in deelproblemen | Website bouwen in afzonderlijke deelstappen |
| Patroonherkenning | Gelijkenissen vinden tussen problemen | Sorting-algoritme hergebruiken voor verschillende lijsten |
| Algoritme | Stapsgewijze oplossing uitschrijven | Stappenplan om een getal te controleren op deelbaarheid |
Kies een activiteit die je goed kent, zoals een sportregel of een kookrecept. Welk principe van computationeel denken zou je toepassen om die activiteit makkelijker te maken? Leg uit waarom.
Het ontwerpen van een algoritme doe je stap voor stap. Hieronder volg je het voorbeeld: “Ik wil weten of een getal een priemgetal is.”
Wat is precies het probleem? Wat moet het algoritme doen?
Voorbeeld: “Ik wil weten of een getal een priemgetal is.”
Het IPO-model beschrijft wat het algoritme nodig heeft en wat het oplevert:
• Input: wat gaat er in? → het getal dat gecontroleerd moet worden
• Process: hoe wordt het verwerkt? → deel door alle getallen van 2 tot getal−1
• Output: wat komt er uit? → ja (priemgetal) of neen (geen priemgetal)
Splits het probleem op indien nodig (decompositie):
• Deelprobleem 1: hoe controleer je of een getal deelbaar is door een ander getal?
• Deelprobleem 2: hoe loop je door alle getallen van 2 tot n−1?
Zet het algoritme om in een gestructureerde, leesbare vorm — een flowchart of een genummerd stappenplan. Elk stap moet duidelijk en ondubbelzinnig zijn.
Test het algoritme met voorbeelden. Zoek en herstel fouten. Dit proces heet debuggen.
Voorbeeld: test met getal 7 (priemgetal) en met getal 8 (geen priemgetal). Geeft het algoritme de juiste uitvoer?
Analyseer het volgende probleem via het IPO-model: “Een wekker die afgaat als de ingestelde tijd bereikt is.” Wat is de input? Wat is het process? Wat is de output?
Een flowchart is een visuele voorstelling van een algoritme. Elke stap wordt weergegeven door een symbool met een vaste betekenis. Pijlen verbinden de symbolen en geven de volgorde aan.
Start of Stop van het algoritme. Elke flowchart begint en eindigt met een ovaal.
Een actie of instructie uitvoeren. Bijv.: “tel x op bij y”, “sla de waarde op”.
Een beslissing of conditie. Bijv.: “Is x > 5?” Heeft altijd een JA- en een NEEN-uitgang.
Invoer of uitvoer. Bijv.: “Lees getal in” (invoer) of “Druk resultaat af” (uitvoer).
Verbindt de stappen en geeft de volgorde (richting) aan van het algoritme.
Hieronder zie je een tekstuele beschrijving van de flowchart om te controleren of een getal even of oneven is:
Elke flowchart heeft precies één beginpunt (Start) en minstens één eindpunt (Stop). Pijlen gaan altijd van boven naar beneden of van links naar rechts, tenzij je een lus (herhaling) tekent. Een ruit heeft altijd twee uitgangen: JA en NEEN.
Scratch is een visuele programmeertaal waarmee je algoritmen kunt programmeren door gekleurde codeblokjes samen te klikken. Ontwikkeld door MIT, gratis beschikbaar op scratch.mit.edu.
| Type | Beschrijving | Voorbeeld |
|---|---|---|
| Niet-digitaal algoritme | Wordt uitgevoerd door een mens, op papier of in het hoofd. Geen computer nodig. | Stappenplan voor het smeren van een boterham met choco: brood pakken → mes pakken → choco opscheppen → smeren → klaar |
| Digitaal algoritme | Wordt uitgevoerd door een computer of elektronisch apparaat. Geschreven in een programmeertaal. | Programmeren van een flikkerend lampje in Scratch: herhaal voor altijd → zet kleur op rood → wacht 1 seconde → zet kleur op blauw → wacht 1 seconde |
Je wil in Scratch een personage laten rondlopen in een vierkant. Schrijf eerst het algoritme als niet-digitaal stappenplan (bijv. “zet 100 stappen, draai 90 graden, …”) en vertaal het daarna naar een Scratch-lus. Hoeveel stappen heeft je algoritme?
Een algoritme is als een recept: als je de ingrediënten en de stappen kent, kun je het resultaat altijd opnieuw maken — voor mensen én voor machines.
Oefening 1
Niet-digitaal algoritme schrijven
Schrijf een niet-digitaal algoritme (stappenplan) voor: het zetten van een kop thee. Gebruik minstens 8 stappen. Schrijf elke stap als een duidelijke instructie in de gebiedende wijs (bijv. “Vul de waterkoker met water”).
Tip: denk aan de volgorde. Wat moet er zeker eerder gebeuren dan iets anders? Wat mag je niet vergeten?
Oefening 2
De 4 principes van computationeel denken
Leg de 4 principes van computationeel denken uit met een eigen voorbeeld voor elk principe. Kies voorbeelden uit je dagelijks leven (school, sport, hobby, …) die niet in dit hoofdstuk voorkomen.
Oefening 3
Flowchart: temperatuuralarm
Teken of beschrijf de flowchart voor het volgende probleem: een temperatuurmeter die een alarm afgeeft als de temperatuur boven 30°C komt.
Tip: vergeet de JA- en NEEN-takken niet bij de beslissing.
Oefening 4
Debuggen — fouten opsporen
Een algoritme bevat een fout: bij het sorteren van getallen worden twee getallen niet omgewisseld op het juiste moment, waardoor de lijst niet correct gesorteerd is.
Oefening 5
IPO-model: getallen sorteren
Analyseer het probleem “willekeurige getallen sorteren van klein naar groot” via het IPO-model.
Tip voor deelvraag 2: denk aan hoe je zelf een rij getallen zou sorteren. Vergelijk je het eerste met het tweede? Wissel je om?