“You won’t be a programmer if you aren’t good at math,” they said.
Looks like they were wrong.
A new study from the University of Washington has demonstrated that your ability to grasp language is far, far more important for learning programming skills than mathematics.
Language skills beat math skills for coding
The researchers of this study believe they have identified 70% of the variability that affects a person’s ability to learn coding skills, while numeracy skills only accounted for 2%.
Instead, prime language acquisition skills and problem-solving skills had the biggest difference (outside of someone’s general cognitive ability). Language aptitude accounted for approximately 15% of someone’s overall ability to code—quite a bit higher than 2% from mathematics.
Even more significantly, language skills accounted for more than 40% of participants’ ability to learn Python.
Other important predictors of learning to code included:
- Fluid reasoning skills
- Working memory
- Resting state brain activity
There’s even more to the story, though. The research team found that the same kind of resting-state brain activity indicates success in learning French and learning Python. The odds of that being a fluke seem quite thin, given the strong correlation between linguistic aptitude and successful test scores.
This has huge implications about how we teach computer sciences, the prerequisites needed to take classes, and what kind of thinking will shape computer sciences in the future.
Arts grads: it might just be worth picking up an online programming course.
What are prime language acquisition skills?
Primary language acquisition is a trait that sets apart humans from the majority of other life on Earth. It’s a skill that enables us to understand, mimic, and create expressions that can be understood by other people.
We practice it without even realizing it as children because we’re trying to learn whatever language our parent(s) speak while raising us. It’s also what helps us learn other languages.
There are 5 stages to language acquisition:
- Preproduction: responding to basic questions and pointing to illustrations, but not really able to verbalize.
- Early Production: verbalizing or writing single words, basic phrases, and yes-or-no questions.
- Speech Emergence: speaking in basic sentences, but missing complexities and cultural cues.
- Intermediate Fluency: high levels of linguistic comprehension and can produce more nuanced sentences.
- Advanced Fluency: Approaching or arriving at native levels of language comprehension.
What does that have to do with coding, though?
According to the research team at the University of Washington, we shouldn’t just call them “programming languages” for naming conventions—they really are languages that follow similar structures and patterns. That means that the human brain learns coding the same way that it would learn French or Spanish (for most people).
This could completely change the way that we approach programming in schools, and that’s going to be an important part of the workforce outside of campus life.
Details of the study
The study was published in Scientific Reports, and was conducted by Chantel Prat, Tara Madhyastha, Chu-Hsuan Kuo, and Malayka Mottarella. It was funded by the Office of Naval Research.
The study itself followed 36 participants as they enrolled in a Python course on Codeacademy.com. All participants were native English speakers, which may have removed specific languages as a variable.
Each participant completed a dozen tests to measure their proficiency with the Python programming language. It’s also worth noting that Python resembles written English more than other coding languages, which makes it a helpful introductory language to coding.
Why didn’t we know this sooner?
Good question. Only a handful of studies on programming and successful learning predictors were conducted prior to this study from the University of Washington, but they’re several decades old.
Those studies didn’t attempt to measure language skills in relation to coding skills. It’s also worth noting that those studies don’t reflect today’s most commonly used programming skills, according to the researchers.
I often say “you can’t program the next big app with leadership skills,” but now it seems like it’s a lot closer to the truth than any of us realized.