我们知道,现在小学生增加了人工智能课程,人工智能课程就要考虑学习编程。其实编程对于小学生来说是有难度的,为了上学校家长就会给孩子报编程班,那小学生要怎样学编程?
宁波慈溪的一位妈妈给我发来长长的语音,讲述她的困惑。
因为当地小学民办学校是看信息奥赛成绩的,为了让女儿能在小学中脱颖而出,这位妈妈给没学过编程的女儿报了Pascal培训班,但是学了整整两个学期,女儿也没真正入门编程,几乎什么也没学懂。加上线下培训机构的教育系统和水平层次不齐,现在找不到好的老师和机构,青黄不接,孩子的兴趣也磨灭了。
这样的案例还不止一个。很多家长都因为孩子学编程语言没效果,转而咨询我,看看Scratch能不能让孩子入门编程。这其中有已经学了C/C++、Pascal的孩子,还有学了我都没听说过的GOC语言。你看,光是现在孩子学的编程语言,就已经那么多选择了,不懂的家长确实头大了。
对于没有基础的孩子来说,不论较后的目标是信息奥赛,还是只是想培养孩子的编程兴趣、锻炼逻辑思维,都应该先从培养兴趣入手,再慢慢过渡到代码语言。
一张图看懂孩子编程学习路径
开始学习编程前,先得为孩子选择好适合的编程内容。这里,我先给大家列一张少儿编程路径参考图,来对标孩子的编程学习过程。
其中,蓝底框的编程软件是可视化积木式编程,白底框是代码语言编程,标了小红旗的是闯关类游戏编程。
一般来说,还不识字的小朋友可以先在平板上玩一玩Scratch Jr,上了小学可以学习Scratch。随着孩子年龄的增长,以及编程、数学等知识的积累,进入初中后,可以根据孩子的兴趣和发展方向继续选择学Python、Java、C/C++等代码语言。
在平板上玩的Scratch Jr
而对于小学阶段,没有过编程基础的孩子,我们分享通过学习Scratch来入门编程。Scratch很直观,让孩子一上手就能做出一个完整的作品,容易培养孩子对编程学习的兴趣。兴趣是较好的老师,有了兴趣,继续学下去才有可能。
Scratch与其他代码语言有什么不同?
出于、学校开课等原因,也有一些孩子已经接触过代码语言了,我归结了一下,主要有:GoC语言、C/C++、Pascal、Python这几种。
那么,Scratch跟它们到底有什么不同?可以看看这张图。
Scratch虽然是积木编程软件,但它的编程逻辑与编程语言都是相通的,但是不用像代码语言一样去学习语法,把孩子从死记硬背语法和符号中解放了出来。
而且,Scratch就能做出好玩的小动画和小游戏,编程语言可能学了很久,都无法做出一成型的作品。
美国NASA用Scratch培养程序员!
也正因为Scratch的学习门槛低,学习空间又很大,它已经被许多大公司、政府拿来作为对员工进行编程培训的神器。
#p#副标题#e#
在美国,的程序员越来越难招到。在人员不足的压力之下,NASA脑洞大开,提出了“Scratch探险者计划”,保安大叔、食堂阿姨...统统招过来学习Scratch,多名毫无编程基础的人员短暂培训后,竟然可以直接为太空站项目编写代码!
NASA的“Scratch探险者计划”进行中
Scratch有多容易上手呢?前几天开班的基础差班,有些孩子甚至是第一次摸鼠标,看电脑,但很快就做出了作品,还玩得入迷。
不仅如此,由于Scratch的趣味性,还大大激发了孩子们自己探索的兴趣,培养了自主学习的能力。有家长笑称自己都跟不上娃的节奏了。
图形化编程和编程语言的差别到底有多大?看看它们的界面就知道了,复杂的编程语言就连许多大人也都Hold不住。
语法已经相对简单的Python,脚本依然繁杂
Scratch的脚本区
Scratch的适用范围很广。愤怒的小鸟、桌面弹球、捕鱼达人等火爆的游戏都能用它做出来。
第一期初级班学员用Scratch做的捕鱼游戏
Scratch入门后,工程语言so easy!
简单来讲,对于编程入门学习, Scratch是以培养孩子编程兴趣为主,孩子学了很快就能明白编程可以做什么事情,以及自己对这个领域有没有兴趣。
我也一直提倡,不是每个孩子都适合学习工程语言,但是这个时代,孩子们都应该掌握一些编程思维和计算机知识,培养良好的逻辑能力。出于这个目的,Scratch作为较好的编程入门神器,足够了。
而像C/C++、Python这种工程语言,一般学生学了都是以竞赛为方向。的确,据我了解,在宁波、嘉兴、等地区,信息学奥赛在小学中还是有不小的分量,孩子在这方面有成绩的话,编程能成为他们进入学校的一块敲门砖。
不过即便是要以竞赛或者为方向,也较好从Scratch开始培养孩子对编程的兴趣,不然孩子没兴趣,硬着头学也学不下去。
NASA的保安大叔学完Scratch都能直接去为太空站写代码,我们的孩子从Scratch过渡到工程语言的学习上时,也会发现:
由于编程思维都是相通的,通过Scratch,自己对于编程中的基础概念和结构,如循环、侦测、判断、执行、重复执行等都已经能熟练应用了,学习工程语言就会得多。
至于后续要选择哪种工程语言学习,先考虑孩子的兴趣,再考虑当地竞赛使用的编程语言,比如宁波、嘉兴还在用Pascal,在用C/C++了等。没需要都系统地学一遍,选择一种就好。