你不会编程,不是你不行,很有可能是老师教的方法不好。科学家发现:对大脑而言,代码编程与语言学习不同

2022-09-22 10:30:52 浏览数 (1)

神经科学家发现解释计算机代码可以激活通用的大脑网络,但不能激活语言处理中心。

在某些方面,学习计算机编程语言与学习一门新语言(自然语言)相似。它需要学习新的符号和术语,必须正确组织这些符号和术语以指导计算机执行操作。编写的计算机代码还必须足够清晰,以便其他程序员可以阅读和理解。

尽管有这些相似之处,麻省理工学院的神经科学家发现,阅读计算机代码并不会激活大脑中与语言处理有关的区域。相反,它激活了一个被称为多重需求网络的分布式网络,这个网络也被用于解决复杂的认知任务,如解决数学问题或填字游戏。

然而,尽管阅读计算机代码会激活“多重需求网络”,但与数学或逻辑问题相比,它似乎更依赖于网络的不同部分,这表明编码也不能准确地复制数学的认知需求。

麻省理工学院的研究生和这项研究的主要作者Anna Ivanova表示:"理解计算机代码似乎是它自己的事。它不像语言,也不像数学和逻辑。"

语言与认知

来自麻省理工学院(MIT)麦戈文脑科学研究所(McGovern Institute forBrain Research)的EvelinaFedorenko副教授研究的主要焦点是语言和其他认知功能之间的关系。她特别关注和研究的一个问题是,其他功能是否依赖于大脑的语言网络(包括Broca区域和大脑左半球的其他区域)的问题。在之前的研究中,她实验室的研究成果显示音乐和数学似乎不会激活这一语言网络。

Anna Ivanova表示:"在这里,我们对探索语言和计算机编程之间的关系很感兴趣,部分原因是计算机编程是一项新发明,我们知道不可能有任何硬连接机制使我们成为优秀的程序员。"

她说,关于大脑如何学习编码,有两种观点。一种观点认为,要想精通编程,你必须擅长数学。另一种观点认为,由于编码和语言之间的相似性,语言技能可能更相关。为了弄清楚这个问题,研究人员开始研究在阅读电脑代码时的大脑活动模式是否与与语言相关的大脑活动重叠。

研究人员在本研究中重点关注的两种编程语言以可读性着称-Python和ScratchJr (如上图),后者是一种为5岁及以上儿童设计的可视化编程语言。研究对象均为精通测试语言的年轻人。当程序员躺在功能磁共振(fMRI)扫描仪中时,研究人员向他们展示了代码片段,并要求他们预测代码将产生什么动作。

研究人员发现,大脑的语言区对代码几乎没有反应。相反,他们发现编码任务主要激活了所谓的多需求网络。这个网络的活动遍及大脑的额叶和顶叶,它通常被用于完成需要同时记住许多信息的任务,并负责我们执行各种各样的心理任务的能力。

先前的研究表明,数学和逻辑问题似乎主要依赖于左脑的多个需求区域,而涉及空间导航的任务对右脑的激活程度要高于左脑。麻省理工学院的研究小组发现,阅读电脑代码似乎同时激活了多需求网络的左右两个部分,而ScratchJr对右侧的激活程度略高于左侧。这一发现推翻了数学和编码依赖于相同的大脑机制的假设。

经验的影响

研究人员表示,虽然他们没有发现专门负责编程的大脑区域,但有更多编程经验的人可能会发展出这种专门的大脑活动。

Evelina Fedorenko副教授说: "如果找一些专业程序员,他们可能花了30或40年的时间用一种特定的语言编写代码,我们可能会开始看到一些专业化,或者多元需求系统某些部分的结晶。”“对于那些熟悉编程并能高效完成这些任务,但经验相对有限的人来说,似乎还看不到任何专业化的迹象。"

在eLife同一期的一篇论文中,来自约翰霍普金斯大学的一组研究人员也报告说,解决代码问题激活的是多重需求网络,而不是语言区域。

研究结果表明,对于编程是应该作为一种基于数学的技能还是基于语言的技能来教授,目前还没有一个明确的答案。研究人员表示,这在一定程度上是因为学习编程可能既依赖于语言,也依赖于多种需求系统,即使学会编程也不依赖于语言区域。

Anna Ivanova表示:"两个观点都提出了要求-它必须与数学结合在一起,必须与语言结合在一起。""但是看起来计算机科学教育者将不得不开发自己的方法来最有效地教授代码编程。"

参考信息:

Comprehension of computer code relies primarily on domain-general executive brain regions

https://www.sciencedaily.com/releases/2020/12/201215131236.htm


仅用于学术交流,不用于商业行为,若有侵权及疑问,请后台留言,管理员即时删侵!

0 人点赞