即使您不是“数学家”,您在学习编码方面也可能比您想像的要好。
根据华盛顿大学的一项新研究,语言技能比数学知识更能预测编程能力。在这里,研究合著者Malayka Mottarella演示了用Python进行编码的同时戴着专门的耳机来测量大脑的电活动。
想学习编码吗?放下数学书。而是练习这些沟通技巧。
华盛顿大学的一项新研究发现,与基本的数学知识或计算能力相比,天生的学习语言能力更能预测编程学习。那是因为编写代码还涉及学习第二语言,学习该语言的词汇和语法的能力,以及它们如何协同工作以交流思想和意图。与这两个领域相关的其他认知功能,例如问题解决和工作记忆的使用,也起着关键作用。
主要作者Chantel Prat表示:“编程的许多障碍,从前提课程到好的程序员的刻板印象,都围绕着编程高度依赖数学能力的想法,而这一想法并非源自我们的数据。”华盛顿大学和学习与脑科学研究所的心理学副教授。“学习编程非常困难,但是对于获得劳动力中的熟练职位越来越重要。在一个众所周知的缓慢消除性别鸿沟的领域中,严重缺乏有关擅长编程的信息。”
此图显示了学习参与者的技能(例如计算能力和语言能力)如何对Python的学习有所帮助。根据图表,认知和语言能力比学习能力更能预测学习。
该研究于3月2日在线发表在《科学报告》上,该报告是自然出版集团的开放获取期刊,该研究检查了三十二多名成年人在学习通用编程语言Python时的神经认知能力。在进行一系列测试以评估其执行功能,语言和数学技能之后,参与者使用Python完成了一系列在线课程和测验。那些学习Python的速度更快,准确性更高的人往往具有强大的解决问题能力和语言能力。
在当今以STEM为重点的世界中,学习编码为工作和扩展教育开辟了各种可能性。编码与数学和工程学相关。大学级别的编程课程往往要求高级数学才能入学,并且往往在计算机科学和工程学系教授。来自UW心理学教授Sapna Cheryan的其他研究表明,这样的要求和对编码的看法加深了将编程作为男性领域的刻板印象,有可能使女性不愿追求它。
但是编码也具有人类语言的基础:编程涉及通过以基于规则的方式将符号串在一起来创建含义。
尽管一些研究已经探讨了语言学习与计算机编程之间的认知联系,但其中一些数据已有数十年历史,使用的语言如Pascal现已过时,并且没有一个使用自然语言能力测度来预测个体差异。在学习编程。
因此,专门研究人类语言的神经和认知预测器的Prat着手探索人们学习Python的方式上的个体差异。Prat解释说,Python是很自然的选择,因为它类似于诸如段落缩进之类的英语结构,并且使用许多真实的单词而非函数符号。
为了评估“编程能力”的神经和认知特征,Prat研究了一群18至35岁之间从未学习过编码的英语为母语的人。
在学习编码之前,参与者进行了两种完全不同类型的评估。首先,参与者进行了五分钟的脑电图扫描,记录了他们闭上眼睛放松时大脑的电活动。在先前的研究中,普拉特(Prat)表明,大脑静止时的神经活动模式可以预测人们学习第二语言(在这种情况下为法语)的速度变化中的多达60%。
普拉特说:“最终,这些静止状态的大脑指标可以用作无文化的人学习方式的量度。”
然后,参与者参加了八项不同的测试:一项专门针对计算能力的测试;另一项针对数字能力的测试。一种衡量语言能力的人;以及其他评估注意力,问题解决能力和记忆力的工具。
为了学习Python,使用Codeacademy教育工具为参与者分配了10个45分钟的在线指导课程。每个会话着重于编码概念,例如列表或是否/然后条件,并以测验得出结论,用户需要通过该测验才能前进到下一个会话。为了获得帮助,用户可以依次选择“提示”按钮,过去用户的信息博客和“解决方案”按钮。
在共享的镜像屏幕上,研究人员可以与每个参与者一起追踪并计算出他们的“学习率”或他们掌握每堂课的速度,以及他们的测验准确性和寻求帮助的次数。
在完成会议之后,参与者就功能(Python的词汇)和编码结构(Python的语法)的目的进行了多项选择测试。为了完成最后的任务,他们编写了一个游戏-Rock,Paper和Scissors-被认为是新Python编码器的入门项目。这有助于评估他们使用所学信息编写代码的能力。
最终,研究人员发现,语言能力测验的分数是Python中参与者学习率的最强预测指标。算术和流体推理测试的分数也与Python学习率相关,但是这些因素中的每一个都比语言能力所能解释的差异少。
提出了另一种方法,在学习成果中,参与者的语言能力,流畅的推理能力和工作记忆以及静息状态的大脑活动都是Python学习的预测指标,而不是计算能力,这可以解释人与人之间平均差异的2%。重要的是,普拉特还发现,静止状态大脑数据的特征与以前解释某人学会说法语的速度相同,也解释了他们学会用Python编码的速度也具有相同的特征。
“这是将自然语言能力的神经和认知预测因子与学习编程语言的个体差异联系起来的第一项研究。“我们能够解释70%以上的差异是因为不同的人学会使用Python编程的速度有多快,而其中只有一小部分与计算能力有关。” Prat说。Prat说,进一步的研究可以检查教室环境中语言能力和编程指令之间的联系,或者使用更复杂的语言(例如Java),或者使用更复杂的任务来证明编码能力。
参考:Chantel S.Prat,Tara M.Madhyastha,Malayka J.Mottarella和Ku-Hsuan Kuo撰写的“将自然语言能力与学习编程语言中的个体差异联系起来”,科学报告。2020年3月2日。DOI:
10.1038 / s41598-020-60661-8
该研究由海军研究办公室资助。其他合著者是塔拉·麦迪亚瑟(Tara Madhyastha),他是计算机科学家,曾在西澳大学放射学系任助理研究员。以及华盛顿大学心理学系和I-LABS的研究生Chu-Hsuan Kuo和Malayka Mottarella。