《自然》:如何更有效学习计算机编程?


计算机程序员在阅读代码时对形式和含义上的违规行为表现出独特的、依赖于专业知识的大脑反应。

随着计算机编程在劳动力中的地位越来越重要,人们对如何有效学习计算机编程的更好模型的需求也越来越明显。

本研究通过记录 62 名不同水平的 Python 程序员在阅读带有形式(语法)和意义(语义)操作的代码行时的脑电生理反应,弥补了这一空白。

在小组层面上,结果显示:

  • 对形式语法的处理会产生 P600 效应,与句法有效的代码相比,句法无效的代码在 500-800 毫秒范围内会产生更多的正偏转。
  • 而对语义意义操作则会产生 N400 效应,语义上不可信的代码比语义上可信的代码在 300-500 毫秒范围内产生更多的负偏转。

组内 Python 专业技能更强的人对形式违规敏感度更高

这些结果支持这样一种观点,即熟练的编程与熟练的自然语言学习一样,都与将基于规则的知识纳入在线理解过程有关。相反,所有技能水平的程序员都表现出了对语义意义操作的神经敏感性,这表明对已有语义关系的依赖促进了不同技能水平的代码理解。


我们的数据表明,当熟练的程序员阅读代码行时,他们会使用有关语句级形式和标记级含义的信息来逐步更新他们对代码试图完成的任务的心理表征,就像自然语言的读者一样使用有关语法结构和单词级语义的信息来理解句子的含义。

在我们的实验中,程序员分别对代码的语义和句法操作表现出明显的 N400 和 P600 效果,反映了这一点。

总之,我们提出的第一项研究表明,程序员在代码理解过程中实时增量构建心理表征时,对形式和含义信息表现出神经敏感性。这样做时,专家程序员对项目之间的结构关系更加敏感,其特点是在看到项目后 600 毫秒内大脑对语法违规的反应显着。


banq注:

  • 学习者必须以某种方式将语言输入分为与意义相关的方面和与形式相关的方面(banq注:形式与内容分离)
  • 编程语言类似学习人类第二母语,编程语言更类似语文

详细点击标题