大火的少儿编程背后,智能时代的焦虑症

网友投稿 2018-07-13 11:10

如果你理解的是编程的本质,那编程教育就会是一件有趣的事,而不再是一件因为大家都要学所以我也必须要学的事。 

Linux 系统开发者_林纳斯• 托瓦兹

探索学院

和若干年前

“要不要给孩子学钢琴”一样

今天的父母们又多了

一个需要纠结的选项——

“要不要给孩子学编程?”


https://cdn.china-scratch.com/timg/180715/1110113105-0.jpg

对于很多家长来说,趁孩子还小,学一样技能,等于是练了一门“童子功”,虽然小时候吃苦,但是长大了之后依然能长期受益。

对于日新月异的编程来说,掌握其背后的思维逻辑,并能在实际生活的方方面面灵活应用,才是真正的“童子功”。至于其他,可能都是浮云。

鸡汤 vs 升学 vs 思维能力

“忽如一夜春风来,少儿编程百家开。”从2016年开始,市面上的少儿编程相关培训课程、机构雨后春笋般出现,市场异常兴奋。

但很多时候,家长们自己也没有深入了解过编程,面对这个问题的时候,往往容易被“成功鸡汤”和“升学优势”这两种元素所吸引,而恰恰是“编程对孩子能力的培养”这个最重要的内容被忽视了。

https://cdn.china-scratch.com/timg/180715/1110111529-1.jpg

成功鸡汤?

就像当年郎朗催生了一大批琴童,今天叱咤风云的编程界大佬们blingbling的人生成就,已经成了编程教育的无形招牌。学编程,动辄谈到比尔盖茨、扎克伯格、马化腾、李彦宏,鸡汤味暗中涌动。

还有一些机构想要调动父母的焦虑心理,“人工智能时代,不学编程的孩子就是文盲”、“编程要从娃娃抓起”这样的“名言”广为流传。

https://cdn.china-scratch.com/timg/180715/1110122L0-2.jpg

升学优势?

相比鸡汤,实实在在的升学优势是说服很多家长的杀手锏。

十二年前,小编还在上初中的时候,编程课程就已经存在于校园了,部分学校(大多是当地有名的学校)把编程当作数学、英语以外的特长,课程的结果多以参加信息奥赛为主。只不过当年还比较冷门,学的人少。

https://cdn.china-scratch.com/timg/180715/1110125G2-3.jpg

研究一下近年和编程教育相关的动态,从国家层面到学校层面的各种强调,让编程从本来默默无名的科目,一下子晋升为追捧的对象。

  • 2017年,国务院《新一代人工智能发展规划》指出要在中小学阶段设置人工智能相关课程、逐步推广编程教育

  • 北京、南京、广州等城市陆续将编程列入中考特招项目

  • 浙江省率先将编程纳入高考科目

  • 各高校在录取时,对信息学人才的招生优惠一点儿也不吝啬——

https://cdn.china-scratch.com/timg/180715/1110123245-4.jpg
  • 高考数学当中,也加入了相当的与编程有关的成分

https://cdn.china-scratch.com/timg/180715/1110124231-5.jpg

当然,不管是鸡汤也好,升学优势也好,它们都从某个侧面显示了学点编程的必要性,但知其然,还得知其所以然,真正明白编程为什么是未来世纪的基础,抓住编程培养的具体能力才是关键

大部分父母心里其实明白,孩子就算学会了编程,也不一定能成为下一个比尔·盖茨。即使日后真的以编程为职业,作为程序员,也要面临技术更新迭代等诸多挑战。

所以,如果不能理解编程教育背后的真正意义,就像只会逼孩子练琴的家长一样,一通折腾后,孩子只学到了表面上的技能。

现在一些机构提供的编程课程,只是让孩子机械复制代码,照搬程序,真正的能力提升却是空白,还浪费了孩子的兴趣和热情。

https://cdn.china-scratch.com/timg/180715/111012J64-6.jpg

思维能力!

编程到底培养了什么?

大部分人一想到编程课堂,立刻就会想到一个孩子对着一台电脑,噼里啪啦开始打字。其实在很多欧美学校里,孩子上编程课时甚至不用打开任何电子设备。

在欧美的中小学,老师不仅着眼于编程的技能,还关注编程背后的思维,有意识地对编程思想进行解释。同时,老师们还精心创建了各种场景,构建编程与学生生活之间的各种联系,让学生体验到科技与生活是息息相关的。

https://cdn.china-scratch.com/timg/180715/11101261R-7.jpg

1.化整为零

编程,简单来说,就是人指挥机器做事的过程。这个过程中要使用一种机器也能理解并执行的语言。和所有的表达一样,要想指挥机器按照我们的想法儿干活,最主要的是对表达逻辑的掌握。

就比方用英文和中文写烹饪菜谱,虽然汉语和英语差异巨大,具体的词汇、语法、书写方式都不相同,但只要步骤清晰,不管是汉语和英语都能做成美味佳肴。

https://cdn.china-scratch.com/timg/180715/111012M26-8.jpg

所以,学习编程,很多时候是在锻炼表达逻辑,学会将复杂的问题,分解为一个个具体的小问题单元,并按照逻辑顺序一一解决。

其实,这样的能力在生活的点滴小事中,都能得到锻炼。在芬兰和美国的小学,很多编程课都是“不插电”的,孩子不用学怎么写“天书”,而是通过游戏来学习程序设计中分步有序执行的原则。

比如,老师在课堂里扮演一个机器人,让孩子按顺序给老师指令,使老师能顺利地避开所有障碍物穿过教室。

https://cdn.china-scratch.com/timg/180715/1110125Z5-9.jpg

下图是许多少儿编程启蒙课程会用到的的编程软件Scratch,也是通过游戏的方式,让孩子拖拽程序块,让孩子能快速理解到化整为零的思维方式。

https://cdn.china-scratch.com/timg/180715/1110126439-10.gif

2. 归纳能力

与人相比,电脑的一大优势是能快速重复大量枯燥操作。好比“搬砖”,只要设定砖块好按照什么规则堆放,中间的砌墙过程就可以放手让机器来做。

所以,为了让电脑能发挥所长,在程序设计中,往往需要运用到归纳的能力,把类似的步骤合并起来,这样可以减少我们人工所花的力气。

https://cdn.china-scratch.com/timg/180715/1110122534-11.gif

用合适的方式来阐释和归纳同类型的问题,能举一反三地解决一系列问题。

灵活运用生活中出现类似的例子,比如群发短信、逐个统计全班同学的生日时,这些活动也能够使孩子更易利用已有的经验基础去理解编程思维,也有助于相应知识的迁移和应用。

3. 转化思维

因为程序是为电脑所编写,所以我们有时还需要对问题进行转化,选择恰当的方法转换成电脑可以处理的简单操作。

要能够理解电脑与人的思维方式的区别,就要先在生活中理解和体会计算等操作的本质,然后再去用电脑这样的工具来实现操作目标。只有这样才算是达到了学习目标。

https://cdn.china-scratch.com/timg/180715/1110132M0-12.jpghttps://cdn.china-scratch.com/timg/180715/111013E29-13.jpg

比如MIT媒体实验室的研究员、设计师金伯莉·史密斯所做的这套木质玩具,形象地通过木球、方块拼图等模拟了二进制和图像像素的原理,可以帮助低龄儿童更好地理解电脑运作方式。

https://cdn.china-scratch.com/timg/180715/1110132D0-14.jpg

技术 vs 思维

如此看来,学不学编程,不是最核心的问题。问题是怎么才能获得能力。

如果将编程学习当做一门技术来学习,那学生获得的就将仅仅是使用计算机的能力

但如果将编程看做是学习编程思维能力,那学生所获得的就将是编程的本质原理可迁移的思维方式,而这种思维方式,将能够被用来开展更多的研究和解决生活中更为复杂的问题。这才是真正的从小打下的“童子功”。


--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com