Heb je geen wiskundeknobbel en wil je leren programmeren? Geen probleem. Onderzoekers van de Universiteit van Washington ontdekten dat een talenknobbel je daar meer bij helpt dan rekenvaardigheid.
Tijdens het programmeren leer je in feite een tweede taal, zegt hoogleraar psychologie Chantel Prat, die het onderzoek leidde. Ook programmeertalen vereisen het leren van een vocabulaire en grammatica. Door deze taal te gebruiken, communiceer je ideeën, maar dan naar een computer in plaats van een medemens.
‘Er komt een moment dat we een grieppandemie niet kunnen voorkomen’
Ron Fouchier staat aan de frontlinie in de strijd tegen de griep. Met nieuwe vaccins wil hij ons beschermen tegen toekomstige pandemieën.
Toch wordt vaak gedacht dat programmeren vooral is weggelegd voor de wiskundigen onder ons. Dat is echter niet terug te zien in Prats data. Naast een aanleg voor talen spelen andere functies van de hersenen, zoals oplossingsgericht denken en het gebruik van het werkgeheugen, een grotere rol dan een rekenvaardigheid.
Genderkloof
Programmeren wordt een steeds belangrijkere vaardigheid voor werknemers. Maar verreweg de meeste programmeurs zijn mannen. Dit komt door het idee dat programmeren nauw verbonden is met wiskunde en ingenieurswerk. Hierdoor klinkt programmeren als iets mannelijks. Dit ontmoedigt vrouwen, bleek al uit eerder onderzoek.
Maar klopt het wel dat wiskunde samenhangt met kunnen programmeren? ‘Gek genoeg weten we maar weinig over wat iemand goed maakt in programmeren’, zegt Prat in een persverklaring. ‘En dat terwijl in dit veld nog een gigantische genderkloof bestaat.’
Door te onderzoeken wat goede voorspellers zijn om succesvol te leren programmeren, hoopt Prat het veld toegankelijker te maken. Prats onderzoek is gericht op neurale en cognitieve factoren die voorspellen hoe goed je nieuwe talen leert.
Python
Het team van Prat volgde 42 proefpersonen die voor het eerst leerden programmeren met Python, een veelgebruikte programmeertaal. ‘Daarnaast heeft deze taal veel weg van de structuur van de Engelse taal’, zegt Prat.
Voorafgaand aan de lessen maten de onderzoekers de neurale activiteit bij rust. De hierin te herkennen patronen kunnen tot wel 60 procent verklaren hoe snel je een nieuwe taal leert. Prat verwacht dat deze rustactiviteit ooit kan worden gebruikt als graadmeter bij voorspellen van hoe iemand leert.
Na deze meting maakten de proefpersonen acht verschillende tests, waarmee aspecten zoals rekenvaardigheid en geheugen werden gemeten. Om Python te leren, volgden de deelnemers tien lessen van 45 minuten via een online lesprogramma. Elke les sloot af met een test, waarbij deelnemers eventueel om een hint konden vragen.
Snel en succesvol
De onderzoekers keken via een spiegelscherm mee, waardoor ze de voortgang goed konden volgen. Ze registreerden onder andere hoe lang deelnemers erover deden om een les te doorlopen, hoe goed ze de test maakten en hoe vaak ze om een hint vroegen.
Het team combineerden deze metingen met de acht tests uit het begin. Om programmeren snel onder de knie te krijgen, is een aanleg om nieuwe talen te leren belangrijk. Na taalaanleg waren rekenvaardigheid en redeneren belangrijke factoren die de snelheid van leren programmeren voorspellen.
Om Python succesvol te leren gebruiken, was opnieuw de taalaanleg het belangrijkste. Daarnaast waren redeneren, het werkgeheugen en de neurale activiteit in rust een voorteken van succes. Rekenvaardigheid verklaarde slechts 2 procent van de verschillen in resultaten tussen de deelnemers.
Meer vrouwen en talige jongens
Voor Felienne Hermans, die aan het Leiden Institute of Advanced Computer Science (LIACS) van de Universiteit Leiden onderzoek doet naar hoe mensen leren programmeren, zijn de resultaten niet verrassend. ‘Het ligt heel erg in de lijn met resultaten van voorgaande onderzoeken.’
Ze is blij dat er steeds meer aandacht komt voor dit onderwerp. ‘Ik hoop dat dit onderzoek helpt het beeld te veranderen dat mensen hebben van programmeren’, zegt ze. ‘Het zou mooi zijn als programmeren meer vrouwen en talige jongens aantrekt.’
Regels code voorlezen
De resultaten van dit onderzoek kunnen niet alleen gebruikt worden om programmeren populairder en toegankelijker te maken. ‘Deze kennis is ook belangrijk voor het inrichten van programmeerlessen’, zegt Hermans. ‘Door de lessen meer als taallessen in te richten, leren de deelnemers sneller.’
Als voorbeeld hiervoor noemt Hermans het hardop voor lezen van regels code. ‘In taallessen op de basisschool is het heel gebruikelijk om hardop voor te lezen’, zegt Hermans. ‘In programmeerlessen doen kinderen dat niet, terwijl dat wel helpt om de stof beter te onthouden.’
Prat geeft ook aan meer onderzoek te willen doen naar hoe we programmeerlessen ‘taliger’ kunnen inrichten.