Is learning to program more like learning mathematics or is it more like learning a natural language? Some people would be adamant to say, it is mathematics and others would say it’s a language because it’s a form of expression. Why is this question important? We’d know how to approach teaching how to code. Because we’ve developed efficient methodologies for teaching languages and for teaching mathematics which are quite different from one another. But what does research show? Is there any relationship between programming and mathematics?
Aptitude for learning natural languages is a strong predictor for learning programming
Learning to program a computer is akin to learning a new language in several important ways. It demands the acquisition of new symbols and phrases, which must be properly grouped in order to train the computer on what to perform. The computer code must also be easy to read and understood by other programmers.
A natural aptitude for learning languages is a greater predictor of learning to program than fundamental math knowledge, or numeracy, according to a recent study from the University of Washington. That’s because creating code also requires the acquisition of a second language. It also requires the ability to comprehend the vocabulary and syntax of that language. And, the way they interact to express ideas and intents. Problem-solving and the use of working memory are two more cognitive skills that are linked to both regions.
So, computer programming is basically language processing then?
Nope.
Despite these similarities, MIT neuroscientists discovered that reading computer code does not engage the language-processing parts of the brain. Instead, it activates the multiple demand network, a decentralized network that is also recruited for complicated cognitive activities like solving math problems or crossword puzzles.
Wait! Is it like Mathematics then?
Although reading computer code activates the multiple demand network, it appears to rely on different portions of the network than arithmetic or logic topics, implying that coding does not match exactly the cognitive demands of mathematics.
“Understanding computer code seems to be its own thing. It’s not the same as language, and it’s not the same as math and logic.”
Anna Ivanova
Previous research has found that math and logic problems appear to rely mostly on the left hemisphere’s multiple demand circuits, whereas spatial navigation activities engage the right hemisphere more than the left. Reading computer code appears to stimulate both the left and right sides of the multiple demand network, according to MIT researchers, with ScratchJr (visual programming language) activating the right side somewhat more than the left. This study contradicts the theory that arithmetic and coding use the same neural pathways in the brain. That would suggest that programming and mathematics aren’t exactly the same at the level of the brain.
Conclusion
The observations imply that there is no clear answer as to whether coding should be taught like math or a language skill. That’s because learning to program may utilize both language and multiple demand systems, even if programming doesn’t use the language areas after it’s learned, as per the researchers.
“There have been claims from both camps but it looks like computer science educators will have to develop their own approaches for teaching code most effectively.”
Anna A Ivanova