Computational Thinking

Opeens was hij er: een nieuwe Engelse term in de opsomming van de elf 21e eeuwse vaardigheden; een term waar je in eerste instantie weinig beeld bij hebt: computational thinking. Deze term, die in 1980 door Seymour Papen werd bedacht, heeft iets sterk technologisch in zich. Je bent al gauw geneigd om het te vertalen met denken als een computer. Anderen scharen programmeren, robotica en 3D printen onder deze vaardigheid.
Maar is dat ook wat Seymour Papen ermee bedoelde?

Definities van computational thinking

Ter voorbereiding op het schrijven van dit artikel vond ik tientallen definities, die (eerlijk gezegd) niet allemaal even verhelderend waren. Hieronder som ik er vier van op:

  1. Volgens Michiel Lucassen van Vernieuwenderwijs zijn het vaardigheden die leerlingen helpen om een beter overzicht te krijgen van complexe problemen, waarbij je eventueel computerkracht inzet.
  2. Allard Strijken, die in een serie van Kennisnet geïnterviewd wordt zegt: CT is oplossingen van problemen zoeken met behulp van de (rekenkracht van de) computer.
  3. Don Zuiderman schrijft in zijn blog: CT is een proces dat een oplossing voor open problemen generaliseert, gebaseerd op meerdere variabelen. Het kan gebruikt worden om algoritmisch grootschalige problemen op te lossen en wordt vaak gebruikt om grote efficiencyverbeteringen te realiseren. En meer in kindertaal: door CT kun je de oplossing van een ingewikkeld probleem zo vertellen, dat een computer (of een mens) het begrijpt.
  4. Het SLO benadrukt dat CT een samenspel is tussen mens en computer. De mens bedenkt en doorloopt een aantal stappen en gebruikt de rekenkracht van de computer om tot een oplossing te komen. Het is een vaardigheid die essentieel is om problemen op te lossen, waarbij veel informatie, variabelen en rekenkracht nodig zijn. Het is belangrijk om te begrijpen hoe informatie tot stand komt, zodat je computersystemen kunt benutten voor het oplossen van problemen.

een samenspel tussen mens en computer

 

Welke fasen bevat computational thinking?

Wanneer deze vaardigheid geoefend wordt, komen daar meestal de volgende fasen in voor:

  • Ontleden: goed nadenken over alle informatie en de Informatie in logische stukjes verdelen.
  • Patronen herkennen: een schema of tekening van de informatie maken en de informatie versimpelen.
  • Filteren van informatie: wat is echt belangrijk? Wat raakt de kern van het probleem?
  • Mogelijke oplossingen bedenken en uitproberen
  • Algoritmes: Oplossingen automatiseren: door de stappen in de juiste volgorde uit te werken kan het probleem opgelost worden.
  • De oplossing algemeen maken en toepassen op vergelijkbare problemen[1]

Moeten alle leerlingen deze vaardigheid beheersen?

Ik merkte bij mezelf dat ik in eerste instantie onwillekeurig dacht dat deze vaardigheid vooral belangrijk was voor toekomstige programmeurs en niet zozeer voor iedere leerling.

Jan Angevaare van iXperium Arnhem is daar echter duidelijk over: het gaat ons niet om het programmeren zelf. Taalonderwijs is ook niet bedoeld om alleen schrijvers te ‘kweken.’ Rekenonderwijs is niet bedoeld om alleen nieuwe wiskunde leraren op te leiden. Met CT willen we geen toekomstige programmeurs opleiden. Het gaat erom dat leerlingen logisch en gestructureerd leren te denken.

Rol van het onderwijs

In Engeland is CT inmiddels verplicht opgenomen in het curriculum.[2]
Ook in Zweden en Estland maken kinderen op de basisschool al op een speelse manier kennis met programma’s, apps en websites die creatief en logisch denken stimuleren.

De school dient een belangrijke rol bij het leren van deze vaardigheid te spelen. Helaas is dat nu nog nauwelijks het geval. En dat, terwijl het bedrijfsleven staat te springen om mensen die deze vaardigheid beheersen. Prof. Han van der Maas[3] maakt zich hier zorgen over:  sommigen zijn van mening dat kinderen deze vaardigheid maar informeel moeten leren. Maar wat zou er gebeuren als we dit met het vak Nederlands zouden doen?

creatief denken over het inzetten van digitale tools om problemen op te lossen

Van der Maas ziet CT vooral als een praktische vaardigheid. Het gaat mij vooral om creatief denken over het inzetten van digitale tools om problemen op te lossen. Een voorwaarde daarvoor is het leren van een programmeertaal. Het is ook een houding, waarbij je zegt: ‘Nee, ik heb nog nooit met bijvoorbeeld Excel gewerkt, maar als ik er een middagje mee stoei, dan lukt het me wel.’ Met een goede basis in een paar computertechnieken en –talen kunnen mensen redelijk snel gebruik leren maken van de nieuwste computermogelijkheden.  Je hebt het overal voor nodig: even een website maken, een video op YouTube zetten, geluid editen, een Google-enquête opzetten of een formule in Excel kunnen maken.’

Aan de slag met CT:

Er zijn gratis en toegankelijke tools om met CT te beginnen, zoals de programmeertaal Scratch https://scratch.mit.edu of Netlogo (https://ccl.northwestern.edu/netlogo ) om simulaties te maken.  Voor leerkrachten die zich grondiger willen verdiepen in het thema heeft het SLO i.s.m Kennisnet een gratis online workshop ontwikkeld. http://maken.wikiwijs.nl/70012/Workshop_Computational_thinking

Daarnaast kan Stichting Codeklas scholen die expliciet(er) aandacht aan deze vaardigheid willen geven, begeleiden en ondersteunen. De website van deze recent opgerichte stichting is nog onder constructie, maar Codeklas is bereikbaar via pauline@stichtingcodeklas.nl.

Bronnen:


[1] Opsomming van Don Zuiderman gecombineerd met input van Michiel Lucassen

[2] Er is zelfs een docent die zijn ervaringen met CT deelt op een blog: http://philbagge.blogspot.nl/

[3] Han van der Maas is hoogleraar aan de UvA en directeur van Oefenweb