大脑如何解释计算机语言?

2021-03-16 04:55:07

在美国,2016年的Gallup Poll发现,大多数学校都希望开始教学守则,66%的K-12学校校长认为计算机科学学习应纳入其他主题。欧洲的大多数国家都将编码课程和计算机科学添加到他们的学校课程,法国和西班牙在2015年介绍他们的课程。这一新一代编码人员预计将从2019年的2390万到2024年的2390万人提升全球开发人口。

尽管所有这些努力,但如何教授编码仍有一些困惑。它更像是一种语言,还是更像数学?一些新的研究可能通过观看大脑的活动来定居这个问题,而受试者阅读Python代码。

现在,有两所思想学派。常规的是,编码是一种语言,具有自己的语法规则和语法必须遵循。毕竟,他们被称为编码语言是有原因的吗?这个想法甚至有自己的Snazzy首字母缩略词:编码作为另一种语言或CAL。

其他人认为这有点像学习数学中发现的逻辑;公式和算法从输入创建输出。甚至还有一个免费的在线课程,同时教导您编码和数学。

哪种方法更有效?辩论已经存在,因为编码是在学校教授的编码,但看起来像语言论点现在正在获胜。德克萨斯州德克萨斯州的法律和格鲁吉亚允许高中学生采取计算机科学履行外国语言学分(2013年德克萨斯州法律表示,如果学生已经采取了外语课,并且不太可能提前似乎也适用于此)。

辩论对神经科学家具有特别兴趣;由于计算机编程只有几十年来,大脑尚未进化任何特殊区域来处理它。它必须重新修复通常用于其他东西的大脑的区域。

去年这么晚,麻省理工学院的神经科学家试图在处理计算机规划时看到大脑的哪些部分。 “解释计算机代码的能力是一种显着的认知技能,可以对不同的认知域具有相似的认知技能,包括总管职能,数学,逻辑和语言,”他们写道。

由于编码可以作为成年人学习,他们本身必须依赖于我们大脑中的一些预先存在的认知系统。两个脑系统似乎很可能是候选人:大脑的语言系统,或解决复杂认知任务的系统,如解决数学问题或填字游戏。后者被称为"多个需求网络。"

在他们的实验中,研究人员要求参与者已经精通编码,以躺在FMRI机器中以测量他们的大脑活动。然后要求他们读取编码问题并要求预测输出。

这项研究中使用的两种编码语言是以他们的&#34所知的;可读性" -python和scratchjr。后者专门为儿童开发,是基于象征的,因此尚未学习读取的孩子仍然可以使用它。

主要任务涉及给参与者一个人的身高和体重,并要求他们计算一个人的BMI。此问题要么呈现为Python式代码或正常句子。为ScratchJR完成了相同的方法,但是被要求参与者在走路和跳跃时追踪小猫的位置。

涉及记住网格上一系列正方形的控制任务(激活参与者的多个需求系统)并读取一个正常和一个无意义的句子(激活他们的语言系统)。

他们的结果表明,在阅读代码时,大脑的语言部分略微响应(论文的作者认为这可能是因为没有说话/聆听)。相反,这些任务主要由多个需求网络处理。

多个需求网络遍布我们大脑的额外(顶部)叶片,它负责强烈的心理任务 - 我们生活的部分,让我们思考。网络可以大致分裂在左侧部分(负责逻辑)和右侧(更适合抽象思维)。 MIT研究人员发现,读取Python代码似乎激活了多个需求网络的左侧和右侧,并且Scratchjr略微激活右侧的右侧。

“我们发现语言系统在代码理解期间没有始终如一地响应,尽管代码和自然语言之间的许多相似性,”他们写道。

有趣的是,在解决数学问题时未激活的多次需求网络的代码解决激活部分。所以大脑不会把它作为语言或逻辑解决 - 它似乎是自己的东西。

去年日本神经科学家的实验,通过日本神经科学家完成的实验来备份解释计算机代码的独特过程。这项工作显示了新手,经验丰富,专家程序员的代码片段,而他们躺在FMRI。要求参与者将它们分为四种类型的算法之一。正如预期的那样,具有更高技能的程序员更好地分类代码片段。但研究人员还发现,随着程序员的技能水平,与自然语言处理,插曲记忆检索和注意力控制相关的大脑区域的活动也能加强。

因此,虽然编码可能不如我们所想到的那样与语言相似,但它看起来像开始年轻的效果。

FINTAN是一名位于德国汉堡的自由职业者科学记者。他还为爱尔兰时代,Horizo​​ n杂志和Scidev.Net编写,涵盖了欧洲科学政策,生物学,健康和生物伦理。

不幸的是,与我的电脑不同的处理器或我的计划现在将在现在工作。