近年来,AI的热潮席卷全球,人机大战的噱头此起彼伏,一会围棋、一会国际象棋,更有网友提出搞个人机麻将对决,定能打败阿狗、阿猫。儿童教育产业也是抓住了这个机会,进行大肆宣传,把编程语言更是说成了第二母语,是未来必须掌握的技能。对于AI的重要性,不可厚非,对于小朋友学习编程带来的益处,也不言而喻,但在我看来,在选择少儿学编程的时候,应该先弄明白几件事。
一、电脑不用学
在邓爷爷关于“计算机的普及要从娃娃抓起”的号召下,我在上个世纪80年代末,开始接触了计算机,当时个人计算机的兴起,不亚于如今的AI浪潮。学校均已开设电脑课为荣,家庭纷纷购置电脑,因电脑价格的昂贵,被作为一个重要的家电放在显眼的位置。学校又教什么课呢?在我记忆中,就是学习打字、下面一个小手上面很多字母,打对了就移动一格,小朋友们个个都是练的一指禅。后期又学了些BASIC语言,能在老师的指导下处理简单的四则运算,到了90年代,基本上都是要求学五笔输入,背字根、以及做点简单的动画或图片。到了后来,QQ的普及,让全国的打字培训班一夜倒闭,电脑游戏的普及,让70后、80后成为了大家心目中的电脑高手。
我想大部分家长的经历应该和我一样,总结一句话,电脑其实就是一个家电,一种工具。以现在小朋友的智慧,我估计都不用教。
二、编程语言学习要谨慎
编程,顾名思义就是编写程序,而程序是依据计算机语言构成的。计算机语言分为机器语言、汇编语言、高级语言几类,前两种,专业搞计算机的人,都不一定会接触。而高级语言,根据不完全统计就有上百种之多。目前,大部分少儿编程培训机构,主要推荐的是两种,一个是scrach、一个是python。
Scratch是一款由麻省理工学院(MIT) 设计开发的少儿编程工具。其特点是:使用者可以不认识英文单词,也可以不使用键盘,就可以进行编程。构成程序的命令和参数通过积木形状的模块来实现。用鼠标拖动指令模块到脚本区就可以了。
Python发明于1989年,第一个公开发行版本于1991年,是一种面向对象的解释型编程语言。Python具有丰富的和强大的库,就是现成的已经写好的优秀的程序集,你可以随便使用,不用重复造轮子,经常被称为胶水语言,能够把其他编程语言的模块轻松的粘合在一起。
看了介绍,是不是感觉很心动,是不是觉得小朋友就可以搞懂了。其实不然,Scratch的界面亲和力强,小朋友上手快,但是与主流编程平台的思维方式相差太远。小朋友最多可以通过Scratch体会一种编程的快乐而已,在以后的深入学习过程中,仍要从头来过,可借鉴的经验较少。
Python先阶段属于编程语言的第一阵营,有句叫“人生苦短,我学Python”,非常形象地描述了Python的特点,开源库多,拿来就用,非常方便。但对于小朋友而言,最关键的不是记住Python的语法和关键字,而是能够理解这么多花样繁杂的库文件,这些库文件是干什么用的。如果小朋友花很长时间搞懂了几个库,能够书写一些代码,估计也是血的代价。
对低龄儿童而言,学习编程语言,有两大障碍:一是不具备基本能力,二是不具备抽象思维。
不具备基本能力主要讲的是不具备认字与计算能力,编程语言都有一套属于自己的语法体系,若不能记忆和灵活使用,就只能照着书本打字。低龄儿童尚未掌握一定的数学知识,尚不能在作业本上进行演算,就要上计算机去实现算法。我觉得有点拔苗助长的味道。而且计算思维与数学思维,本来就是两个概念。举个简单的例子:数学家高斯小时候发现1加到100的故事很多小朋友都听过,高斯很厉害自己推导了一个公式,经过公式计算获得了结果。但是如果用计算思维来考虑这个问题,最简单的方法,就是让计算机自己从1加到100。两种方式虽然都会得出一样的结果,确是不同的思维模式二,造成少儿概念上的混淆。
再说抽象思维, 抽象思维作为一种重要的思维类型,具有概括性、间接性、超然性的特点,是在分析事物时抽取事物最本质的特性而形成概念,并运用概念进行推理、判断的思维活动。少儿都是从形象思维转化到抽象思维的,少儿形象思维的概念尚未形成,就要一步跨域到抽象思维,真是很难。
三、是不是要报培训班
首先,要说一下师资的问题,国家尚没有统一的少儿编程教育资格证书,从事少儿编程教育的老师,一部分是相关专业的毕业生,具备专业知识,但不具备少儿教学经验。另一部分是教其他内容的老师,转行业搞少儿编程,他们又很难真真给小朋友开阔视野,培养逻辑思维能力。其次,费用问题。我是不反对少儿学编程的,但如果要让我一堂45分钟的课掏上百元,我觉得真的意义不大。少儿的基础条件还没有发展到这一步,即使上再多的课,学到的东西也很少,简言之,性价比不高。再次,如果为了效果,长时间让小朋友坐在哪里研究少儿编程,对小朋友的身体是有伤害的,也是泯灭了小孩好动的天性。
少儿编程学不学,我的建议还是学,但不要盲目报培训班,要根据自己孩子的能力加以考虑,既要让孩子体验赛博世界的乐趣,又不要让他们形成负担。