Wat is computational thinking?

Een pleidooi voor invoering op school.

Onlangs sprak ik met een voormalig Amsterdams VVD-politicus met wie ik ooit in het bestuur van het Computer Clubhuis Amsterdam zat. Tijdens ons koffiegesprek hield ik onder meer een inhoudelijk pleidooi voor coding/programmeren en Computational thinking op school en het feit dat hier geen enkel kabinetsbeleid over bestaat. Behalve dan het (vernieuwde) keuzevak informatica in de bovenbouw, dat door ca. 12% van de havo/vwo leerlingen wordt gekozen. Mijn argumenten maakten niet veel indruk.
Ik moest aan dit gesprek denken toen ik het artikel las dat maandag 9 mei ’16 in Trouw verscheen. Het ging over het groeiende tekort aan ICT-specialisten, informatici, software-engineers, data-analisten en welke negatieve invloed dit heeft op onze economische ontwikkeling. Toen ik VVD’er John aangaf dat dit ook een belangrijk argument is om coding in het curriculum op te nemen kreeg ik als reactie: “Now you’re talking’.
Tijdens een miniseminar vorige maand in Wenen bleek nog eens dat wij in Nederland tot de Europese achterhoede behoren en dat de kloof met andere EU-landen alleen maar groter wordt. Op twitter zag ik een tweet langs komen van een PABO-docent waaruit bleek dat zijn tweedejaars studenten nog nooit van computational thinking (CT) hadden gehoord. Ik beloofde in een retweet nader op dit begrip in te gaan.
De term computational thinking is in 2006 geïntroduceerd door de Amerikaanse hoogleraar Jeanet Wing.[1] Volgens Wing is CT meer dan coding en programmeren. Het gaat ook om de vraag wat is ‘computable’ (berekenbaar door een digital computer). Wat kunnen mensen beter dan een computer en waar zijn computers beter in dan mensen? De vraag naar ‘berekenbaarheid’ is daarbij de meest fundamentele en we kennen volgens Wing, voormalig hoogleraar computer science aan de Carnegie Mellon Universiteit, nog maar een deel van de antwoorden. Leerlingen krijgen een indruk van wat de ‘incompleteness’ theorie van Gödel en het begrip berekenbaarheid bij Turing impliceert. Wing ziet CT als een combinatie van wiskunde en engineering.
Volgens o.a. Mike Sharples (2015) zijn de kernelementen van CT: decompositie (het in kleinere stukken opdelen van een probleem, patroonherkenning, abstractie en abstraheren, algoritme ontwerp, debuggen en het verfijnen van deze stappen.[2] Overigens kan er wel onderscheid gemaakt worden tussen (unplugged dus zonder computer) coding en CT vanaf het basisschoolniveau en later. Sloman (2014) maakt een onderscheid tussen ‘explanatory’ programmeren (spelen met Scratch) en meer serieuze vormen die hij aanduidt als Thinky programming waarbij het gaat om de introductie van tools, diverse programmeertechnieken, datastructuren en algorithmes). [3]
Wiskundigen zeggen weleens wat je tijdens wiskundeles leert, gaat vooral om leren wiskundig te denken. De echte wiskunde komt later. Dat geldt ook voor CT. Je leert onder meer algoritmisch te denken maar de echte informatica komt later.

Jan Lepeltak

[1] Wing See Jeannette M. Wing, 2006, “Computational Thinking,” in Communications of the ACM 49(3):33-35,

[2] Sharples, Mike. Innovating Pedagogy. In: Exploring new forms of teaching, learning and assessment, to guide educators and policy makers. P24. About Scratch. Open University 2015.

[3] Aaron Sloman, What is computational thinking? What Forms of computational thinking will our children need when they grow up? Invited Talk at CAS 2014 Conference Birmingham June 2014