作者丨小石头
来源丨小石头侃升学
(ID:xiaoshitoushengxue)
“少儿编程”四个字,今天已经成为家长们唯恐避之不及的对象。
只有带有这四个字的文章,90%是广告,还有9%是软文。剩下的1%,讲的也都是一些大而空泛的东西,对家长们作用不大。
今天小石头尝试呈现给您的,是一个从家长角度出发、非广告的少儿编程科普,到底要不要学、有什么用?还看下文分解。
和代码说no
一提起编程,大家都会先入为主的冒出两个词:写代码、程序员,其实今天大部分的少儿编程课和代码完全不沾边。
为啥?太难了。
05年左右的时候,某搞超常教育的学校就在探索教小学生写代码,方式是让rhxx最好的几个班的学生学习Visual Basic。每周一节兴趣课,有评分但无实际功效。
感受一下
在当时来讲,VB算是一种比较简单的可视化语言了,拿来给编码初学者入门是一个不错的选择,况且学习者还是“超常儿童”,或许可以逾越年龄的鸿沟?
成果却不那么喜人,最后一节课老师留的作业是做一个“点击小球并且计分”的游戏,最好的那个班只有两位学生做出来了,其中有一位还是程序员爸爸帮忙写的。
这是小石头亲眼所见,由此得出的结论是:代码,并不适合小学年龄段的学生。
据我所知,今天只有海淀中部某重点校搞一点和代码有关的信息学题目,不过也仅仅是在逻辑图里填个空罢了。
vb入门级别题目
那么今天我们说的“少儿编程”是什么?五个字,图形化编程。
国际上有几套流行的面向小学年龄段的图形化编程学习工具,其中最著名的就是Scratch。这个软件是麻省理工学院开发的,目标人群是8岁及以上年龄段孩子,界面也比较卡通。
Scratch编辑界面
micro:bit 逻辑界面
目前国内大多数培训机构用的教学软件,都是scratch。您可别小看了这个软件,国内外已经有不少大牛为此著书立作,国内也时有以scratch为工具的少儿编程比赛举办。
它的主要编程方法是鼠标拖动模块,以事件驱动的形式来实现编程思想,小石头自己摸索着做了一个简单的动画,各位看官可以感受一下。
可以说,这种卡通易懂的表现形式的氛围是有助于儿童接受,再结合寓教于乐的教学方法,孩子们是能从中学习到很多编程的基础知识的。
C语言的if else条件语句对应的“如果 否则”
在国内外热门社区里,有很多小朋友上传了自己制作的小游戏和动画。在发掘编程兴趣方面,scratch及同类教学软件做的不错。
问题
倚仗图形化编程的少儿编程课程看上去很美,也存在诸多问题和误区,可能导致家长的错判。
第一个问题是宣传上的。
很多培训机构在宣传上会过于强调远期收益,却并未讲明白课程与其之间的联系,其逻辑类似于:
学少儿编程能成计算机人才
比如我们看到的宣传材料里,很多都写着:
● 国务院2017年印发《新一代人工智能发展规划》,在中小学内推广编程教育,建设人工智能人才梯队。
● 在未来,不会编程的,都将是文盲。
● 信息学竞赛火热,高考时可以加分或者保送。
真实的逻辑链条是这样的:
我们可以看到,在培训机构宣传的成果“人工智能人才“和所做的事情之间,其实跨越是很大的,想在结果和非常早期的培养之间划等号的宣传都是误导。
尤其是简单的图形化编程到代码型编程之间,要学习计算机科学基础的《数据结构》、《算法》等,每个都是劝退型的教材。
计算机科学丛书系列—算法
即便是最简单的HTML代码,用最简单的Dreamwever来写,也比scratch枯燥的多。
可以说,少儿编程顶多是能挖掘个兴趣,以后真的入门了才发现这门学科的艰深才想放弃也是正常的事。
不学少儿编程能不能做程序员拿高薪?以前有孩子拿小霸王学习机也能写出程序,今有60%以上的程序员都是半路出家,我觉得完全没问题。
少儿编程,就不是个刚需。
第二个问题是业内人士的反应的,课程容量不够大。
scratch这点东西,最多两个学期也就学完了,顶多也就把图形化编程入了个门。接下来学什么?无论是C、java还是python,都是小孩子碰不来的,再找一个同类产品又显得多余。
有没有代码和图形结合一些的,适合小学生编程初期学习的软件?确实有,但是相关课程少之又少,自学需要投入的精力又非常多。
编程自幼至高的体系不够完善,尤其是缺少了入门掌握精通中的“掌握“一项,让少儿编程教育处于了一种不上不下的尴尬境地。
和奥数相比,它的断层有点大。
第三个问题是,收益有限。
如果小孩子真的感兴趣,真的学进去了,对学业能有多少帮助?我们看一个2018年自主招生降分对信息学竞赛的要求,最低是省三。
2018自招对信息学奖项要求(部分)
根据官方给出的数据,去年北京信息学竞赛获奖者,省三52人、省二198人、省一167人,合计417人。也就是说,除了这417人之外的孩子,学的编程对学业基本没有帮助,因为信息学在小升初和初升高阶段完全没有效益。
对于那些自己真能写出个坦克大战一样的小游戏的孩子们,现有的评价体系不够公允,没法把他们和高中突击信息学竞赛的孩子区分开。至于小时候能写出坦克大战对未来编码学习和工作在自身环节有多少帮助,那就见仁见智了。
总的来讲,少儿编程不是一个收益明朗的课余活动。
第四个问题是,教师素质参次不齐。
我这里说的教师素质并非专业素养。应该来讲,在教小学生方面,计算机人才的学识应该是溢出的。
我这里说的是课堂表现力和语言组织能力。根据我试听过的一些免费课程,和网上的公开资源来看,很多从业者这方面能力有限。
比如这个入门课:对这个图标添加一个数据或者是设置,就是语焉不详的表现。其实就这一个小问题如果给孩子讲明白,应该得有个三五分钟左右。大人或许好理解,可少儿编程里”少儿“两字才是应有的着力点。
比如,坐标的意义是什么?是告诉计算机你的对象在屏幕上什么位置的方式,他想不明白上下左右,在他上面就是y轴的坐标大一些……
还有角度,数字的应用,为什么就会呈现出这种效果。你可以让计算机获取一下鼠标的位置,计算机傻傻的,你不把这一步写在给他的步骤里,他就不知道该怎么做……
这才是一个给小朋友讲课应有的语言,您不妨听一听培训机构的公开课,按照这个标准掂量一下有多少老师能基本达标。
当然,我这里说的只是讲课的第一个层次:讲明白。
就现在课外培训的发展来看,你还得“风趣“,会讲几个段子,不然谁来报课?更好的老师,还得会”拔高“,从知识和段子里提炼几个人生的大道理。
以奥数为代表的培训行业,这么些年的发展可不只是停留在深度上的,起码教师的平均水准已经在“风趣一档了“。
与其相比,刚刚起步少儿编程,平铺直叙的低沉嗓音、成人化的语言表述,还有很大的提高空间。
都说未来是一个与机器交互的时代,但99%的人,注定停留在与机器进行“图形化”交互的水平线上。如何把代码包装进简单易懂的图形,是编程的现实价值,这个需求有多大,风口有多久,还需审慎的观察。
刚刚过去的冬天说明了一些问题,写代码总归是一个吃青春饭活计,并不如外界述说的那样风光。程序员尤其是二流程序员,不是太少而是太多了,多少成人培训机构速成式上岗,还挤压了科班出身知识扎实者的薪资空间。
这就是国家层面所谓的“程序员红利”,如果你只能做到二流,那么你只是个低用工成本的统计数字罢了。
所以,今天把少儿编程当个简简单单的兴趣来看是好的,孩子能坐得住深耕其中算是意外收获。不然,指望它对未来能有多大收益,您还是掂量一下程序员这个行业到底还剩几碗饭吃吧。
不解决上述这些问题,少儿编程的存在便如空中楼阁一般,只是一场哄抬起来的肥皂剧。