Neuroscientists have found that the interpretation of the code activates a global brain network, but does not find language centers.
In some ways, learning to program a computer is like learning a new language. Teaching a computer what to do requires learning new characters and conditions that need to be properly organized. Computer code should also be as clear as other programmers can read and understand.
Despite these similarities WITH neurologists have found that reading computer code does not activate areas of the brain involved in language development. Instead, it activates a distributed network called a multi-demand network, which is involved in complex cognitive tasks such as solving math problems or crossword puzzles.
However, while reading computer code activates a large number of demand networks, it relies more on different parts of the network than on math or logic problems, and coding does not exactly replicate the cognitive requirements of mathematics.
“Understanding computer code is your job. It’s not the same with language and it’s not the same with math and logic, ”said Anna Ivanova, an MIT graduate student and lead author of the study.
Evelina Fedorenko, Frederick A. and Carole J. Middleton are associate professors of neuroscience and a member of the McGovern Institute for Brain Research, and co-author of today’s newspaper. eLife. Researchers from MIT’s Computer Science and Artificial Intelligence Laboratory and Tufts University were also involved.
Language and cognition
The main direction of Fedorenko’s research is the relationship between language and other cognitive functions. In particular, it examines the question of whether other functions involving the Broca region and other regions of the left hemisphere of the brain rely on the brain’s language network. In a previous study, the laboratory showed that music and mathematics did not activate this language network.
“Here we are interested in exploring the relationship between language and computer programming, because in part computer programming is such a new invention that we know that there can be no robust mechanism that makes us good programmers.”
He says there are two schools of thought about how the brain learns to code. Someone thinks that to be good at programming, you have to be good at math. The other suggests that language skills may be more relevant due to the parallels between coding and language. To clarify this issue, researchers began to study whether brain activity coincided with language-related brain activity when reading computer code.
The two programming languages that the researchers are focusing on in this study are known for their readability – Python and ScratchJr, a visual programming language designed for children 5 years and older. The subjects in the study were young adults who knew the language they were testing. As the programmers lay on a functional magnetic resonance (fMRI) scanner, the researchers showed them pieces of code and asked them to predict what the code would do.
The researchers reacted less to the codes in the language regions of the brain. Instead, they found that the coding task basically activated a large number of demand networks. This network, which spreads to the frontal and parietal lobes of the brain, is usually involved in work that requires a lot of information to be considered at once, and is responsible for our ability to perform many different mental tasks.
“It’s something that is cognitively difficult and makes you think a lot,” says Ivanova.
Previous research has shown that math and logic problems rely heavily on multiple demand areas in the left hemisphere, and that tasks involving spatial navigation activate the right hemisphere more than the left. The MIT team found that reading the computer code activated both the left and right sides of multiple demand networks, and that ScratchJr activated the right side slightly more than the left. This finding contradicts the hypothesis that mathematics and coding rely on the same brain mechanisms.
The effect of experience
Researchers say that if they don’t just identify visible areas dedicated to the program, such specialized brain activity can develop in people with more coding experience.
“It’s possible that if you take people who are professional programmers who have spent 30 or 40 years coding in a particular language, you can start to see some specialization or crystallization of some parts of a multi-demand system,” he says. “People who are familiar with coding and can perform these tasks effectively, but with relatively limited experience, simply don’t seem to see any specialization yet.”
On a companion paper that appears in the same number eLifeA group of researchers from Johns Hopkins University said that solving code problems activated a more demanding network than language regions.
The findings show that there is no definitive answer to teaching coding as a mathematics-based skill or a language-based skill. According to researchers, this is partly due to the fact that learning a program can be used both in a language and in multiple demand systems, even if it is learned once – programming does not rely on language areas.
“There are claims from both camps – they have to go hand in hand with math and language,” Ivanova said. “But it seems that computer science teachers need to develop their approaches to code teaching in the most effective way.”
The research was funded by the National Science Foundation, the Department of Brain and Cognitive Sciences at MIT, and the McGovern Institute for Brain Research.