Coding; Language Skills Or Math Knowledge?
Coding: Do you need a high level of mathematical knowledge or excellent language learning skills to program? Researchers are trying to find answers to this question to help make Coding more straightforward.
Many of us grew up believing that Coding is a complex and challenging skill that not everyone can learn. For some people with difficulty learning a foreign language, Coding is also a language beyond their ability.
In addition, other groups believe that Coding requires mathematical knowledge, and because they are poor at solving mathematical problems, they think they can not learn Coding.
But which group is right? Is programming related to language skills or mathematical knowledge?
If a person has insufficient skills in learning foreign languages or has difficulty solving math problems, can he not become a good programmer?
The problem is that it is difficult to stop comparing a computer to a human brain. This comparison often makes it easier for us to understand many things, but sometimes, it contradicts how the brain works.
One of the questions constantly asked about the similarities and differences between computers and the human brain is how to process and read code.
Does our brain process computer code like a language or treat it like a math problem?
Getting the answer to this question and understanding how the mind works when processing code is critical from an educational perspective. It provides valuable tips on the best way to teach Coding.
A 2016 Gallup poll showed that most schools tend to teach America to start Coding. Meanwhile, principals of 66 percent of preschool to high school believed that computer science should be taught alongside other subjects.
Most European countries have added Coding and computer science classes to their curricula (France and Spain, 2015). This new generation of coders is expected to increase the world’s developer population from 23.9 million in 2019 to 28.7 million in 2024.
Despite all these efforts, there is still confusion about teaching Coding properly. Is Coding more like language or math?
Some schools worldwide allow students to choose a programming language as a “foreign language” and teach it similarly to other languages, such as French.
This approach is probably an effective way to attract more students to Coding. Still, if reliance on language learning techniques is inappropriate for teaching Coding, students’ learning is impaired.
Likewise, teaching Coding, like math, may be just as wrong and may not yield the desired result.
To address this issue, studies and experiments have been conducted in recent years that have analyzed the brain activity of programmers while reading the code.
Coding: Language or Math?
There are currently two schools of thought about the nature of Coding. The dominant theory views Coding as a language with its own grammatical and writing rules. Aren’t Python, Java, and C programming languages? So there must be a reason for this.
There is even an apt acronym in support of this idea: CAL, which stands for Coding as Another Language.
Another group of people have a different view of Coding. To them, Coding is more like learning mathematical logic because it needs a formula and algorithm to output the input data. There are even websites on the Internet that teach the same mathematical Coding.
But which approach is more effective? Does learning programming require language skills or math skills?
If one is poor at math, does that mean one cannot become a good programmer and must give up the skill altogether?
There has been controversy since Coding began in schools, and the language school seems to be gaining traction. School laws in Texas, Oklahoma, and Georgia allow students to choose computer science as a foreign language unit.
In Texas schools, for example, a student can take a Coding class instead if a student has not made progress in a foreign language class.
This is a fascinating topic for neuroscientists, apart from people who want to learn or teach programming.
Because computer programming is only a few decades old, the brain has not yet created a specific area for processing it.
As a result, the part of the brain that processes computer code was previously used to process other work and has now changed its use. Two brain systems are potential candidates for code processing:
The System of language activities or the System responsible for performing complex cognitive tasks such as solving math problems or crossword puzzles is known as the “multiple demand Network”.
Coding is a kind of language.
Suppose you are interested in learning programming but have not mastered this skill due to a lack of mathematical knowledge. In that case, you will probably welcome the results of a 2020 study conducted at the University of Washington.
The results of this study showed that Coding is not thought to be closely related to mathematics and that the importance of mathematical literacy in learning Coding is exaggerated.
People with stronger language skills are more likely to become good programmers.
Chantelle Pratt, a neuroscientist at the University of Washington and the study’s lead author, has spent years studying how the brain learns.
He thinks people with stronger language skills are likely to be good programmers. Other studies followed this idea, but there was insufficient data and evidence to prove it.
Pratt and his colleagues approached 36 English-speaking people with no programming knowledge to teach them the basic Python level. Before the Python training, the research team scanned participants’ brains to examine their brain wave patterns at rest.
The team then took a written test to assess participants’ skills in different disciplines and compared the assessment results with their ability to learn Coding.
Researchers have found that, instead of mathematical knowledge, the skill of using language, memory, and reasoning plays a vital role in predicting how good a person is at learning programming.
This study showed that mathematical literacy (including the four basic operations at the most basic level and measurement, geometry, probability, and statistics at higher levels) correlates with learning speed. However, it generally has nothing to do with how Python learns.
Instead, language, memory, and reasoning aptitudes correlate more with learning speed, accuracy, and recall.
Of course, Pratt emphasizes that the results of this study do not mean that coders do not need any mathematics. Instead, the model of mathematical knowledge required for programming requires a skill that can be used in many disciplines rather than computational ones.
According to Pratt, “Many people mean mathematics to solve problems, “But Coding is not very much about math literacy.”
Of course, this study has its limitations. We still do not know much about how Coding is processed in the brain and why some people are better programmers.
On the other hand, programming languages like Java, C ++, and ARM, which are not Python-readable, may present more significant challenges for people who must learn the code and create. Still, the evidence is not scientific and is only anecdotal.
Coding is not just for people who are good at math
Another problem is that this study was conducted only at the introductory level of Python, and it is unclear whether the same results will be obtained if coders enter the subject of more complex algorithms and seek to solve more challenging problems.
But for Pratt and his team, it was enough to conclude that Coding is not just for those with good math skills. As user-friendly programming languages like Python become more popular and more people learn them, educators can discover what Coding is correct for them and what applications it can have in different professions.
Coding is neither entirely linguistic nor mathematical
In a recent study published a few months ago, MIT and Tufts University researchers asked 20 adult, coding-skilled participants to use MRI to analyze their brain activity when solving programming problems.
Observing which parts of the brain are activated when solving these problems helps researchers determine how Coding languages are processed in the brain.
For example, the brain can behave like a computer if language processing areas are activated. Still, if the areas of mathematical processing are activated, solving programming problems is like solving mathematical problems for the brain.
The Coding languages used in this study were Python and ScratchJr. Python is a favorite language of researchers because of its high readability; ScratchJr also consists of symbolic images designed to teach Coding to children.
Twenty-four adult participants (15 females) took the Python test, and nineteen adult participants (12 females) took the ScratchJr test.
In the main task, participants were given an individual height and weight as a Python code or a regular sentence to calculate their BMI (Healthy Weight-to-Height). For ScratchJr, participants were also asked to track the kitten’s position when walking and jumping.
The control task of this study included memorizing the sequence of squares in a Network (to activate the multiple demand System in the brain) and reading a meaningful sentence and a meaningless sentence (to activate the language System).
In this experiment, the brain’s language System reacted poorly when reading code, and the researchers concluded that despite the similarities between computer language and natural languages, the brain did not treat code as language.
Instead, reading the Network code activated multiple demands in the participants’ brains.
Code processing is done more in a multi-demand Network than in a language System.
The Network of multiple demand spreads to the frontal and parietal lobes of the brain and performs complex mental tasks, including solving math problems and crossword puzzles.
The Network is divided into two parts: the left (responsible for logical tasks) and the right (related to abstract thinking).
MIT researchers found that reading Python code seems to activate both the left and right parts of the Network, while ScratchJr uses the right part a little more than the left.
An interesting point in this study was that programming problem-solving enabled parts of the multiple-demand Network that are not activated when solving math problems.
Therefore, it can be concluded that the brain does not treat programming code like language or mathematical logic and seems to be at the foot of a separate domain that is, of course, still in a Network of multiple demands.
MIT’s research was accompanied by an article from Johns Hopkins University that came to a similar conclusion.
The article states, “Solving programming problems activates a multi-demand Network instead of activating language-related areas.”
This finding has implications for programming instructors. In the words of Clive Thompson, a technology writer, “One of the reasons scientists are looking for an answer to this math/language question is that we are weak in teaching programming and computer science.” “No one fully knows whether to treat Coding as mathematical logic or language.”
The MIT study concluded that understanding code is unlike language processing for the human brain. Therefore, teaching Coding like a foreign language may not be the right approach.
Conclusion
With these details, does programming require mathematical or language learning skills? Both or neither?
Some older studies have concluded that programming is a language, and many individuals and organizations treat programming as a language; a new MIT Atudy found that Coding for the brain is a unique and complex process that cannot be categorized as one of the two.
“Understanding computer code seems to be a unique phenomenon,” said Anna Ivanova, lead author of the MIT paper. “It is not exactly like language, mathematics, and logic.”
This study’s results did not definitively answer whether teaching Coding as math-based or language-based skills is better.
Part of this is because learning programming will likely benefit from the language and multiple demand systems. Still, as a person develops Coding skills, more code processing occurs in the numerous demand networks, whierned with logic and problem solving, and the dependence on the linguistic regions of the brain diminishes.
Coding is not precisely like language, nor is it like math and logic
Thus, it seems that computer science educators need to develop their approach to teaching Coding as efficiently as possible, likely including elements from language and math education.
On the other hand, an experiment conducted by Japanese neuroscientists last year on novice, experienced, an,d specialized programmers showed that activity in parts of the brain associated with natural language processing, episodic memory retrieval, an,d attention control increased with the Development of programmer skills.
Was strengthened. This finding suggests that Coding may not be related to language as we thought, but like language, it will be more effective to start learning it at an early age.