疫情期间,在线教育一夜爆红,学习编程语言也成为了热门话题。不少B站上的编程教学视频被重新翻出来,众多博主中,一个“小老师”名叫“vita君”,竟然是个10后的上海小学生,可以说是全网最年轻的编程教学博主了。看到“vita君”,除了感慨“长江后浪推前浪”的同时,我们也意识到,随着AI近几年的大火,编程作为AI的核心基础技能,其教育已经呈现出越来越“低龄化”的趋势,对编程教育“抓早抓小”也成为许多家长的共识。 什么是少儿编程呢?编程体现的是一种抽象逻辑思维能力。根据教育认知学的理论,孩子一般会在7岁左右开始形成抽象逻辑思维,10岁左右是抽象逻辑思维的最佳形成期,所以学编程的最佳时机是小学。另外,这个阶段的孩子课业负担也不重,逻辑思维也快,正好可以很好的掌握这样一门技能。以倡导游戏化学习的编程平台腾讯扣叮为例,扣叮平台上的不少游戏作品素材正是来源于腾讯自家的游戏,这也正是腾讯扣叮在编程教育中的优势所在。
比如扣叮以腾讯经典游戏QQ飞车作为载体开发的这款赛车小游戏,小朋友用10分钟时间,简单的20行代码,就可以自己创作一辆跑车和人物,控制车辆在跑道上飞驰,反馈路径短,成就感和趣味性都很高。这类游戏化编程教育将编程语言的基础概念融入游戏关卡内,学习者通过输入代码指令来引导角色过关,可以说是零门槛入手。对于孩子来说,其切身体验是在制作一款赛车游戏,整个过程中却又无形的融入了编程知识、逻辑思维、数学应用、艺术审美、解决问题的思路。随着孩子兴趣的增加,再根据关卡的进展不断加大难度,而游戏的过程中,孩子的编程知识也得到逐步扩展。再比如Hopsch,中文名叫跳房子,也是一款兼容IOS和Android的免费APP。孩子们编写自己控制字符的代码,使用应用程序代码块进行编程设计。这款应用程序基于字符的设计使它有别于其他应用程序,孩子们也可以在他们的程序中添加文本。再加上各种各样的机器人、编程比赛,机器人、编程考级,课程体系之健全,简直可以让孩子从3岁起学到20岁。
通过编程学习,可以培养孩子的逻辑能力、创造力以及语言表达能力和解决问题能力,并且通过编程的学习,可以孩子进行学科融合式的知识学习,打破学科壁垒,让知识学为所用,融会贯通。更重要的是,编程还能让爱玩游戏爱看动画片的孩子减少对电子产品的沉迷,让他们在电脑上做更多有意义有创造性的事情。所以,越来越多的家长愿意让孩子从小学习编程。
这种寓教于乐的形式改变了传统的语言学习形式,更容易被孩子接受和喜爱。
实际上,网上有大量培训机构宣称,目前的少儿亟须“编程教育提前”,理由是以前条件不够,导致很多人的编程才能被埋没,但现在电脑普及了,从少儿时代开始学编程,可以让更多“小比尔·盖茨”涌现。
在一些培训机构的介绍文章中,编程被塑造成一种“通向未来”的语言,因为“乔布斯11岁开始编程,成了一代传奇;比尔·盖茨13岁开始编程,31岁成为世界首富。不懂编程就是新时代的文盲”。
“客观上讲,随着互联网向生活各个层面逐渐深入,编程的确变得越来越重要,但并不是每个人都需要学会写具体的程序。目前国内的编程培训工具大都采用一款叫做Scratch的软件,这是一款由麻省理工学院设计开发的一款面向少年的简易编程工具,其本质上不是教孩子学会某种编写语言,而是告诉孩子利用类似程序的逻辑关系,获得独立解决问题的能力和逻辑思维能力这一行业其实门槛非常低,据不完全统计,广州单做机器人教育的‘小作坊’就有3800多家。”广州海客智能机器人课程创始人李铿坦言,最简便的小作坊,只需要到网上买一套课程解码,找几个老师租一套房子,摆几个机器人,就可以营业。目前,市场对机器人教育了解不多,很多家长也不知道该如何选择,被忽悠的。适宜儿童智力特征的趣味性是其第一原则。这样一来,有趣的少儿编程内容就成了“居间的事物”,应该“通过使学生了解存在的联系,从而使材料有兴趣”,而不是“通过外部的和人为的诱因使材料有兴趣”。如果少儿编程内容过于强调趣味性,就会淡化编程教育的真实目的;如果为了使少儿编程居间于儿童与编程思维或计算思维之间,就容易强行“把某种富有魅力的特征加到本来不感兴趣的教材,用快乐行贿,引诱儿童注意和努力”。“少儿编程到底算不算编程”是有争议的,有部分家长及教师认为Scratch等少儿编程工具太简单太小儿科了。这种质疑的背后是对少儿编程培训内容严肃性的考问。此为少儿编程培训所遭遇的内容合理性困境。有人认为生活中编程思维的运用随处可见,比如整理明天上学的书包:分解(拆解问题)——看课程表,取出今天的书、放入明天的书。模式识别(观察规律、趋势)——发现今天和明天上的课有些是重复的。抽象(建立自己的模式)——书包里保留今明两天重复上课的书,只取出明天不上课的书,放入明天上课的书。算法(设计步骤解决问题)——判断今明两天是否有重复的课,如果没有,取出今天所有的书,放入明天上课的书;如果有,保留重复课书本,取出明天用的书本,再放入其他明天上课用书。这些在科学话语限制下的种种表达使得少儿编程的培训、编程思维的学习显得既“生活化”又“科学化”,但如果将生活中的简单常识问题如此程式化、复杂化,难道不是一种自我束缚,不会摧残孩子的想象力吗?
编程确实有不少产品、课程适合低龄儿童,但如果希望孩子真正掌握编程语言,即便是scratch这样的图形化编程语言,也需要孩子具备较成熟的逻辑理解能力。一般来说,起点是6岁至7岁。”曾鹏轩说,会编程的工程师不会教孩子,懂孩子会教育的人又不懂编程,“如果从这个角度来说,少儿编程领域的老师资源非常紧缺,能力也参差不齐
让孩子直接学习目前流行的Java、C/C++等由字母代码组成的程序语言确实没有太大意义,毕竟作为工具的编程语言不断更迭是必然现象,若干年后它们将会被新的语法结构及规则所替代。因此,编程教育将重心放在了形式训练上,倡导“编程化学习”,强调代码字符和程序语法背后的核心素养,这是超越工具语言学习的“术”而应去追求的“道”。
编程教育首先是教育。课程体系是编程教育的核心内容,是保证其健康发展的根本。没有持续性、体系化的课程,都算不上少儿编程教育。目前我国少儿编程培训市场火热,但规范性不足,尚未形成科学的课程体系和培训理念,课程设置良莠不齐,未形成基于教育科学理论的相对统一的标准,甚至存在虚假宣传、违反广告法的情况。课程体系的混乱还表现在师资短板上,培训市场并无行业资质标准,从业者大多只具备信息科学的专业性而不具备教育性。
其中一个现象便是,红杉、经纬、软银、华创、真格、紫辉等一线风投均有所动作。而近期也不断传来少儿编程创业公司的融资喜讯。显然,资本已经先行一步,在少儿编程赛道上疯狂播种,押注这个市场大小尚不明确的新赛道。而根据可搜索的公开信息,目前此行业创业公司总数已超过200家。
但是,有专家认为,目前少儿编程教育行业存在门槛低、师资不足、教材稀缺等诸多问题。
对编程思维的理解及定位不清晰首先影响了课程目标的聚焦,进而使课程体系及培训理念陷入混乱。一些培训机构认为孩子满7岁便处于具体运算阶段,可以通过可视化图形编程,以“积木”搭建的形式培养孩子编程思维。从教育学视角来看,这一学习过程需要以孩子的抽象思维能力为基础;但是同样根据认知发展理论,7-12岁的孩子并不具备抽象思维。理念矛盾的背后还揭示了少儿编程教育适宜年龄的问题,培训市场的鼓吹趋向少儿编程低龄化,已经扩展到了3-5岁群体,不得不说这种资本绑架教育的行为极不利于编程教育的长远发展。
在我的实践领域,或者是我听到的,一些程序员爸爸不想让孩子学编程的理由是,不想让孩子将来也当“码农”。爱子之心可以理解,但如果是“不想当码农”作为“不让孩子学编程”的原因,那么“中年职场危机”一定是你的,没错!视野堪忧。要想想,在大学毕业后从事的职业领域里,除了当初的金融业,哪一个收入水平可以与“码农”匹敌。干一行恨一行是人之常情,任何职业领域里都有难以为外人道的辛苦,任何领域都是基层占多数,多数基层人士都会觉得自己收入少。
很多机构打着机器人社团等名义实质便于校外招生;很多机构理念说得很好听,但实际建设内容很匮乏(拜托,不是玩了几天乐高就是创客,就学会人工智能了);机构为了招生,“创客”流行的时候便用“创客”,“机器人”火爆的时候就是“机器人教育”,“少儿编程”站上风口了便又都是少儿编程了,反正家长都不懂……
少儿编程领域的确存在着很多问题,那么孩子要不要学?如果你只想让孩子学K12语数外,因为这个最牢靠、对分数最有保障,那么算我没说。如果您已经对国家的人工智能、智能制造等政策有所了解,我想问:你想等这个培训体系捋顺了再让孩子学?我记得高中时候读名著《飘》男主白瑞德有段话令我印象最深刻,大概意思是“在两种情况下人们可以有机会获得巨大利益:一种是国家新建时,一种是国家倾覆时”。所以,你明白的,一旦稳定下来,对我们普通人、普娃来说就没什么机会了,你敢跟海淀小朋友比奥数吗?在目前来说,信息学还是一个难度比奥数低、机会更多的学科。还有一句话,当你的孩子长大,信息学又是另一套玩法了,各年龄阶段有着各自与其能力相适应的学习内容和比赛,但不变的是,任何的努力都会变成实力。
还有人会说,搞奥赛也不是人人都能有机会的,“STEAM”看着也虚头巴脑的,少儿编程对于孩子的发展,核心作用是什么?我以我经济学和社会学本底专业,在大社科类职业晃荡了十几年的经历告诉你——撇开那些看着有点虚头巴脑的艺术方面提升(当然学艺术的肯定看不上我这样的“市侩”,儿童教育学家也会狠狠地批评我这些才真正会提升孩子们的兴趣),思维和算法才是少儿编程中的真正精髓。学编程最大的好处是对人的思维完整性和逻辑性进行训练的过程,而在这个过程中我们可以培养一种新的看待问题和处理问题的方式,培养创新性设想,提高系统思维、层次思维和发散思维——在我以后的文章中,我会逐渐分享体现这些思维的教学案例。
家长为孩子选择少儿编程课程,要给孩子弄明白到底学什么?我说过少儿编程培训现在有的机构会宣传,我什么都有,我有信息学启蒙教育,我有奥赛,我有创客教育,我有机器人,我有航模……多多少少都与编程搭点关系,但实际上,每一个领域都有非常具体、庞大的内容,也有自己倾向的内容。所以家长是要帮助孩子甄别选择的,你的孩子的个性和长处是适合学习哪一方面的,是先笼统学呢,还是就偏向某一方面学。所以,仅仅是少儿编程的软件编程领域就有——Scratch(图形化编程)、Python和C语言(或C++),这里面又同样包含着巨大的信息量。我说说我比较熟悉的Scratch领域,Scratch(图形化编程)又被称作是软件编程的预备级。多大孩子可以学呢?比较多的是说8-16岁。先说说年龄大的这一端,有些程序员家庭或是比较性急的家长会说,Scratch是小孩子学的,直接学C呀,那么懂行的家长就会啐你一脸了——学Scratch才能调动兴趣,打好算法基础!!多小孩子能学呢?欧美一些国家,幼儿园就在推着学Scratch了(原来我也觉得应该过了小学一年级上学期,会了拼音——直接影响打字,思维能力发育到一定水平学会比较合适。不过,最近我又在看两本新入手的书,发现被打脸了,幼儿园孩子有适合幼儿园孩子的启蒙内容和主题,想一想也是,不同年龄的学习目标是不同的)。所以,我认为,少儿编程培训市场还是需要分化的。幼儿园有幼儿园孩子的教法,小学一二年级有小学一二年级的教法,三四年级又是另外一档,五六年级得本着衔接初中信息技术学习做准备了。所以,家长给孩子选择培训机构,应该要重视学习内容,明白自己这一年龄和学力的孩子要学什么。
在一堂编程课上了解到少儿编程培训的过程:如学生在制作一个小动画时,由老师演示拆分任务、学生根据提示拖拽模块就能完成一个动画效果。同时,机器人的课程也充满趣味,让同学们脑洞大开。比如我们的学员会自己设计一个‘嗑瓜子’机器人,一边吐出瓜子壳,一边吐出瓜子仁;还有的学员爸爸是做生意的,他设计了一个发名片机器人,会自动吐出名片或宣传单;有的学员对老的饮水机进行改造,变成感应式接水……”
scratch这个领域真是百花齐放啊,有的偏重语法,有的偏重兴趣,有点偏重游戏,有的偏重数学,有的偏重炫技等。作为个人玩没问题,但是作为学校、机构应该有自己的课程理念和体系,尤其是贯穿STEAM教育理念。同时,一些编程培训机构还有过度游戏化的倾向,我毫不客气地说,他们就是为了吸引孩子报班!游戏可以作为编程的手段,但不是编程的目的!用编程包装的游戏,本质依然是游戏。
大型编程机构还有一个问题是无法做到个性化。因为制作一套专属于自己机构自主知识产权、风格一致的产品成本太高了,只有大撒网、覆盖越多的人群越好,所以1年级的孩子学这一套,六年级的孩子也学这套,一年级的孩子说太难了,六年级的孩子说太简单、更新太慢了,而家长朋友们,擦亮你们的眼睛,如果要选择机构,我建议你们问他们要一份教学计划和大纲看看!!