News Release

How the brain is programmed for computer programming?

Peer-Reviewed Publication

Nara Institute of Science and Technology

Overview of the study

image: Overview of the study: MRI data were collected from 30 subjects with different levels of programming expertise while they performed the program categorization task, where subjects answered the functional categories of given Java code snippets by pressing buttons. The results suggest that the functional categories of source code can be decoded from the human brain and that multiple brain regions have fine-tuned representation of source code in proportion to the behavioral performance of program comprehension. view more 

Credit: Takatomi Kubo

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.



Title: Expert programmers have fine-tuned cortical representations of source code

Authors: Yoshiharu Ikutani, Takatomi Kubo, Satoshi Nishida, Hideaki Hata, Kenichi Matsumoto, Kazushi Ikeda & Shinji Nishimoto

Journal: eNeuro

DOI: 10.1523/ENEURO.0405-20.2020

Information about the Mathematical Informatics Laboratory and Software Engineering Laboratory at NAIST can be found at the following websites:

Disclaimer: AAAS and EurekAlert! are not responsible for the accuracy of news releases posted to EurekAlert! by contributing institutions or for the use of any information through the EurekAlert system.