Intrigeeriv väide: hea keeletunnetus aitab paremini programmeerimist õppida kui hea matemaatikaoskus. Kirjutan all pisut täpsemalt ühest uuringust, mis selle järelduseni jõudis.
Üks pseudoteaduse haru kannab nime neurolingvistiline programmeerimine (NLP). Otsustasin ühe vimpkana luua oma blogisse uue kategooria, mis kannab suhteliselt sarnast nime – lingvistiline programmeerimine, et mõtiskleda keele (lingvistika) ja programmeerimise piirjoonte üle.
Mõtte selles suunas pani liikuma üks hiljuti avastatud artikkel selle Fast Company blogipostituse kaudu: Surprising study reveals what makes a good coder, and it’s not math. Selgus, et samadelt autoritelt on ilmunud veel: Not a ‘math person’? You may be better at learning to code than you think ning Women in Computer Science: Getting Involved in STEM.
Kõik nimetatud artiklid pärinevad University of Washington psühholoogia, neuroteaduse ja lingvistika professori Chantel Prat algatustest. Chantel Prat on mõnda aega uurinud, et millised eeldused muudavad lihtsamaks komplekssete oskuste omandamise. Ta on analüüsinud laste keeleõpet ja täiskasvanute võimet uusi keeli omandada.
Aasta tagasi ajakirjas Nature ilmunud lühikokkuvõte sektsioonis “Scientific Reports” kandis intrigeerivat pealkirja: “Relating Natural Language Aptitude to Individual Differences in Learning Programming Languages” (allika terviktekst: pdf). Teisisõnu – millised eeldused ja omadused lihtsustavad programmeerimiskeelte õppimist. Uuringu käigus 18-35-aastastel tervel inimesel õppida programmeerimist Pythonis Codeacademy keskkonnas, kus sai kontrollida nii õppimise tempot kui ka ankeetides antud vastuste täpsust. Enne ja peale programmeerimist hinnati nende võimekust ja lasti neil teha erinevaid teste, millega mõõdeti nende arvutusoskust, keeleoskust, üldintelligentsust, abstraktset mõtlemist ja loogikat (Raven Advanced Progressive Matrix), mälu, keskendumisvõimet ja keeletaju.
Kuigi valim oli tilluke (n=42) oli järeldus siiski üpris intrigeeriv: nimelt ennustas programmeerimise õppimisvõimet keeleoskus rohkem kui matemaatilised oskused. Kõige olulisem oli programmeerimise õppimiseks lühiajaline mälu (34% seosest), seejärel keeletunnetus (17%), siis keskendumisvõime (10%) ja alles seejärel matemaatilised oskused, mis määrasid ainult 2% ulatuses seose programmeerimisülesannete lahendamisega hakkama saada.
Niisiis. Loomulikult on alltoodud järeldus valimi hulka ja uurimuse piiranguid arvesse pisut meelevaldne. Pisut lihtsustav. Pisut puusalt tulistav. Aga need, kes arvavad, et nad on küll hea keeltes aga mitte matemaatikas, siis võiks programmeerimisega tegelema hakata küll. 🙂
Image credit: Language skills are a stronger predictor of programming ability than math knowledge, according to a new University of Washington study. Here, study co-author Malayka Mottarella demonstrates coding in Python while wearing a specialized headset that measures electrical activity in the brain. Credit: Justin Abernethy/U. of Washington