Zeven vakdidactische onderzoeken die iedere docent moet kennen

Hoogleraar Erik Barendsen constateert een grote kloof tussen wat didactiek-wetenschappers concluderen in hun onderzoek en wat er op de scholen gebeurt. “Op gezette tijden doe ik mijn best om die kloof te dichten, met name door onderzoeksresultaten te vertalen naar de praktijk”, stelt Erik. Tijdens de kickoff van PERL brengt hij daarom zeven belangrijke onderzoeken op het gebied van programmeren over het voetlicht. Erik vindt dat de resultaten van deze onderzoeken bekend moeten zijn bij docenten en met name bij degenen die lesmateriaal ontwikkelen waarmee kinderen en jongeren kunnen leren programmeren.

Erik Barendsen is hoogleraar bètadidactiek aan de Radboud Universiteit. Bovendien is hij als hoogleraar didactiek van de informatica verbonden aan de Open Universiteit. Erik doet al langere tijd onderzoek naar programmeeronderwijs. Hij werkt daarbij regelmatig samen met Felienne Hermans van PERL.

Erik laat zeven inspirerende onderzoeken op het gebied van programmeeronderwijs in vogelvlucht de revue passeren.

1. Ontwikkelingsstadia van programmeurs
Lister, R., Teague, D. (2016). Toward a developmental epistemology of computer programming. In Proceedings of the 11th workshop in primary and secondary computing education (pp. 5–16).

Raymond Lister en Donna Teague onderzochten de ontwikkelingsstadia van leren programmeren. Wat is er moeilijk aan programmeren en welke vaardigheden zijn cruciaal? Voor het kunnen schrijven van programma’s blijken traceren en uitleggen noodzakelijke vaardigheden: Wat doet dit programma? Wat is de bedoeling ervan?

Het onderzoek van Lister en Teague mondde uit in een neo-Piagetiaans model met vier ontwikkelingsfasen:

• sensorimotor: kan niet traceren en incoherent begrip van programma-executie

• pre-operationeel: kan regels code traceren (‘met de hand executeren’), maar raadt naar werking van code door voorbeelden te traceren

• concreet-operationeel: kan redeneren over programmacode door de code zelf te lezen

• formeel-operationeel: redeneert op expertniveau, inclusief reflectie

2. Het Blok-model van Carsten Schulte
Schulte, C. (2008). Block Model: an educational model of program comprehension as a tool for a scholarly approach to teaching. In Proceedings of the Fourth international Workshop on Computing Education Research (pp. 149-160). ACM.

Door het onderzoek van Lister en Teague weten we dat lezen van programmatekst een belangrijke vaardigheid is. Het Blok-model van Schulte is volgens Erik een van de weinige echte theorieën die we voor informaticaonderwijs hebben. Het kan ondersteuning bieden om te begrijpen hoe mensen programmacode lezen en kan een hulpmiddel zijn voor de planning en evaluatie van lessen over programma’s.
De kern van het model is een tabel met drie kennisdimensies en vier hiërarchische niveaus van bevattingsvermogen, waarbij je van linksonder naar rechtsboven toewerkt.

Het model bleek een goede basis voor het ontwerpen van lessen door docenten. Daar is nu een dimensie bij gekomen: door de vooruitgang op het gebied van eye tracking is het mogelijk om in de praktijk te kijken of het model klopt.


3. Leerpaden voor algoritmen

Rich, K. M., Strickland, C., Binkowski, T. A., Moran, C., & Franklin, D. (2017). K-8 learning trajectories derived from research literature: Sequence, repetition, conditionals. In Proceedings of the 2017 ACM conference on International Computing Education Research (pp. 182–190).

Dit onderzoek gaat over hoe je algoritmisch leert denken. Waarmee moet je beginnen, wat doe je daarna en wat doe je vervolgens (sequence learning trajectory – repetition learning trajectory – conditionals learning trajectory)? De resultaten uit dit onderzoek zijn concreet en bruikbaar als je programmeeronderwijs vormgeeft.

4. Paperts ‘Computational Thinking’

Papert, S. (1980). Mindstorms: Children, computers, and powerful ideas. Basic Books, Inc.

Dit is eigenlijk een voorbeeld van een mislukt plan, oordeelt Erik, maar hij noemt het toch in dit rijtje van zeven. Seymour Papert is de bedenker van het begrip ‘Computational Thinking’ en verdient daarom al een plek in dit rijtje van zeven. Papert verwachtte dat als je kinderen leert programmeren, ze betere probleemoplossers worden, ook op andere gebieden. Dat bleek tegen te vallen: vervolgonderzoek door anderen gaf heel uiteenlopende uitkomsten. “De moraal is dat je aan deze ‘transfer’ van vaardigheden actief moet werken en het niet op z’n beloop kunt laten”, aldus Erik.

 
5. Hoe leer je Computational Thinking?

Lye, S. Y., & Koh, J. H. L. (2014). Review on teaching and learning of computational thinking through

programming: What is next for K-12? Computers in Human Behavior, 41, 51–61.

De onderzoekers Sze Yee Lye en Joyce Hwee Ling Koh hebben zo’n dertig onderzoeken op het gebied van Computational Thinking vergeleken en gekeken wat nu écht het verschil maakt. Ze komen onder meer tot de volgende succesvolle elementen van effectief CT-onderwijs:

  • Aanleren van CT concepten
  • Stimuleren van informatieverwerking
    • structuren om het denken te organiseren, concept/mind map
    • metaforen
    • completeren van oplossingen
  • Scaffolding bij construeren van oplossingen
    • sjablonen
    • tools
  • Reflectie
    • ‘self-explanation’
    • review, peer feedback
    • uitleggen van voorbeelden
    • documenteren van ervaringen, bloggen, etc

“Sommige succesvolle technieken zoals reflectie bleken wel in het hoger onderwijs te worden toegepast, maar niet in basis- en voortgezet onderwijs”, merkt Erik op. Hij vindt dat een groot gemis. “Felienne en ik gaan daar dan ook samen aan werken”, belooft hij.

6. Parson’s Programming Puzzles
Parson, D., Haden, P. (2006). Parson’s programming puzzles: a fun and effective learning tool for

first programming courses. In Proceedings of the 8th Australasian Conference on Computing

Education-Volume 52 (pp. 157-163). Australian Computer Society, Inc.


Onderzoekers Dale Parson en Patricia Haden ontwikkelden puzzels als laagdrempelige manier om leerlingen te leren programmeren en hun vaardigheden te toetsen. Leerlingen schuiven de programmaregels in de goede volgorde. Wil je het moeilijker maken, dan zorg je voor wat ‘afleiders’.

7. Rollen van variabelen in programma’s

Sajaniemi, J., & Kuittinen, M. (2005). An experiment on using roles of variables in teaching

introductory programming. Computer Science Education, 15(1), 59-82.


Onderzoekers Jorma Sajaniemi en Marja Kuittinen hebben de tien mogelijke rollen van variabelen in programma’s gekarakteriseerd. Het blijkt dat de variabelen in 99 procent van de beginnersprogramma’s in deze categorieën zijn in te delen. “Wat bleek? Als je de rol van variabelen in je programmeeronderwijs benoemt en daar aandacht aan geeft, maak je het voor leerlingen eenvoudiger om programma’s te schrijven”, legt Erik uit.

Erik besluit met het advies om rekening te houden met de uitkomsten van deze zeven onderzoeken als je aan de slag gaat met het ontwikkelen van programmeeronderwijs. “Leerlingen zullen er profijt van hebben!”

Leave a Reply

Your email address will not be published. Required fields are marked *