首页 >>  正文

小学生编程入门教学

来源:baiyundou.net   日期:2024-06-29

明敏 衡宇 发自 凹非寺

量子位 | 公众号 QbitAI

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

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

巴特,反转来了。

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

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

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

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

△图源百度百科

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

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

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

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

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

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

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

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

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

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

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

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

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

假设有这样一道题目:

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

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

△编程组的练习截图

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

△加法分解的描述性统计

△分数的描述性统计

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

一作曾在南京大学任教

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

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

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

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

参考链接:

[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 · 头条号签约

","force_purephv":"0","gnid":"9a1d65aadd20d6463","img_data":[{"flag":2,"img":[{"desc":"","height":"150","s_url":"https://p0.ssl.img.360kuai.com/t01c1cf1da82d723fc0_1.gif","title":"","url":"https://p0.ssl.img.360kuai.com/t01c1cf1da82d723fc0.gif","width":"245"},{"desc":"","height":"689","title":"","url":"https://p0.ssl.img.360kuai.com/t015909df0ed02440a7.jpg","width":"1080"},{"desc":"","height":"476","title":"","url":"https://p0.ssl.img.360kuai.com/t0104218d4ec4a05500.jpg","width":"472"},{"desc":"","height":"592","title":"","url":"https://p0.ssl.img.360kuai.com/t01529e6e2dbf944959.jpg","width":"912"},{"desc":"","height":"556","title":"","url":"https://p0.ssl.img.360kuai.com/t01fd743824a7dff1e9.jpg","width":"1074"},{"desc":"","height":"302","title":"","url":"https://p0.ssl.img.360kuai.com/t011bdd459d0cd4009b.jpg","width":"484"},{"desc":"","height":"402","title":"","url":"https://p0.ssl.img.360kuai.com/t013ea39bd9ba3cdc39.jpg","width":"1080"},{"desc":"","height":"395","title":"","url":"https://p0.ssl.img.360kuai.com/t01b588f97276e31a53.jpg","width":"1080"},{"desc":"","height":"379","title":"","url":"https://p0.ssl.img.360kuai.com/t012dd0b3d41c3ebbde.jpg","width":"1080"},{"desc":"","height":"489","title":"","url":"https://p0.ssl.img.360kuai.com/t013054568a07b5fedd.jpg","width":"1080"},{"desc":"","height":"914","title":"","url":"https://p0.ssl.img.360kuai.com/t0134c34c9222164476.jpg","width":"1080"},{"desc":"","height":"142","title":"","url":"https://p0.ssl.img.360kuai.com/t01be4dc2ccd9a97051.jpg","width":"1080"},{"desc":"","height":"158","title":"","url":"https://p0.ssl.img.360kuai.com/t01c1d9b9406b91109e.jpg","width":"932"},{"desc":"","height":"204","title":"","url":"https://p0.ssl.img.360kuai.com/t01392c6df15efb1d1a.jpg","width":"1316"},{"desc":"","height":"153","title":"","url":"https://p0.ssl.img.360kuai.com/t0146e9193cbc2187e2.jpg","width":"1080"},{"desc":"","height":"232","title":"","url":"https://p0.ssl.img.360kuai.com/t0178732325a543daea.jpg","width":"1080"},{"desc":"","height":"380","title":"","url":"https://p0.ssl.img.360kuai.com/t0184ff152f7b596c57.jpg","width":"1080"}]}],"original":0,"pat":"art_src_3,otherc,fts0,sts0","powerby":"hbase","pub_time":1662869280000,"pure":"","rawurl":"http://zm.news.so.com/10d1531d55f375f28d461e5b4cd135c8","redirect":0,"rptid":"d2fd031bdfb7c4bb","s":"t","src":"量子位","tag":[{"clk":"keducation_1:mit","k":"mit","u":""},{"clk":"keducation_1:小学生","k":"小学生","u":""}],"title":"学编程会拉低数学成绩,巴黎大学跟踪1500个小学生得出结论

幸砖翟2927少儿机器人编程怎么入门 -
咸浦响15262341801 ______ 理论上讲,控制机器人要用C++,从最底层进行操作.但现在的少儿机器人玩具,已经将其封装到比较精致的程度,很多机器人的编程,尤其是少儿机器人,编程可以从scratch进行入门了.有渔编程的回答希望能帮助到你

幸砖翟2927新手如何学习计算机编程? -
咸浦响15262341801 ______ 新手可以学习C,或者C++/C#(C#用的较多) 开始的时候可以只是看一些语法之类的基本规则,不一定非要弄得特别懂,按照书上的实例亲自做几个试试,培养一下信心,时刻给自己一点鼓励很有必要. 等到基本功差不多了,就去看看数据结构...

幸砖翟2927我是一个电脑新手(小学生)想学习电脑编程,应该从何学起? -
咸浦响15262341801 ______ 看谭浩强的c语言程序设计,用codeblocks练习,我是大一的,第一学期学的就是这,我基本上没上过课,全是自学,期末c语言考了91.还有就是,不会就百度,多加练习,很有效果!

幸砖翟2927我家孩子零基础想学编程怎么学 -
咸浦响15262341801 ______ 不建议盲目报培训班,可以让孩子先去学习下Python这门语言,因为这门语言可以说是所有编程语言中入门门槛最低的,先让孩子学起来看有没有兴趣,能否坚持,推荐学习的编程类的数据有《父与子的编程之旅》,或者选择可下载的APP是《W3Cschool》,最重要的是先了解孩子是否对编程有持久的兴趣,盲目报培训班也只能说是浪费钱了,听我的没错.

幸砖翟2927小学生用什么编程、编什么软件、该怎么编教程 -
咸浦响15262341801 ______ 哈哈,我也是6年级的编程爱好者,你这么小就对编程感兴趣,跟我一样! 建议用VB. 很多人觉得VB只是一种低级的语言,但其实它的功能非常强大,用API函数几乎可以做任何事情. 我没写过浏览器,不过这种用VB肯定能写出来,但过程一定枯燥乏味,要坚持啊!!!!

幸砖翟2927想要编程,该如何入门? - 如有好的建议,将万分感激,百分酬谢!?
咸浦响15262341801 ______ 针对你提出的4点问题,个人认为: 1 英语水平不是问题,编程又不是写英语文章,且编程中用的英文单词又不多,我初接触编程时,才小学,单词都不会几个.当然懂一...

幸砖翟2927初学者怎么编程 -
咸浦响15262341801 ______ 先认认真真的学习一门语言,学习微软的就先从VB开始,VB是比较好的入门语言,可视化的,比较简单,是非常好的入门语言.书籍最少应该准备两本,不可能一本书籍会包含VB的所有内容,在看书的时候,可以交叉的看,一本书籍中没有讲...

幸砖翟2927机器人编程怎么入门 -
咸浦响15262341801 ______ 机器人编程入门要选择合适的编程语言,避免难度太高打消孩子学编程的机器人,泊思地乐高EV3机器人可以作为编程入门课程,模块化编程,通过鼠标拖拽指令完成,图形化的编程还能增加学习编程的趣味性.学少儿编程可以提高孩子逻辑思...

幸砖翟2927少儿编程各年龄段学习什么? -
咸浦响15262341801 ______ 1、初级阶段 4-6岁4到6岁的学龄前孩子还不具备完善的思维认知能力,编程思维对他们来说太难了.在这个年龄段应以思维启蒙为主,可以带孩子玩一些训练编程思维的小游戏,让孩子观察体验游戏中的运行路线、逻辑运用等操作,家长帮助...

幸砖翟2927编程入门先学什么?
咸浦响15262341801 ______ C语言.编程入门在大雪中常常以C语言作为编程的入门语言, BASIC是初学者通用符号指令代码的缩写,是国际上广泛使用的一种计算机高级语言.所以编程入门可以先...

(编辑:自媒体)
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图 @ 白云都 2024