明敏 衡宇 发自 凹非寺量子位 | 公众号 QbitAI

“怎么培养数学逻辑思维?来点编程试试?”

大概这是很多人的既有认知,毕竟感觉程序员们的数学都挺好的。

巴特,反转来了。

来自巴黎大学的研究人员发现,小学生改用编程课学数学后,对成绩不仅没有明显帮助,甚至会产生一些负面影响。

你觉得儿童应该怎样学编程(学编程会拉低数学成绩)(1)

在欧几里得除法、加法分解、分数运算几个方面,影响范围为-0.16 ~ -0.21(值为负数即代表表现不如标准组)。

而且编程软件的可视化界面,还影响了孩子的注意力集中能力。

没错,这里说的就是风靡少儿编程圈的Scratch,它最大的特点就是通过动画涂鸦的表现方式,让小孩子喜欢上编程。

你觉得儿童应该怎样学编程(学编程会拉低数学成绩)(2)

△图源百度百科

要知道,很多家长给小孩报编程课就是为了提高数学成绩……

怎么现在反倒成绊脚石了?

从编程逻辑转到数学逻辑才是关键

其实这事儿的关键就是,小孩子们到底能不能把从编程里学到的逻辑思维,转化到数学方面

按照学习迁移的思路,通常认为计算机思维和技能是能够轻松转移到其他领域的。尤其在解决问题这方面,编程和数学被认为密切相关

你觉得儿童应该怎样学编程(学编程会拉低数学成绩)(3)

话虽如此,一直以来却没什么有力的研究证明。

为了搞清两者之间的关系,2017年10月到2018年2月,大概4个月的时间里,研究团队招募了四、五年级共2472名学生进行实验。

这些学生年龄在9-11岁之间,来自46所学校的107个班级。

你觉得儿童应该怎样学编程(学编程会拉低数学成绩)(4)

以学校为单位,学生随机分配到两个组别:编程组(28所学校,68个班级,1519人)和对照组(18所学校,41个班级,953人)。

简述一下实验方法,就是让两组小孩分别上编程数学课和普通数学课,然后对比期末成绩。

教学内容涉及三个部分,分别是欧几里得除法加法分解分数

以欧几里得除法为例,所有小孩都需要在数学写作中构造一个方程,如a = b*q r。小孩们花了同样的时间来理解新的数学概念。

看看教学实践的具体操作。

假设有这样一道题目:

把23cm的丝带切割,分成几个5cm的丝带段和一个3cm的丝带段。

编程组的小孩需要构建一种算法,使用指定长度(这里是5)的几个跳转一个较短的(这里是3)通配符跳转,移动数字条上的光标,以达到目标。

你觉得儿童应该怎样学编程(学编程会拉低数学成绩)(5)

△编程组的练习截图

对照组的小孩则采取传统方法,用剪刀把丝带剪成几个部分,然后写成代数公式:23 = (4*5) 3。

介绍一下,编程组小孩用的是Scratch图形化编程

Scratch是MIT“终身幼儿园团队”在2007年发布的一种图形化编程工具。使用者可以不会英语,也可以不会键盘,只要玩一个类似搭积木的动画游戏,就能避开复杂语法来学习编程思维。

作为少儿编程入门课程,国内少儿编程班用的基本都是它。

你觉得儿童应该怎样学编程(学编程会拉低数学成绩)(6)

回到实验本身,在入学前、三个教学内容前后这七个时间点,两组学生进行了数学测验。

测验内容大体分为三年级水平的数学知识计算解决问题的能力这三个知识点,旨在衡量相同技能。

每次测验都会产生一个全局分数,并被居中和降低,以便比较不同概念的效果大小,如此一来,得到了三次测验后的是三个因变量

由于学生属于各个班级,因此采用了多级模型统计方法,它可以将因变量归因于正确的水平。

模型规范过程包含四个步骤:

1、对空模型的每个概念进行估计,以估计类内方差和类间方差;2、添加1级变量(学生特征);3、添加2级变量(类别特征);4、添加实验变量(编程与传统方法)。

为了拟合解释每个知识点最终表现的简约模型,模型中删除了非显著变量。模型中涉及变量的描述性统计如下。

你觉得儿童应该怎样学编程(学编程会拉低数学成绩)(7)

△欧几里得除法的描述性统计

你觉得儿童应该怎样学编程(学编程会拉低数学成绩)(8)

△加法分解的描述性统计

你觉得儿童应该怎样学编程(学编程会拉低数学成绩)(9)

△分数的描述性统计

研究结果显示,每个知识点的前测得分对最终成绩有显著的正向影响;入学分数对最终成绩也有积极而显著的影响,但这个效应小于前测效应。

而相比上普通数学课的小孩,上编程数学课的小孩影响都是负数:编程思维对最终性能的平均影响为−0.16 SD(欧几里得除法)、−0.19 SD(加性分解)和−0.21 SD(分数)。

也就是说,对比对照组,编程组的学生进步更小

你觉得儿童应该怎样学编程(学编程会拉低数学成绩)(10)

尽管这些效应量在大型随机试验的预期范围内,但效应量位于数学学习随机试验分布的下尾。

研究人员认为,这些负面影响表示出,即使在老师指导水平不赖、且拥有“近迁移”假设的最佳条件下,从编程思维到数学思维的学习迁移并不能自发进行

编程和数学的关系没那么简单

实际上,如果从大脑活动角度来看,编程和解决数学逻辑问题时,激活的范围也并不相同。

此前研究表明,人类大脑在处理数学逻辑问题时,主要依赖于左脑多需求(multiple demand,MD)网络的分布式网络。

但是在MIT神经科学家发现,当人在读代码(Python)时,似乎同时激活了MD网络的左右两个部分。

并且,读Scratch可视化代码(ScratchJr)时,对右侧大脑的激活程度略高于左侧大脑。

也就是说,读代码和处理数学逻辑问题时的大脑活动并不相同。

你觉得儿童应该怎样学编程(学编程会拉低数学成绩)(11)

有网友看了最近的这项研究也表示,这次实验之所以会得出一个出乎意料的结论,关键点或许不在编程上,而是Scratch到底适不适合小孩拿来学数学。

你觉得儿童应该怎样学编程(学编程会拉低数学成绩)(12)

还有人提到,编程更像是结合逻辑、推理等方面的学科,而不是数学。

你觉得儿童应该怎样学编程(学编程会拉低数学成绩)(13)

如果一定要把数学和编程联系在一起,可能大家更认可的是数学对编程的影响

你觉得儿童应该怎样学编程(学编程会拉低数学成绩)(14)

有位网友就想到了自己的辛酸史——

他因为没有拿到加拿大大学要求的数学成绩,没法攻读计算机学位(好在最后他还是从事了软件开发)。

(在加拿大等国家和地区,大多数大学级别 CS 课程的录取都要求了较高的数学成绩,整个专业也会偏爱对数学有高度热情的同学。)

但不可否认的是,的确有很多人在学了编程后,数学物理都有提升。

你觉得儿童应该怎样学编程(学编程会拉低数学成绩)(15)

只能说编程肯定能帮助小孩学到一些技能,但会不会像一些机构吹得那么神乎其神、宛若是学数学的捷径,这事儿还有待验证。

你觉得儿童应该怎样学编程(学编程会拉低数学成绩)(16)

一作曾在南京大学任教

本篇论文的一作及通讯作者为Manon Laurent。

她现在是巴黎大学社会系的博士。此前曾在南京大学、康考迪亚大学、巴黎大学有过任教经验。

研究的兴趣领域为中国城市社会关系。

你觉得儿童应该怎样学编程(学编程会拉低数学成绩)(17)

话说,你学编程后,数学成绩有提高嘛?

参考链接:[1]https://www.sciencedirect.com/science/article/abs/pii/S0959475222000883#![2]https://www.publicbooks.org/author/manon-laurent/[3]https://news.ycombinator.com/item?id=32728636[4]https://www.cessma.org/LAURENT-Manon

— 完 —

量子位 QbitAI · 头条号签约

关注我们,第一时间获知前沿科技动态

,