少儿编程该不该学?怎么学?
01
编程是什么?
市面上有哪些课程?
专业一点讲,编程是一个人类与计算机独立交互的一种方式。打个通俗一点的比方,编程就是跟计算机说话,让计算机可以听懂你的“指挥”,去做你想让它做的“事情”。
根据是否使用到硬件,我们可以大致把市面上的编程课程分为两大类:
第一种是我们常听说的机器人编程。启蒙阶段会接触到传动装置,基础传感器等。小朋友虽然对时序、循环等有了一定基本的概念,但总体来说学习的进度比较缓慢,价格较高,性价比不高。
第二种是纯软件编程课程。启蒙主要是包括以Scratch为代表的图形化编程语言,以及后续进阶的Python,C/C++,Java等开放语言。总体来说,这些纯软件编程平台往往走线上教学居多,AI课程研发体系相对比较成熟,性价比相对线下课程要高一些。
02
什么样的孩子
适合学编程?
大概了解了编程课程,那是不是所有人都适合学呢?很可惜,并不是。
对于社会上的成年人来说,成为一个优秀的计算机程序员,必须具有比较突出的逻辑思维能力,也注定了编程并不适合所有人。但是回到孩子的启蒙上,考虑到认知天花板的存在以及抽象思维能力发育的个体化差异,我们很难在低龄阶段就下结论孩子是否适合学习编程,只能说编程是一个可以试错,但非必要的学习科目。
如果小朋友的逻辑思维能力比较强,那么可以尝试让他学习编程,但是如果暂时不那么感冒,也不要强求。
逻辑思维能力的发展,个体差异是比较大的,但无疑会随着年龄和认知的增长而逐渐增强,有些孩子一年前学个十以内加减法几个月都费劲,但过一年,孩子十分钟就一点就通了。低龄的编程启蒙,更应该是一个比较轻松的试错的过程,不宜操之过急,适度播下兴趣的种子就可以,把评判留给将来。
03
同年龄段
编程怎么学?
学龄前:
坦率讲,从一般的认知发展水平来看,学龄前孩子的思维抽象能力还有限,需要借助课程老师或者家长帮助,才能完成像样的作品,充其量是培养一点编程的兴趣。如果孩子已经时间非常紧张,把它当做一个科目来学,并且投入大量的时间和金钱的话,并不是那么划算。那么不妨从学习积木拼搭和玩益智桌游开始做起,能够锻炼空间构造能力,提高专注力,还能从不同维度锻炼空间想象、抽象、逻辑思维等能力。
小学低年级:
这个年龄段的孩子是往往还不太能把具体问题抽象成数据模型的,尝试学习的时候只能先接触以Scratch为代表的图形化编程语言,还需要借助一些直观的教具,视频或者小游戏来帮助他理解各个指令的效果。
这个阶段的学习目标,主要是借助图形化语言,掌握一些基本概念,绝大多数小朋友的学习效率和速度都会比较缓慢。如果已经提前开始学,家长千万不能急于求成,要放下功利心,提前学编程,远远不等于可以抢跑很多。
小学高年级:
这个时间段,其实也是符合孩子的普遍认知发展水平和教育部的指导方针的。三四年级开始学习图形化编程的话,按照每周一到两个课时的安排,往往一年左右时间就可以基本掌握类似于scratch的编程语言,天赋特别高的,也可以买书自学。
如果小朋友到初中以后才接触编程的话,由于抽象能力,逻辑思维能力已具雏形,所以,可以不必要从图形化编程开始学起,Python、C、C++都是可以尝试的语言,但是市面上成熟的计算机编程语言相对图形化编程来讲,会比较枯燥,也对英语水平有一定的要求,前期兴趣积累不够的小朋友就可能因为畏难而坚持不下去。
04
如何选择
编程语言?
选择哪种编程语言或者说平台作为启蒙,很大程度上取决于小朋友的年龄。逻辑思维的底子好,就算初中再接触编程,直接从C++开始学也无妨,并不需要倒回去把低幼启蒙的图形化编程再去走一遍。
目前比较常见的编程语言无非以下几种主流:
c++ 竞赛专用,效率高但规则复杂——适合已经确认比较有编程天赋加逻辑基础的,一般初中起步。
python 略抽象,适合有简单编程逻辑基础——适合小学高年级,具有一定抽象能力时可以尝试。
scratch 为代表的图形化界面,适合低幼,操作简单,功能弱——适合编程启蒙,小学中低年级可以尝试起步。