我是经常给朋友推荐让小孩学Scratch,我自己的小孩也学Scratch已经两年。那么这里就总结一下,我对一些问题的理解。
什么是Scratch?
Scratch是一种积木块的编程语言,Scratch 由麻省理工学院媒体实验室(MIT Media Lab)设计和维护。
确认了一遍
- Scratch 1.0, released on January 8, 2007
- Scratch 1.4 It was officially released on July 2, 2009 ,这是最后一个1.x的版本,
- Scratch 2.0 was released on May 9, 2013
- Scratch 3.0 is launched on January 2, 2019
国内的少儿编程,那么大概起源于2015年,基本都是基于Scratch 2.0来搞的。目前Scratch 3经过1年的更新和迭代,已经完全可以满足教学的需求,国内目前的少儿编程机构,应该都转到Scratch 3上。
Scratch 其实可以分为离线版本和在线版本。
你可以直接使用浏览器,登录官方网站,就可以开始编程,这样本地是不需要安装任何的程序。国内的教学,基本都是离线版本,就是在本地机器安装一下就可以。windows,Mac都支持,不支持Android和ipad。
树莓派的官方号称是可以把Scratch3跑在linux上,也确实可以运行。不过在Scratch 3官方页面上,没看到支持linux端的介绍。
大家可以了解一下就行
ScratchJr released on July 30, 2014,for iPad; an Android version was released in March 2015
ScratchJr 专门针对5到7岁的小孩。在安卓,ipad上来学Scratch。国内很少这方面的资料。
为什么要学 Scratch?
很多编程机构,介绍少儿编程好处,制造焦虑,比赛,AI,逻辑思维,数学提高等等。Maybe
对我来说,让小孩去学编程Scratch,目的和动机,比较简单
- 多一个爱好,可以自己给自己做游戏玩,或者自己可以去修改游戏作弊来玩,也是一种乐趣。
- 减少游戏的依赖,尤其是 ipad 的电子产品
至于能不能提高数学成绩,参加比赛,升学,其实是没考虑的。小学的数学,基本是靠练习,和逻辑没啥关系,至少我的理解,是这样。整天if or,提高逻辑思维,应该肯定的。
要学多久Scratch?
国内的培训机构,一般学习周期是:半年,1年,2年。大概是一周一节课。
我儿子参加了少儿编程的机构的全部Scratch课程,按照培训机构的课程设计,那么就算是基本学完了。那么到底是一个什么水平呢?
2年的时间,大概是100个课时的老师上课,自己投入100个小时来学习。那么可以说基本是入门了。
其实Scratch远比我们想象中强大,在官方网站,很多培训机构都在用Scratch开发各种游戏,80,90年代玩的游戏,基本都可以用Scratch来实现。而且做的效果真的很好。
Scratch可以作为小孩的一个爱好,一直玩下去。上完培训班的课程,其实可以去 http://scratch.mit.edu/ 官方网站,好好学习一下,全部的游戏,都是开源的,可以直接看到代码编辑。
https://scratch.mit.edu/projects/10128407/
这个游戏应该是Scratch官网最牛的游戏。大家可以去玩玩,体会一下,Scratch可以做啥,3D的游戏,都可以做。
经过了2年的学习,你就可以看得懂那些游戏是怎么做的,可以自己想法做,可以修改。很多乐趣。油管上,也有大量类似Scratch教程。
有2年的时间,让老师带入门,后续你就可以自己慢慢玩了。
Scratch PK Python
这是一个老生常谈的问题,因为假期,我最近也在家里陪小孩听Scratch课程,我自己也网上听 Python 课程。不瞒你说,Python的入门的课程,不少内容,其实Scratch都是涉及的。
数学函数,变量,逻辑运算符,这些其实任何语言都是差不多的,没有所谓的python比Scratch更加高级的说法。也没有什么是Python可以做到,Scratch无法做到的,这句话是对小孩说的,在他们用来做游戏里。
如果你把Scratch理解好,那么对于Python的相同的概念,你就会觉得比较轻松。如果没接触过Scratch,那么就费劲一点。
所以少儿编程,并不是一定要从Scratch起步,可以所谓一步到位,学Python。但是就看你的目的是啥?
如果培训机构的老师的格局,就是Python比Scratch强多少,可以干啥干啥,这真的是大问题。
Python的学习年龄,10岁以上比较好。对于小孩来说,1岁的差异是很大很大的。
培训机构出于自身的利益,吹python 多厉害,建议小孩马上去学python。给家长讲人工智能。都是在制造焦虑。我们还是让小孩在编程中找到乐趣,没必要太强的功利。
少儿编程的第一门编程语言,还是应该Scratch。个人观点。不管你的年龄,6岁到16岁。
适合年龄段
八岁以上,比较适合学习。初中,高中,都可以学习。
年龄大的小孩,12岁以上,理解起来,其实比8岁快很多。需要的时间会短很多的。
上初中,理解Scratch 里面的函数,递归,应该更加深入。
上课形式
其实这点对我来说,是最关键。
目前编程的上课,大概3种方式
- 直播,线上课堂,一般最多6,8个小孩。
- 录播,1对n,老师帮忙课后答疑
- 线下培训班
我的答案,直播是最好的。编程,如果直播,都是小班,几个小孩,可以充分发挥孩子的天性,提问。
小孩在学校,其实是很难很难有机会提问,回答问题。那么这种线上直播的编程课程,就可以很好的弥补。我小孩上课2年,都是非常享受这个课程。
这个和英语的直播课程不一样,编程直播,人数其实很难超过8人。这也是直播价值,学生互动,解答疑问。
线下培训的问题,就是老师的水平,成本的问题,基本上是不可行的。
少儿编程,最近半年,日子很难过,几个头部的标杆,都纷纷倒下。其实也就印证了追求规模的方式,很难持续。动不动就说培训几十万的小孩。
直播的模式,对于管理者要求比较高,招生和老师招聘,培训,控制成本,都是非常
推荐机构
我一般的风格是,好的我会推荐,不好的,我就不说,也不想砸人家饭碗。
其实大家去少儿编程官网,老师介绍都很牛。但是经常给你上课的时候,给你回答问题的老师,就不一样的。
启蒙的老师,见识真的要广才行。
我的选择:小麦编程。微信搜索公众号就可以。
小麦编程是采用直播方式,关于老师的水平,大家可以去看看,一不小心,就是一个博士给你小孩上课,估计也是第一个博士,直接给你小孩上课。我小孩上课的老师,就是一位北航的计算机博士,一直教了小孩2年。
博士给小学生教编程,格局是完全不一样的。
很多家长看到小孩参加试听课,做出来的作品非常炫,感觉老师很厉害,很容易给迷惑住,看培训机构的公众号的作品,更是吓人。
让小孩学编程,不是让他做出多炫耀的游戏,作品,而是让他理解编程的思路,掌握算法。如果只会step by step,照做,是没啥意义的。