学编程会拉低数学成绩,巴黎大学跟踪 1500 个小学生得出结论

大千世界 103 0

  “怎么培养数学逻辑思维?来点编程试试?”大概这是很多人的既有认知,毕竟感觉程序员们的数学都挺好的。

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

  

学编程会拉低数学成绩,巴黎大学跟踪 1500 个小学生得出结论-第1张图片-大千世界


  在欧几里得除法、加法分解、分数运算几个方面,影响范围为-0.16 ~ -0.21(值为负数即代表表现不如标准组)。而且编程软件的可视化界面,还影响了孩子的注意力集中能力。

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

  

学编程会拉低数学成绩,巴黎大学跟踪 1500 个小学生得出结论-第2张图片-大千世界


  △ 图源百度百科

  要知道,很多家长给小孩报编程课就是为了提高数学成绩…… 怎么现在反倒成绊脚石了?

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

  其实这事儿的关键就是,小孩子们到底能不能把从编程里学到的逻辑思维,转化到数学方面。按照学习迁移的思路,通常认为计算机思维和技能是能够轻松转移到其他领域的。尤其在解决问题这方面,编程和数学被认为密切相关。

  

学编程会拉低数学成绩,巴黎大学跟踪 1500 个小学生得出结论-第3张图片-大千世界


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

  为了搞清两者之间的关系,2017 年 10 月到 2018 年 2 月,大概 4 个月的时间里,研究团队招募了四、五年级共 2472 名学生进行实验。这些学生年龄在 9-11 岁之间,来自 46 所学校的 107 个班级。

  

学编程会拉低数学成绩,巴黎大学跟踪 1500 个小学生得出结论-第4张图片-大千世界


  以学校为单位,学生随机分配到两个组别:编程组(28 所学校,68 个班级,1519 人)和对照组(18 所学校,41 个班级,953 人)。简述一下实验方法,就是让两组小孩分别上编程数学课和普通数学课,然后对比期末成绩。

  教学内容涉及三个部分,分别是欧几里得除法、加法分解和分数。以欧几里得除法为例,所有小孩都需要在数学写作中构造一个方程,如 a = b*q + r。小孩们花了同样的时间来理解新的数学概念。看看教学实践的具体操作。

  假设有这样一道题目:

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

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

  

学编程会拉低数学成绩,巴黎大学跟踪 1500 个小学生得出结论-第5张图片-大千世界


  △ 编程组的练习截图

  对照组的小孩则采取传统方法,用剪刀把丝带剪成几个部分,然后写成代数公式:23 = (4*5) + 3。介绍一下,编程组小孩用的是 Scratch 图形化编程。

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

  

学编程会拉低数学成绩,巴黎大学跟踪 1500 个小学生得出结论-第6张图片-大千世界


  回到实验本身,在入学前、三个教学内容前后这七个时间点,两组学生进行了数学测验。测验内容大体分为三年级水平的数学知识、计算和解决问题的能力这三个知识点,旨在衡量相同技能。

  每次测验都会产生一个全局分数,并被居中和降低,以便比较不同概念的效果大小,如此一来,得到了三次测验后的是三个因变量。由于学生属于各个班级,因此采用了多级模型统计方法,它可以将因变量归因于正确的水平。

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

  1、对空模型的每个概念进行估计,以估计类内方差和类间方差;

  2、添加 1 级变量(学生特征);

  3、添加 2 级变量(类别特征);

  4、添加实验变量(编程与传统方法)。

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

  

学编程会拉低数学成绩,巴黎大学跟踪 1500 个小学生得出结论-第7张图片-大千世界


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

  

学编程会拉低数学成绩,巴黎大学跟踪 1500 个小学生得出结论-第8张图片-大千世界


  △ 加法分解的描述性统计

  

学编程会拉低数学成绩,巴黎大学跟踪 1500 个小学生得出结论-第9张图片-大千世界


  △ 分数的描述性统计

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

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

  

学编程会拉低数学成绩,巴黎大学跟踪 1500 个小学生得出结论-第10张图片-大千世界


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

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

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

  实际上,如果从大脑活动角度来看,编程和解决数学逻辑问题时,激活的范围也并不相同。此前研究表明,人类大脑在处理数学逻辑问题时,主要依赖于左脑的多需求(multiple demand,MD)网络的分布式网络。

  但是在 MIT 神经科学家发现,当人在读代码(Python)时,似乎同时激活了 MD 网络的左右两个部分。并且,读 Scratch 可视化代码(ScratchJr)时,对右侧大脑的激活程度略高于左侧大脑。也就是说,读代码和处理数学逻辑问题时的大脑活动并不相同。

  

学编程会拉低数学成绩,巴黎大学跟踪 1500 个小学生得出结论-第11张图片-大千世界


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

  

学编程会拉低数学成绩,巴黎大学跟踪 1500 个小学生得出结论-第12张图片-大千世界


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

  

学编程会拉低数学成绩,巴黎大学跟踪 1500 个小学生得出结论-第13张图片-大千世界


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

  

学编程会拉低数学成绩,巴黎大学跟踪 1500 个小学生得出结论-第14张图片-大千世界


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

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

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

  

学编程会拉低数学成绩,巴黎大学跟踪 1500 个小学生得出结论-第15张图片-大千世界


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

  

学编程会拉低数学成绩,巴黎大学跟踪 1500 个小学生得出结论-第16张图片-大千世界


  一作曾在南京大学任教

  本篇论文的一作及通讯作者为 Manon Laurent。她现在是巴黎大学社会系的博士。此前曾在南京大学、康考迪亚大学、巴黎大学有过任教经验。研究的兴趣领域为中国城市社会关系。

  

学编程会拉低数学成绩,巴黎大学跟踪 1500 个小学生得出结论-第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


标签: 编程 数学

抱歉,评论功能暂时关闭!