首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

数学不好的人可能更擅长学习编程!

华盛顿大学的新研究发现,学习语言的天赋比基本的数学知识或算术知识更能预测学习语言的能力。这是因为编写代码还涉及学习第二语言、学习该语言的词汇和语法,以及他们如何合作交流思想和意图。与这两个领域相关的其他认知功能,如解决问题和使用工作记忆,也起着关键作用。

华盛顿大学学习与脑科学研究院的心理学副教授Chantel Prat说:“从先修课程到对优秀程序员形象的刻板印象,编程的许多障碍都集中在编程严重依赖数学能力的概念上,而且这种观念并不是在我们的数据中产生的。学习编程很难,但对获得熟练劳动力职位来说越来越重要。在缩小性别差距方面进展缓慢的领域中,关于如何做好规划工作的信息严重缺失。

这项研究发表在3月2日出版的《科学报告》)上,该杂志是自然出版集团出版的开放存取期刊。这项研究调查了30多名成年人学习通用编程语言Python时的神经认知能力。经过一系列测试来评估他们的执行功能、语言和数学技能,参与者在Python中完成了一系列在线课程和测试。那些学习Python的更快,更准确的人,往往有很强的解决问题的能力和语言能力。

在当今以STEM为中心的世界中,学习代码为就业和扩大教育提供了各种可能性。编码与数学和工程有关;大学一级的编程课程往往要求高等数学才能注册,而且往往在计算机科学和工程系里教授这些课程。其他研究,即来自英国大学心理学教授Sapna Cheryan的研究,已经表明,这些要求和对编码的看法加强了关于编程是男性领域的陈规定型观念,可能阻碍女性追求编程。

但编码在人类语言中也有基础:编程通过规则化的方式把符号串在一起,来创造意义。

尽管一些研究已经触及了语言学习和计算机编程之间的认知联系,但有些数据已经有几十年的历史了,使用的是像Pascal这样已经过时的语言,而且没有一个使用自然语言能力测量来预测学习编程的个体差异。

因此,专门研究学习人类语言的神经和认知预测因素的普拉特,开始探索人们学习Python的方式的个体差异。Prat解释说,Python是一个自然的选择,因为它类似于英语结构,比如段落缩进,并且使用许多实际的单词而不是函数的符号。

为了评估“编程能力”的神经和认知特征,Prat研究了一组年龄在18岁到35岁之间、从未学过编程的母语为英语的人。

在学习编码之前,参与者接受了两种完全不同的评估。首先,参与者接受了5分钟的脑电图扫描,记录了他们在闭着眼睛放松时大脑的电活动。在之前的研究中,Prat表明,当大脑处于休息状态时,神经活动的模式可以预测一个人学习第二语言(在这种情况下,是法语)速度变化的60%。

Prat说:“最终,这些休息状态的大脑指标可能会被用来作为一个人如何学习的无文化测量。”

然后,参与者参加了八项不同的测试:其中一项专门针对计算能力;一个针对语言能力的测试;以及其他评估注意力、解决问题能力和记忆力的测试。

为了学习Python,参与者被分配了10个45分钟的使用Codeacademy教育工具的在线课程。每个会话集中于一个编码概念,例如列表或if/then条件,并以一个用户需要通过才能进入下一个会话的测试作为结束。为了寻求帮助,用户可以按顺序求助于“提示”按钮、来自过去用户的信息博客和“解决方案”按钮。

在一个共享的镜子屏幕上,研究人员跟踪每个参与者,计算他们的“学习速度”,即他们掌握每一课的速度,以及他们的测试准确性和他们寻求帮助的次数。

在课程结束后,参与者要参加一个关于函数目的(Python的词汇表)和编码结构(Python的语法)的多项选择测试。在他们的最后一项任务中,他们编写了一个游戏——石头、布、剪刀——作为一个新的Python编码器的入门项目。这有助于评估他们利用所学信息编写代码的能力。

最终,研究人员发现,语言能力倾向测试的分数是Python中参与者学习速度的最强预测因子。数学和流体推理测试的分数也与Python的学习速度有关,但这些因素解释的差异都小于语言能力。

另一种方式,通过学习结果,参与者的语言能力,流畅的推理和工作记忆,以及休息状态的大脑活动,都比计算能力更能预测Python学习,这解释了平均2%的人之间的差异。重要的是,Prat还发现大脑休息状态数据的特征与之前解释人们学习法语的速度相同,也解释了他们学习Python代码的速度。

“这是首次将自然语言能力的神经和认知预测因素与学习编程语言的个体差异联系起来的研究。我们能够解释不同的人学习Python编程速度的差异超过70%,而其中只有一小部分与计算能力有关,”Prat说。进一步的研究可以检验在课堂环境中,或者使用更复杂的语言(如Java),或者使用更复杂的任务来证明编程能力,语言能力和编程教学之间的联系。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200402A03OG400?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券