maandag 1 juni 2015

Computational thinking in de klas

Een aantal maanden geleden hoorde ik voor het eerst de term computational thinking. Ik had (onterecht) het idee dat dit weer een nieuwerwetse term was. Volgens mij waren mijn eerste reacties: "Dat kan toch nooit wat worden, zo'n ingewikkelde term." en "Wat betekent dat nou weer?"

In een eerder blogbericht heb ik geprobeerd uit te leggen wat de term inhoudt: http://donzuiderman.blogspot.nl/2015/04/wat-is-computational-thinking.html



Programmeren vs. computational thinking?
Ondertussen begrijp ik dat de term al ruime tijd bestaat en dat de bekendheid ervan exponentieel toeneemt. Zeker in het onderwijs. Misschien heeft dat te maken met alle aandacht die de laatste tijd uitgaat naar programmeren in het onderwijs en kinderen moeten coderen. Het onlangs gepubliceerde CodePact (http://codepact.org) is hier een mooi voorbeeld van!

Hoewel ik het persoonlijk ontzettend leuk, interessant en leerzaam vind om te leren programmeren, zie ik het ook als één type output. Het programmeren an sich is een mogelijke verwerkingsvorm van het onderliggende computational thinking. Maar er zijn veel meer soorten output. De meeste experts die ik over dit onderwerp spreek geven hetzelfde aan: programmeren is prima, maar het draait om computational thinking.

Nu verzorg ik aanstaande vrijdag een kort college over computational thinking voor Pabo studenten. Reden genoeg om me nogmaals wat meer te verdiepen in het onderwerp. Hoe zit het nu precies met dat computational thinking?

ICT-geletterdheid
SLO heeft vorig jaar een rapport gepubliceerd, 21e eeuwse vaardigheden in het curriculum van het funderend onderwijs. Hierin benoemt SLO ICT-geletterdheid als één van de 21st century skills. Vervolgens geeft SLO aan dat ICT geletterdheid uit vier deelonderwerpen bestaat:
  • ICT-(basis)vaardigheden;
  • Computational thinking skills;
  • Informatievaardigheden;
  • Mediawijsheid.
Momenteel is SLO druk bezig om bovenstaande onderwerpen tot concrete leerlijnen uit te werken, maar vooralsnog is deze informatie niet voor het grote publiek beschikbaar. Dat betekent dus dat er momenteel veel verschillende initiatieven in Nederland langs elkaar hetzelfde proberen helder te krijgen: wat houden de computational thinking skills nu precies in?

Het bordspel Robot Turtles leert jonge kinderen al computational thinking!

Belangrijke concepten
Na verschillende gesprekken met experts, brainstormsessies en professionaliseringsbijeenkomsten, heb ik (een beetje) een beeld van de achterliggende concepten van computational thinking. Tot nu toe kan ik de volgende concepten onderscheiden:
  • Logisch redeneren;
  • Algoritmisch denken;
  • Commando's formuleren;
  • Automatiseren;
  • Ontwerpen;
  • Prototypes maken.
Sommige concepten overlappen elkaar (gedeeltelijk), maar er zijn ook onderscheidende verschillen aan te wijzen. Uiteraard is dit lijstje nergens officieel vastgelegd en waarschijnlijk incompleet, maar het geeft wel een soort overzicht. Op basis hiervan is het mogelijk om verschillende lesactiviteiten te ontwikkelen waarin deze concepten naar voren komen.  


Lesactiviteiten
Om met kinderen aan de slag te gaan heb ik nagedacht welke activiteiten belangrijk zijn voor hen. Ik kom tot de volgende activiteiten:
  • Goed nadenken over alle informatie.
  • Informatie in logische stukjes verdelen.
  • Informatie uittekenen (schema).
  • Informatie versimpelen.
  • Mogelijke oplossingen bedenken en uitproberen.
  • Oplossingen automatiseren door algoritmisch te denken (een stroomschema maken).
  • De oplossing generaliseren en toepassen op soortgelijke problemen.
Koos de Boer van Stichting CodeUur is een programmeur met hart voor onderwijs. Hij is voorstander van het werken met stroomschema's. Zoals de stroomschema's die vaak gebruikt worden voor het uitleggen van werkwoordspelling (Is het een persoonsvorm? Is het een sterk werkwoord? Etc.).

De Boer is erg druk met het ontwikkelen van materialen waarmee kinderen aan de slag kunnen met Scratch. Voor deze lesmaterialen maakt hij gebruik van stroomschema's om kinderen tijdens het programmeren te stimuleren computational thinking skills te laten gebruiken.

Een voorbeeld van een stroomschema over Scratch door Koos de Boer

Het principe van stroomschema's werkt voor sommige kinderen erg goed, maar anderen vinden het weer erg verwarrend. Vandaar dat De Boer (en dat ben ik heel erg met hem eens!) pleit voor lesactiviteiten waarbij leerlingen hun eigen stroomschema's ontwerpen en deze voorleggen aan andere leerlingen. Die stroomschema's kunnen over allerlei handelingen gaan, van veters strikken tot boeken kaften (of natuurlijk relevante vakinhoud). Met zo'n activiteit komen volgens mij de concepten van computational thinking aardig aan bod!


Conclusie
Momenteel zijn veel verschillende partijen aan het nadenken over computational thinking. Ik hoop dat deze versnipperdheid niet leidt tot onduidelijkheid, maar juist tot meer expertise over passende didactiek. Bovenstaand verhaal is een poging om de vertaalslag van computational thinking naar de onderwijspraktijk te maken. Ik ben erg benieuwd hoe anderen hier tegenaan kijken!

Kijk ook zeker bij de websites van http://csunplugged.org en www.codekinderen.nl (Unplugged) voor meer inspiratie over dit onderwerp. Want computational thinking hoeft zeker niet achter de computer te gebeuren!


Geen opmerkingen:

Een reactie posten