在某些方面,学习计算机编程与学习新语言相似 。它需要学习新的符号和术语,必须正确组织这些符号和术语以指导计算机执行操作 。计算机代码还必须足够清晰,以便其他程序员可以阅读和理解 。
尽管存在这些相似之处,但MIT神经科学家发现,阅读计算机 代码并不会激活与语言处理有关的大脑区域 。取而代之的是,它激活了一个称为多需求网络的分布式网络,该网络也被招募用于解决复杂的认知任务,例如解决数学问题或填字游戏 。
但是,尽管阅读计算机代码会激活多需求网络,但与数学或逻辑问题相比,它似乎更多地依赖于网络的不同部分,这表明编码也不能精确地复制数学的认知需求 。
麻省理工学院的研究生,该研究的主要作者安娜·伊万诺娃说:“理解计算机代码似乎是自己的事情 。它与语言不同,并且与数学和逻辑也不相同 。”
Evelina Fedorenko,Frederick A.和Carole J. Middleton神经科学职业发展副教授,麦戈文脑科学研究所的成员是该论文的高级作者,该论文今天发表在eLife上 。麻省理工学院计算机科学与人工智能实验室和塔夫茨大学的研究人员也参与了这项研究 。
语言与认知
Fedorenko研究的主要重点是语言与其他认知功能之间的关系 。特别是,她一直在研究其他功能是否依赖于大脑的语言网络(包括Broca区域和大脑左半球的其他区域)的问题 。在先前的工作中,她的实验室表明,音乐和数学似乎并未激活这种语言网络 。
伊万诺娃说:“在这里,我们有兴趣探索语言与计算机编程之间的关系,部分原因是计算机编程是一个新发明,我们知道不可能有任何使我们成为优秀程序员的硬连线机制 。”
她说,关于大脑如何学习编码,存在两种思想流派 。有人认为,要精通编程,就必须精通数学 。另一个建议认为,由于编码和语言之间的相似性,语言技能可能更相关 。为了阐明这一问题,研究人员着手研究在阅读计算机代码时大脑活动模式是否会与语言相关的大脑活动重叠 。
研究人员在本研究中关注的两种编程语言以可读性着称,它们是Python和ScratchJr,这是一种为5岁以上的孩子设计的可视化编程语言 。研究对象均为精通测试语言的年轻人 。当程序员躺在功能磁共振(fMRI)扫描仪中时,研究人员向他们展示了代码片段,并要求他们预测代码将产生什么动作 。
研究人员几乎看不到大脑语言区域对代码的反应 。相反,他们发现编码任务主要激活了所谓的多需求网络 。这个网络的活动遍布整个大脑的额叶和顶叶,通常是为需要同时记住许多信息的任务而招募的,它负责我们执行各种心理任务的能力 。
伊万诺娃说:“它所做的几乎所有在认知上都具有挑战性的事情,使您难以思考 。”
先前的研究表明,数学和逻辑问题似乎主要取决于左半球的多个需求区域,而涉及空间导航的任务比右半球更能激活右半球 。麻省理工学院的研究小组发现,读取计算机代码似乎可以激活多需求网络的左侧和右侧,而ScratchJr激活右侧的程度要比左侧高一些 。这一发现违背了数学和编码依赖相同大脑机制的假设 。
经验的影响
研究人员说,尽管他们没有发现似乎专门用于编程的任何区域,但这种特殊的大脑活动可能会在具有更多编码经验的人中发展 。
费多连科说:“如果您聘用了以某种特定语言编码30或40年的专业程序员的人,您可能会开始看到某些专业化知识,或者是多需求系统某些部分的结晶 。” “对于那些熟悉编码并且可以有效地完成这些任务,但经验相对有限的人来说,似乎还没有看到任何专业化知识 。”
约翰·霍普金斯大学的一组研究人员在同一期eLife上发表的一篇伴随论文中也报告说,解决代码问题可以激活多需求网络而不是语言区域 。
研究结果表明,对于编码应该以基于数学的技能还是基于语言的技能进行教授,尚无定论 。研究人员说,部分原因是因为学习编程可能依赖于语言和多种需求系统,即使(一旦学到)编程也不依赖于语言区域 。
伊万诺娃说:“两个阵营都宣称,它必须与数学结合在一起,必须与语言结合在一起 。” “但是看起来计算机科学教育者将不得不开发自己的方法来最有效地教授代码 。”
【对大脑而言阅读计算机代码与阅读语言不同】
推荐阅读
- 微信怎么设置字体大小
- 请问贵州有几个市 贵州有哪些市
- 在这种情况下驾驶机动车时应减速或停车等待前方车辆通过后再通过
- 小米RedmiBook Pro将成为该品牌最强大最薄的产品
- 美术生最好的专科 美术生专科学校排名
- 拍出出色 分享故乡美!“我为瓷都文旅代言”短视频年夜赛做品炽热征集合
- 赢得房地产谈判的10个技巧
- 花菜类主要有哪两种 花菜类蔬菜分为哪两种
- 外贸围巾批发的流行围巾和帽子都是哪里有货啊怎么走 外贸原单正品尾货围巾