Programmeerles en probleemoplossingsvaardigheden

Kennisrotonde | 13 maart 2018

Wie programmeert zet diverse vaardigheden in om problemen op te lossen. Denk aan problemen in kleine stukjes opdelen, logisch denken, als-dan redeneringen hanteren enzovoort. Deze vaardigheden worden computational thinking skills genoemd. Leerlingen kunnen dit soort vaardigheden aanleren in het programmeeronderwijs. Ook kan programmeeronderwijs bijdragen aan andere generieke vaardigheden, zoals kritisch denken, creatief denken, reflectie en metacognitie.

Draagt programmeerles bij aan de probleemoplossingsvaardigheden van leerlingen?

Wat weten we?

Computational thinking is een vaardigheid en manier van denken die in de informatica gangbaar is om problemen aan te pakken. Daarbij worden problemen (opnieuw) geformuleerd zodat ze met computertechnologie kunnen worden opgelost. Het gaat om vaardigheden als denken in stappen, ordenen van informatie, beseffen dat zaken in een bepaalde volgorde en op verschillende niveaus moeten worden aangepakt en het modelleren van gegevens. Deze manier van denken vereist een zeker abstractievermogen.

Programmeren wordt gezien als een belangrijke vaardigheid voor informatici, maar het is slechts een onderdeel van computional thinking. Computational thinking skills worden gezien als 21e eeuwse vaardigheden. Ze hangen samen met probleemoplossingsvaardigheden en denkvaardigheden.

Programmeren is niet de enige manier om aan computational thinking skills te werken; dit kan bijvoorbeeld ook in vakgebieden als het stelonderwijs en de natuurwetenschappen. En programmeeronderwijs draagt niet zonder meer bij aan deze vaardigheden.

De bijdrage van programmeeronderwijs

Uit een recente review blijkt dat programmeeronderwijs inderdaad kan bijdragen aan algemene probleemoplossingsvaardigheden van leerlingen in het basis- en voortgezet onderwijs. Ook kan programmeeronderwijs andere generieke vaardigheden stimuleren, zoals kritisch denken, creatief denken, reflectie en metacognitie.

Daarnaast draagt programmeeronderwijs bij aan inzicht in begrippen en vaardigheden uit de computerwetenschap (computer science) die belangrijk zijn voor het ontwikkelen van computational thinking skills. Denk aan begrippen als ‘variabele’ en ‘algoritme’ en aan typische vaardigheden die je nodig hebt om een computer te programmeren. Daarbij gaat het om bijvoorbeeld efficiënte loops ontwerpen, incrementele stappen zetten, fouten opsporen en oplossen en als-dan redeneringen hanteren.

Andere vakken

Ook zijn er positieve effecten van programmeeronderwijs op kennis en vaardigheden in andere vakken, zoals rekenen en biologie. In geen enkele studie uit de review is nagegaan of de genoemde kennis en vaardigheden ook in andere domeinen werden ingezet (transfer).

In het algemeen zijn leerlingen gemotiveerd om programmeerdonderwijs te volgen en reageren ze enthousiast. Er kan echter ook sprake zijn van een novelty effect. Want voor veel leerlingen was het de eerste keer dat ze kennismaakten met programmeeronderwijs.

Condities

Vormen van programmeeronderwijs die een positief effect sorteren, hebben vaak de volgende kenmerken:

  • directe instructie bij de introductie van nieuwe concepten
  • een opbouw van het onderwijs van eenvoudige concepten naar meer complexe concepten
  • oefenen van nieuwe concepten met door de docent geformuleerde opdrachten
  • leerlingen werken samen aan de programmeertaak (meestal in tweetallen)

De programmeeromgeving, bijvoorbeeld LOGO of Scratch, lijkt niet van belang om de beoogde effecten te realiseren. Waarschijnlijk moeten leraren nog wel geschoold worden in vakinhoudelijke kennis en vaardigheden om programmeeronderwijs te kunnen geven. Verder vereist programmeeronderwijs dat gericht is op computational thinking skills een bepaalde tijdsinvestering.

De meeste onderzoeken vonden overigens plaats in een specifieke context: buiten schooltijd, als onderdeel van een keuzevak, of op privéscholen. Er is weinig bekend over programmeeronderwijs als onderdeel van het reguliere onderwijs.

Meer weten?

In opdracht van de Kennisrotonde is naar aanleiding van deze vraag de reviewstudie Effecten van programmeeronderwijs op computational thinking opgesteld. Deze studie is geschreven door Joke Voogt (Hogeschool Windesheim, Zwolle), Saskia Brand-Gruwel en Johan van Strien (Open Universiteit, Welten-instituut, onderzoekscentrum voor leren doceren en Technologie, Heerlen) (Kennisrotonde, 2017).

Naar aanleiding van de review is ook een onderzoek gedaan met de titel Hoe kinderen computational thinking skills inzetten als zij een probleem oplossen met de Ozobot, naar de denkvaardigheden die leerlingen in de leeftijd 6-12 gebruiken als zij in tweetallen een kleine robot programmeren om een programmeertaak op te lossen. Deze studie is gedaan door Diane van der Linde, Nicole van der Aar en Joke Voogt (Hogeschool Windesheim, Zwolle).

Dit antwoord is tot stand gekomen met dank aan Melissa van Amerongen én de auteurs van de reviewstudie ‘Effecten van programmeeronderwijs op computational thinking’.

Deze vraag is overgenomen van de Kennisrotonde, het online loket voor de beantwoording van actuele kennisvragen uit en over het onderwijs

In gesprek

Deze vraag is beantwoord door de Kennisrotonde, het online loket voor de beantwoording van kennisvragen uit en over het onderwijs

Leraar24 helpt je graag met kennis over onderzoek en onderwijs in de praktijk.

In gesprek

Deze vraag is beantwoord door de Kennisrotonde, het online loket voor de beantwoording van kennisvragen uit en over het onderwijs

Leraar24 helpt je graag met kennis over onderzoek en onderwijs in de praktijk.