为什么要让孩子学习编程?很多人都问我这个问题。我更愿意回答,为什么让孩子去玩编程?
Tank同学从小学一直喜欢学奥数,所谓“搞脑子”。我们在他小学阶段持续给他报奥数课,一方面是为了竞赛拿奖利于升学,但他不是竞赛型选手,年年报名“四大”比赛,但最高成绩只有一次二等奖;另一方面,他毫不抗拒学奥数,每次都积极去上课,参加奥数比赛也很积极,算是”没心没肺“那种。我们在教育中,非常在乎孩子是否有兴趣,认为兴趣的培养远比学会的知识量重要。因此,学奥数,主要是因为孩子喜欢。奥数学到小学高年级,开始往繁琐发展,大多数题目都要经过很多步骤的运算,进入深度研究而非广度应用。这是我个人想法,仅供参考。
事实上,Tank在六年级就开始不那么喜欢“玩”奥数了,他开始希望探索更多应用,比如物理和计算机编程。好了,这里就可以回答,为什么让孩子去玩编程,因为编程是逻辑思维的应用场景。我们学会了遇到一个数学问题,就通过对已知条件进行多次运算来得到未知数。编程难道不是这样吗?只不过将繁琐的运算外包给了电脑,我们只要通过程序告诉电脑:每个步骤需要做什么?要重复吗?遇到分支该怎么处理?编程不过就是解决一个实际问题。
编程到底怎么玩?我们来分阶段看。
1.对于没有数学基础的孩子(幼儿园时期,小学低年级)
我带着家里的幼儿园小宝也玩过编程,针对低龄儿童,其实玩编程是为了提高逻辑思维,还达不到应用的效果。首先记得,编程绝对不是听懂就行,最关键的是动手实践,所以所有的编程教学特质就是讲课或看课件与做题时间比列大概3:7,甚至更低。
强烈推荐code.org,上面有很多很完善的学习框架,按照年龄段来分的。基本就是闯关,不断提高难度,非常适合小年龄的孩子。下面截屏是完成蜜蜂采蜜的实际问题,蜜蜂按照东南西北的方向可以运动,遇到花就采蜜,最后达到数量就到蜂巢去做蜂蜜。
按部就班,一步一步走,当然也能完成任务,但执行程序(run)的时候会有提示,虽然你完成了任务,但不满足要求。要求是11个step就完成任务,假如不采用循环(repeat),那会有几十个step,当然不满足要求。于是,孩子就能学会如何把重复的步骤抽象出来,通过循环减少步骤。我个人很喜欢code.org的设计,因为代码习惯的培养很重要。当放手让孩子创意无限的时候,我们可能会发现已经来不及学习如何让代码变得简洁,结果就是代码很乱很令人头疼。
2. 对于有数学基础的孩子(小学中高年级)
如果孩子逻辑能力一般,想要提高,推荐采用code.org上面针对大一点孩子使用的教程。
如果孩子逻辑能力比较强,可以直接上Scratch,毕竟Scratch比code.org上的教程灵活很多。具体可以参考之前的CC推荐入门必读文章。
3. 对于已经学习过一段时间编程的孩子
编程要进阶,可以采用两种方式:一种是项目驱动,另一种是竞赛驱动。
1) 所谓项目驱动,就是给孩子造出一些项目,让他自己完成或跟同学组队完成。
>具体实施,一种是让孩子自行组队,给孩子创造一个空间,定时跟队友聚集在一起完成项目。项目的成果其实也可以送去非体制内的竞赛。
>另一种就是送到机构的进阶班,让老师给孩子出题做项目,这里需要家长认真选择。机构的水平也是参差不齐,如果进阶班还是以老师上课为主的话,那八成就是抄代码类型的教学,不要选。进阶班一定是项目式编程,老师会给大致方向,给同学参考一些类似作品,讲解一下完成的思路。之后孩子自己设计自己完成,遇到问题跟同学或老师探讨。这种方式,国外的教学中很常见,在国内比较少,课堂比较吵。还好编程班的孩子不用唱唱跳跳,说话都不用,只需要看着电脑就好,因此编程进阶采用这种方式还是很可取的。
2) 至于竞赛驱动,就是去研究含金量高的竞赛。通过让孩子参加竞赛,提高学习的热情,其实也很有效果。毕竟热情来源除了兴趣就是成就感。下面简单介绍几个。
>比如现在流行的NOI(全国青少年信息学奥林匹克竞赛),全国性质的含金量最高的比赛,铜牌以上即可获得自主招生名额(高考加5~30分)和大学保送资格。全国一等奖,清华北大妥妥的。同时要想参加亚洲与太平洋地区信息学奥赛(APIO)和国际信息学奥林匹克竞赛(IOI)也是需要这个比赛获奖的。
>还有一个较低等级的NOIP(全国青少年信息学奥林匹克联赛),跟NOI不要混淆。如果想要研究,可以登陆官网去看。这两个比赛比较高端,要学习的知识不仅仅是编程,还有很多很多计算机的基础知识。编程也不是Scratch,只能用C++(近两年还能用C和Pascal,快要取消了)。我大致看过一下NOIP的大纲,如果不是针对应试,要学会所有的知识点,可以找大一大二计算机系的人借几本书来看看。
>针对Scratch,也有国字号的比赛,全国青少年探索计划scratch创意编程大赛,这个比赛强调的是创意,参与比较简单,就是网上提交。
一口气竟然说了这么多竞赛,其实竞赛只是方法,不是目的。因为当孩子学习到一定程度,当他发现自己可以通过竞赛证明自己在这方面有优势,那对提高孩子的信心和维持玩编程的动力,不失为一种好方法。我们并不希望孩子浅尝辄止,每个方面会一点,但都不精通。就Tank而言,我完全没有期望他拿到NOI金牌一举进入清华北大这类的想法,真的是重在参与,借平台的力量发展孩子的兴趣仍然是我们的初衷。
欢迎关注同名公众号“CC创意编程工作室”,共同探讨少儿编程~