怎样让孩子开始学习编程?

怎样让孩子开始学习编程?
从认真的角度,我想我可以把这个问题理解成对编程世界一无所知的家长关于孩子未来的焦虑与不安,这样在逻辑上是自洽的:作为门外汉的家长一方面感觉到信息科技带来的压力与机会,希望子女可以在未来的世界里有自己的一席之地,但与此同时由于自己对程序员世界的一无所知,导致无所适从的压力感,不知道如何入手,应该让孩子什么时候(when)开始学,学习些什么(what),怎样(how)去学?这篇回答从这三个方面提供一些参考和建议,希望对焦虑的父母们有一些抛砖引玉的作用。
为什么要让孩子学习编程
在回答when,what和how之前,我想先认真回答一下所有问题的前提------为什么(why)一定要让孩子学编程?只有家长首先理解并想明白了这个问题,才可能在面对子女如何学习编程的问题上不至于过于激进或者保守。
无论是否愿意,我们显而易见地正处在一个信息化的时代里,在当下以及可预见的未来,了解与掌握信息以及信息技术,是顺应时代潮流必不可少的技能。当前的程序员在整个社会收入结构(出卖劳动力类型的)中处于中上层,从一定程度上而言,这也正是因为程序员所掌握的技术和这个世界的现状和趋势更加匹配。在未来,程序设计可能会和驾驶一样,从少数人掌握的专业技术成为越来越普及的必不可少的技术(当然,这一前提除了教育水平的提高外,与编程或者驾驶技术门槛的不断降低也会密切相关),我们可能不再过于依赖某个特殊的软件提供某些功能,而可以快速方便的通过自己的设计去实现个性化的功能(当然这可能依赖于更加自动化的软件),从而让程序设计成为每个人生活中必不可少的一部分。从这个方面,早一些让孩子接触计算机程序,对他们了解当下所处的世界是很重要的,本质上,这和丛林时代让孩子早些认识什么是可以吃的果子没有什么分别。
另一方面,程序设计终究是以脑力活动为主的劳动类型(虽然对体力的要求也并不低),程序本身和文字一样,只是思想和逻辑的表现(representation),因此,从这个角度,学习程序设计和学习音乐、美术或者数学并没有什么区别,只是学习一种看世界与思考世界的角度,掌握一门描述世界的语言。对于个体而言,通过艺术、数学或者程序来表述自我,解释世界,都是非常重要与有意义的。也正因为如此,让孩子学习钢琴、小提琴、美术、围棋……的家长们,也并不一定要让孩子未来成为这方面的专业人才,而只是让他们增加一门傍身的技能,可以在这个钢筋混凝土的现代丛林里多一些生存技巧,让孩子接触编程,可能最大的意义也在这里吧。
孩子什么时候开始学习编程比较好?
如前所述,程序设计本身只是逻辑和思想的展示,对孩子的程序课,应该从基本的逻辑思维入手。而对逻辑思维的教学,则在孩子开始具备思考能力之后,就可以由浅入深地逐步进行。最基本的训练可能看上去不像是程序设计,而更多地是日常生活中的游戏或者问答——回家的路要往左或是往右,从这里怎样走到最喜欢的游乐场?要从高脚凳上拿下来自己心爱的玩具,需要分几个步骤?诸如此类逻辑与思维的训练,是培养孩子编程思维的第一步。
如果和艺术类课程进行类比,那么正式启蒙的编程课,不应该过早(3岁半至4岁之前)。而考虑到幼儿的思维与成长发育的特征,也不应该太早。从4岁多开始启蒙可能会比较适合,而再晚一些的话也并无不可,毕竟从职业方面来说,20岁、30岁乃至60岁起步者也比比皆是,不用操之过急。
幼儿编程要学些什么?
幼儿不太可能像成年人一样直接从文本编程开始,因此,幼儿编程教育的大部分启蒙课程,都是从图形化的一些简单而有意义的逻辑思维训练开始,最好能结合实物训练给幼儿一些直观的印象来培养其兴趣。这一类程序设计以scratch与Micro:bit为代表。是儿童入门编程的基础。
考虑到带屏幕电子产品对儿童视力发育的刺激和影响,在早期的儿童编程教育中,应该尽可能地选择一些无屏类型的产品,一方面通过实物可以提升活动的趣味性并加深印象,另一方面可以避免过度沉迷电子产品带来的负面影响。在这一类产品中,Matatalab的表现令人印象深刻。Matatalab采用和scratch类似的编程块结构来组织程序,既有简单的移动、舞蹈、声音等功能,也有复杂的函数、循环等条件逻辑模块,更有进阶的绘画等扩展模块,基本上可以实现幼儿编程教学的所有功能。用来编程的程序塔和用来执行程序的可移动的玛塔机器人,外观可爱,动作灵活,且具有和乐高兼容的接口,可以最大程度激发儿童的兴趣,做到寓教于乐。
广告Matatalab 智能早教互动学习 steam教育儿童编程机器人淘宝¥1298.00去购买
在年龄更大一些(可能6岁左右比较合适)之后,可以让孩子开始接触一些功能更加强大的实物类编程系统,这其中以bbc(没错,就是那个广播电台出品的)和微软合作的Micro:bit系列少儿教育产品或者乐高出品的支持scratch编程的wedo系列编程机器人为代表,这两者各有特色。乐高系列产品有着乐高自己的一套完整的从入门到高级的训练与竞赛体系,可以让孩子在学习与比赛的同时体验到程序设计的魔力(也为乐高贡献更多的产值),Mico:bit本身则不仅仅是一款儿童玩具,除了图形化的功能之外,还提供了JavaScript和python的文本语言接口,理论上,使用Micro:bit可以直接开发出具备实用功能的智能产品。
我个人对于过早地让孩子以竞技为目的去进行学习与培训不持肯定态度,加上考虑到儿童未来向文本化语言python或者JavaScript方向的转换,我个人推荐使用Micro:bit系列的产品与课程进行学习,但如果家长希望能够让孩子获得长期、持续的系统性教育,或是在不断地竞技中得到锻炼和成长,那么乐高系列的课程应该更加适合。一般来说,等孩子可以掌握基本的英文拼写和计算机使用后,就可以逐渐从图形化编程语言过渡到文本化编程了。 广告Micro:bit入门学习套件传感器编程开发板Python淘宝¥188.00去购买 广告科技积木wedo2.0教具儿童益智拼装编程45300套装淘宝¥599.00去购买
怎样让孩子开始学习编程?
按照由浅入深,由兴趣培养和逻辑思维逐渐过渡到图形化和文本化的编程过程,按部就班让孩子逐步深入,基本上就可以完成孩子程序设计的技能培训。个人认为,和其他所有技能一样,在这个过程中,寓教于乐和兴趣与思维方式的培养,可能要超过技能本身。另一方面,对家长来说,可能遇到的困惑和障碍,是如何选择课程和培训机构,不得不承认,由于程序设计课程出现的更晚,行业更为不成熟,而一个程序设计老师的水平往往又不像美术或者音乐老师那样可以直观(作为看热闹的外行)感觉出来,因此培训机构往往更加良莠不齐,让人难以抉择。这种情况下,一个较为妥帖的选择仍然是挑选更大型规范的机构,例如类似乐高认证机构之类,或者货比三家,通过自己和孩子在不同机构之间的试听课程进行对比。然而,这里更推荐的一个方法,是和孩子一起进入程序的世界,如果家长本身从事程序设计相关行业,当然能给予孩子更多有效的支持和指导,而如果自己对程序设计这一无处不在的技术一无所知,更应该和孩子一起进行学习和了解,这样既能对课程本身有更多认识,也能在这一过程中与孩子进行更多的互动和交流。
儿童教育,从一定程度上,也是对家长自身的教育,给了父母一次从孩子视角重新认识世界的机会,和孩子一起走进程序设计的世界,既可以让自己在日复一日的生活中对生活保持一份新鲜感和好奇心,也可以给予孩子更多的陪伴与爱,我想,无论对家长还是孩子来说,这都比任何具体的知识或者技能更有价值。


