Wat is een algoritme?
Een algoritme is een stappenplan: een rijtje stappen dat je precies zo kunt uitvoeren en dat altijd hetzelfde resultaat geeft.
Het woord klinkt moeilijk, het idee niet
Je gebruikt elke dag algoritmes zonder erover na te denken. Een recept is er een: pak een pan, doe er water in, zet het vuur aan, wacht tot het kookt. Een routebeschrijving ook: rechtdoor, tweede straat links, dan het derde huis. Wat een stappenplan tot een algoritme maakt, is dat de stappen zó duidelijk zijn dat iemand die niets van de situatie weet ze precies kan uitvoeren en toch op de goede plek uitkomt.
Een computer is precies zo iemand. Hij begrijpt niets van "een beetje" of "ongeveer daar", maar voert een duidelijk stappenplan foutloos en snel uit. Programmeren is dus vooral: een goed algoritme bedenken en dat opschrijven in een taal die de computer snapt.
Wat een goed algoritme moet hebben
Ten eerste moeten de stappen kloppen: als je Bo drie stappen naar rechts stuurt terwijl het vuur twee stappen verder staat, valt hij van het bord. Ten tweede moet de volgorde kloppen: eerst omhoog en dan naar rechts is iets anders dan andersom, zeker als er een steen in de weg ligt. Ten derde helpt het als het algoritme kort is: vier keer dezelfde stap kun je opschrijven als één herhaling. En vaak moet een algoritme kunnen kiezen: als er een steen ligt, ga er dan omheen.
Zo oefen je het in Progio
In Bo de dino (prehistorie) is elke opdracht een klein algoritme: kinderen leggen de pijlen klaar en zien pas bij het uitvoeren of hun plan klopt. Gaat het mis, dan vertelt Bo in gewone taal waar het misging, en mogen ze het plan verbeteren. Dat is de kern van programmeren: bedenken, uitvoeren, kijken, verbeteren. In de Romeinen (blokken) worden de algoritmes langer, in ruimtevaart (Python) schrijf je ze als functies, en in planeet Progio (projecten en algoritmen) vergelijk je algoritmes die hetzelfde doen maar niet even snel zijn.
Drie sterren krijg je in Progio pas als je algoritme niet alleen werkt, maar ook kort is. Zo leren kinderen vanzelf dat er meestal meer dan één oplossing is, en dat sommige oplossingen slimmer zijn dan andere.
Probeer het zelf
Bedenk een stappenplan voor Bo: welke pijlen brengen hem om de stenen heen naar het vuur?
Veelgestelde vragen
Is een algoritme hetzelfde als een programma?
Bijna. Een algoritme is het plan; een programma is dat plan opgeschreven in een programmeertaal zodat een computer het kan uitvoeren.
Vanaf welke leeftijd kun je dit uitleggen?
Vanaf een jaar of vijf, met een stappenplan van plaatjes of pijlen. Het woord zelf hoeft een kind pas later te kennen.