Missie 2 β Denken als een programmeur

π§ Een groot probleem? Deel het op!
Een programmeur lost een groot probleem niet in één keer op. Hij verdeelt het probleem in kleine, eenvoudige stappen. Dat noemen we computationeel denken: een probleem oplossen zoals een computer of robot het nodig heeft β duidelijk, stap voor stap en controleerbaar.
Een computer kan niet raden wat jij bedoelt. Jij moet dus heel precies zeggen wat er moet gebeuren.

π§© Decompositie: een boterham met choco
β Te vaag voor een robot: Maak een boterham met choco.
β Robotversie (decompositie):
- Neem een bord van de tafel.
- Zet het bord voor je neer.
- Neem een boterham uit de verpakking.
- Leg de boterham op het bord.
- Neem een mes.
- Neem de pot choco.
- Draai het deksel van de pot.
- Leg het deksel naast de pot.
- Steek het mes in de choco.
- Neem wat choco op het mes.
- Breng het mes naar de boterham.
- Smeer de choco uit over de boterham.
- Herhaal stap 9 tot 12 tot de boterham bedekt is.
- Leg het mes neer.
- Zet het deksel terug op de pot.
- Draai het deksel dicht.
- Zet de pot terug weg.

π Patroonherkenning en herhaling
Wat is patroonherkenning?
Herhaling in programmerenIn het stappenplan staat bij stap 13: Herhaal stap 9 tot 12 tot de boterham bedekt is. Dezelfde stappen komen telkens terug: dat is een patroon.
Waarom gebruiken programmeurs een herhaling? Als iets terugkomt, moeten we niet alles opnieuw schrijven. We gebruiken een lus of herhaling. Zo wordt code korter, duidelijker en maken we minder snel fouten.
Steek het mes in de choco. Neem wat choco op het mes. Breng het mes naar de boterham. Smeer de choco uit. Steek het mes in de choco. Neem wat choco op het mes. Breng het mes naar de boterham. Smeer de choco uit. Steek het mes in de choco. β¦
Herhaal tot de boterham bedekt is: Steek het mes in de choco. Neem wat choco op het mes. Breng het mes naar de boterham. Smeer de choco uit.
π― Abstractie
Wat is abstractie? β tik om te vergrotenAbstractie betekent dat je alleen de informatie houdt die belangrijk is voor de opdracht. Een computer of robot hoeft niet alles te weten. Programmeurs laten daarom details weg die niet nodig zijn.
Met abstractie: Steam neemt de bal Β· Steam stapt naar de goal Β· Steam legt de bal in de goal.
β Niet belangrijk: rode bal, blauwe pet, nat gras, vogel, bomen. β Wel belangrijk: bal nemen, naar de goal gaan, bal in de goal leggen.
Met abstractie: Knop A wordt ingedrukt Β· Toon een hartje.
β Niet belangrijk: tafel, trui, muren, stoel. β Wel belangrijk: knop A en het hartje.
- Een programmeur denkt stap voor stap.
- Een groot probleem maak je kleiner.
- De juiste volgorde is belangrijk.
π Lees het stripverhaal: Het onmogelijke probleem