How the brain is programmed for computer programming?
- Date:
- January 28, 2021
- Source:
- Nara Institute of Science and Technology
- Summary:
- Expert computer programmers show higher proficiency in certain behavioral and attention skills than their novice peers. To identify the responsible brain regions, scientists used fMRI to analyze the brain activities of 30 programmers of different skill level, finding that seven regions of the frontal, parietal and temporal cortices in expert programmers' brains are fine-tuned for programming. The findings could provide better methods and tools for everyone to learn programming.
- Share:
Countries around the world are seeing a surge in the number of computer science students. Enrolment in related university programs in the U.S. and Canada tripled between 2006-2016 and Europe too has seen rising numbers. At the same time, the age to start coding is becoming younger and younger because governments in many different countries are pushing K-12 computer science education. Despite the increasing popularity of computer programming, little is known about how our brains adapt to this relatively new activity. A new study by researchers in Japan has examined the brain activity of thirty programmers of diverse levels of expertise, finding that seven regions of the frontal, parietal and temporal cortices in expert programmer's brain are fine-tuned for programming. The finding suggests that higher programming skills are built upon fine-tuned brain activities on a network of multiple distributed brain regions.
"Many studies have reported differences between expert and novice programmers in behavioural performance, knowledge structure and selective attention. What we don't know is where in the brain these differences emerge," says Takatomi Kubo, an associate professor at Nara Institute of Science and Technology, Japan, and one of the lead authors of the study.
To answer this question, the researchers observed groups of novices, experienced, and expert programmers. The programmers were shown 72 different code snippets while under the observation of functional MRI (fMRI) and asked to place each snippet into one of four functional categories. As expected, programmers with higher skills were better at correctly categorizing the snippets. A subsequent searchlight analysis revealed that the amount of information in seven brain regions strengthened with the skill level of the programmer: the bilateral inferior frontal gyrus pars triangularis (IFG Tri), left inferior parietal lobule (IPL), left supramarginal gyrus (SMG), left middle and inferior temporal gyri (MTG/IT), and right middle frontal gyrus (MFG).
"Identifying these characteristics in expert programmers' brains offers a good starting point for understanding the cognitive mechanisms behind programming expertise. Our findings illuminate the potential set of cognitive functions constituting programming expertise," Kubo says.
More specifically, the left IFG Tri and MTG are known to be associated with natural language processing and, in particular, semantic knowledge retrieval in a goal-oriented way. The left IPL and SMG are associated with episodic memory retrieval. The right MFG and IFG Tri are functionally related to stimulus-driven attention control.
"Programming is a relatively new activity in human history and the mechanism is largely unknown. Connecting the activity to other well-known human cognitive functions will improve our understanding of programming expertise. If we get more comprehensive theory about programming expertise, it will lead to better methods for learning and teaching computer programming," Kubo says.
Story Source:
Materials provided by Nara Institute of Science and Technology. Note: Content may be edited for style and length.
Journal Reference:
- Yoshiharu Ikutani, Takatomi Kubo, Satoshi Nishida, Hideaki Hata, Kenichi Matsumoto, Kazushi Ikeda, Shinji Nishimoto. Expert Programmers Have Fine-Tuned Cortical Representations of Source Code. eneuro, 2021; 8 (1): ENEURO.0405-20.2020 DOI: 10.1523/ENEURO.0405-20.2020
Cite This Page: