交大本硕,工科女小土,家有蛋定两兄弟,点击蓝字关注,一起理性育儿,少走弯路。
小土叨叨:好几个小伙伴在群里发过华为天才少年的新闻,入职就能拿到华为200万年薪,别人家孩子从来不让我失望啊! 
好奇关注了这位天才少年的报道,有一点引起了我的注意,那就是因为家庭的原因,他90年代就接触到了计算机,从公开的访谈来看,潜移默化的兴趣以及逻辑思维能力,是他成功的一个基石。
回到自家娃,其实并不能指望能达到同样的高度,但纵观各大学科,编程教育和未来的职业能力颇为挂钩,如果能掌握一些这方面的技能,不说年薪多高,但有一技之长,至少能养活自己。也能更好地适应人工智能的时代,理解我们身边日新月异的科技变化。
不过,很多人对编程这件事情,有模糊的概念但又有点无从下手。这篇的作者是我们的老朋友K妈,她是我交大的同学,儿子四年级,正在学少儿编程。这篇她会跟大家说说,在日常生活中怎么潜移默化提升孩子的编程思维。
正文共:284514
预计阅读时间:8分钟
幼儿园阶段培养的编程思维,是不是一定要报个大课包才能学呢?
不是的今天我想小试牛刀,以日常的例子抛砖引玉,说说不花钱就能埋下兴趣种子、寓教于乐的方式。
编程往往被说得非常高大上,让很多家长畏难、心慌其实编程思维并不复杂,这个名词也许是个新事物,但是这一类思维能力却是新瓶装旧酒,更多地被包含或者归类于数学思维、逻辑思维能力中,比如,如何拆解问题,如何处理问题,如何进行优化 等。
至于学习一些面向机器的语言则是后话了。
 01 
生活中有趣的编程概念
有次周末出门放风,带我家老二轧马路,问他:红灯后面是黄灯,黄灯后面是绿灯,绿灯后面又会是什么呀?他很有兴趣地进行了观察。
你看“循环”这个编程中最高频的词之一,其实在生活里随处可见。“红绿灯”就是我们身边的“循环”的例子。

其它涉及循环的概念还有很多,比如,周一到周日、一月到十二月、春夏秋冬四季,这些都是可以跟孩子讲,而且孩子也能懂的。
看了身边的例子,大家是不是已经放下一些孩子无法理解编程的刻板印象了呢?下面举例子,说说一些编程思维启蒙的核心。
 02 
编程思维启蒙核心之:拆解
先来个大家最熟悉的例子:烧饭。

比如,
“想要满满一桌子好吃的菜,得先干啥?”(准备工作)
对,爸爸妈妈先得去买菜。
“菜是生的不能直接吃,怎么办呀?”(中间步骤)
对,要把它们烧熟,那烧熟前还缺什么呢?对,要先把它们洗干净,切好,才能下锅炒。
如果能带着孩子,从准备食材开始,讨论每个具体步骤,理清每一个小任务,其实就是在无形之中教孩子如何把一个大的任务,拆解”成各个互相有一定关系的小任务,掌握拆解的思维方法。
如果编程相关的逻辑思维能力,是一棵大树的话,基本的拆解能力就是大树的根基,是最底层的能力之一。
再举个小朋友听了一定会乐呵呵的例子,那就是经典的脑筋急转弯问题——
“把大象放冰箱里,需要分几步呢?“
可以分为三步:第一步,打开冰箱;第二步,把大象塞进去;第三步,关上冰箱门。在孩子哈哈大笑的时候,其实可以乘胜追击——“那把长颈鹿放进冰箱需要几步呢?还是三步么?“
多出来一步——要先把大象从冰箱里面拿出来。别看这个脑筋急转弯,难度很小,其实对应的思维能力是比较高级的。
一个任务不论多复杂,都得拆解”
再举个少儿编程最常见的一类问题:路径规划。把走到终点的任务,拆解”向前、左转、右转这些子动作,是解决问题的基础。

 03 
编程思维启蒙核心之:排序
说到排序”,大家肯定都挺熟悉,比如,比东西的大小,按照高矮个子排队等等。不过编程思维中的排序”概念,相对于“比大小”范围要更广
将问题拆解”成小任务后,再理清小任务之间的关系,是广义上的排序概念,它包含因果联系时间顺序、空间顺序等等。这可能有点抽象,我们还以烧饭为例子,继续说。
比如,因果联系中的条件关系
如果水烧开了,那么把饺子放下锅;
如果饺子浮起来了,那么把饺子捞起来。
这对应于,编程当中的常见的“如果...那么...”(if...then...)语句。
再比如,时间、空间顺序中常见的递进关系:
就算是随手炒个小青菜,也要经历买菜、择菜、洗菜、切菜、下锅、加调料、装盘子等一系列小任务,它们都是逐层递进(串行)。
你下次带孩子出门爬山,可以讨论下,要登到山顶,要经过哪几个必经点,其实按顺序依次到达,就可以登顶。
聊聊这些,能潜移默化地提高孩子解决问题的底层思维能力。
 04 
编程思维启蒙核心之:迭代
前面说的拆解排序能力决定了问题能不能被解决。迭代”则是决定问题解决得好不好,是不是最优解。
所谓迭代,听起来有点难,举个统筹安排的例子,大家就能理解了,等水烧开的过程中,去切菜,而不是等水烧开,再切菜,两种做法事情相同,安排不同,经过统筹安排,花费的时间会更少。
举个经典奥数题做例子,这里面也体现了寻求最优解的迭代思维。
平底锅烙饼,每次能烙3张饼,每烙熟一面需要2分钟,烙熟4张饼要几分钟?(2面都要烙)
(饿了)
如果不追求时间最短,那么就慢慢来,3张饼一个锅正反花4分钟+然后正反共4分钟烙第4张饼,总共8分钟,但迭代后的最优解,时间就缩短了。 
喜欢去动动脑筋,爱去思考哪里能更“省力”,能培养孩子钻研精神。
 05 
写在最后
其实,说到真正的编程思维,目前学术界主流的观点是分为四个类目,分别是分解,抽象,模式识别和算法,其中对于启蒙阶段的孩子,主要还是聚焦在问题的分解上。抽象能力、模式识别和算法相关的内容,要等孩子有一定认知基础后再接触。
大家可能对编程语言关注得比较多,这里捎带说一下,打个通俗的比方,编程就像开车,底层的逻辑能力就像是开车的控制技巧,而面向计算机的语言就像是各种车型。
图形化编程的Scratch是入门的电动小童车,功能有限,胜在简单易上手,大致知道刹车,左右转弯就可以在安全的小区道路上开一把过过瘾。
而数据处理能力较强的Python,信奥指定的C++,以及C#,JAVA等各种主流编程语言就像是各式各样的常用车型,它们适用于不同的路况,但毫无疑问都开始需要过硬的驾驶技巧了。
今天我们就不展开说这些具体的语言了,有兴趣的朋友可以参考我们之前的一篇文章——认真脸,无广告:少儿编程到底要不要学?》。
学习哪种语言是由小朋友的年龄,认知发展阶段,抽象思维能力来决定的,不是一个阶梯式循序渐进,一定需要从最简单的语言学起的科目。
所以,很早开始抢跑编程语言没有太大意义。更重要、更底层的,是思维能力的培养。
今天的小小衍生内容,是帮助孩子们接触到更生活化的启蒙,如果大家喜欢这个主题的话,请帮忙点赞和在看,后续还会有更多实用内容。
拓展阅读:
正在团👉
《新年仪式感,治愈系手工
埋下一颗兴趣的种子
继续阅读
阅读原文