小码农

趣味编程-面向每个人的创意编程

什么是Scratch

 

Scratch是麻省理工学院专门为青少年儿童开发的一款简易图形化编程工具。发布于2007年。是积木式、拖拽式编程语言。不像传统编程语言一样需要输入英文字母即可编程。

 

 

02


Scratch有哪些版本

 

Scratch有三个大的版本,1.4版,2.0版,3.0版

1.4版本:用Smalltalk开发。(我也不知道这是个什么东西)。生成文件后缀名为sb

2.0版本:用Flash及ActionScript。(Flash是一个多媒体软件平台,在世纪初的时候非常火爆,都用来做小游戏和小动画,随着技术的发展,现在有很多局限性。ActionScript是Flash平台下的脚本语言,主要用于实现功能)。生成文件后缀名为sb2

3.0版本:用H5及JavaScript开发,H5用于界面制作,JavaScript用于功能开发。现在有一些少儿编程机构也会教JavaScript。生成文件后缀名为sb3

说明1:Scratch软件是用Smalltalk、Flash、ActionScript、H5、JavaScript开发的。并不是孩子要用这些语言开发,孩子就是用Scratch里的脚本语言开发。

说明2:上面三个版本是统称,并不是某一个版本,比如:3.5版本,3.18版本,3.21版本统称3.0版本。

说明3:Scratch只能安装在电脑上,不能在手机上使用。

点击链接,下载各版本Scratch软件(包括1.4、2.0、3.0及mac版)

Scratch软件免费下载

 

 

 

03


Scratch的设计思路

 

简单!!!非常简单!!!为了让儿童能快速上手,Scratch设计得超级简单。菜单栏设计得非常简洁,只有语言、文件、编辑三个选项。对于儿童来说,可以非常方便的上手学习,对于成年人来说,很多功能一看便知。

传统编程语言配置环境,安装插件就得几个小时。Scratch直接下一步、下一步,会用电脑的就会安装Scratch。

Scratch界面支持中文、英文等几十种语言。

 

 

04


Scratch模块

 

Scratch一共有九个模块:运动、外观、声音、事件、控制、侦测、运算、变量、自制积木,包含了绝大多数传统编程语言拥有的代码。可以做出功能非常丰富的产品。

 

 

05

Scratch扩展

 

音乐、画笔、视频侦测、文字朗读、翻译、Makey Makey、micro:bit、LEGO MINDSTORMS EV3、LEGO BOOST、LEGO Education WeDo 2.0、Go Direct Force&Acceleration。扩展有些是直接可用的,有些是需要硬件的,有些是需要连接外网的。

 

 

06

Scratch涉及到哪些编程知识

 

语句:所有编程语言都有的三种基本语句结构,循环、顺序、判断。

事件:事件是前端应用中非常重要的概念。

变量:变量是编程中非常重要的概念,用于存放临时数据。

列表:列表是很多数据的集合。

自制积木:自制积木在传统编程语文中通常叫函数或者方法,可以把各语句封装起来,以达到重复使用的目的。

随机:用于生成随机数字,可用于所有随机场景。

逻辑运算符:与、或、非。在编程中的应用及其广泛。

字符串相关。

侦测:跟键盘、鼠标相关的操作。

时间:年、月、日、时、分、秒、毫秒、星期、时间戳、计时器。

 

 

 

07

Scratch优点

 

Scratch是现在用户最多、免费资源最丰富的少儿编程软件,没有之一。Scratch是开源的,他的源代码可以在Github上下载到。现在绝大多数的类似软件,都是在Scratch源码的基础上修改的。

网上很多培训机构的话术是少儿编程能提高学习能力、创造力、逻辑思维能力、建立自信心、专注力等。我觉得,少儿编程和其它学科相比最大的优点是“好玩”,玩是孩子的天性,少年儿童能通过简单的拖拽,制作出故事,动画、游戏。极大地满足了孩子玩的欲望,玩的过程中学到了很多知识。与其看动画片,不如玩编程。看动画只有输入,没有输出,玩Scratch可以通过学习,创造出自己喜欢的东西。还能跟自己创造出来的小游戏互动,甚至分享给同学、朋友。

 

 

 

08

Scratch适合多大的孩子学习

 

Scratch学习的最佳年龄是小学三年级到初中毕业,三年级以下的学生因为思维限制只能学习相对简单的知识。Scratch也需要数学等相关的知识基础,至少要认识部分汉字,所以三年级开始学习是最合适的。三年级以下的孩子可以以了解或者学习计算机基本操作为目的。

 

 

 

09

Scratch很简单

 

Scratch不用英文知识,没有英文字母。认识基本的汉字,了解最基本的数学知识,通过拖拽积木就可以完成自己的作品。

 

 

 

10

学龄前儿童能不能学习Scratch

 

幼儿园学Scratch有点早,只能学习一些初级的知识。Scratch中用到一些逻辑相关的知识对年纪的要求比较高,比如:循环,比较复杂的判断,多个逻辑运算符一起使用。Scratch也需要一些数学基础,比如:坐标系、圆周360度等。甚至最基本的加减乘除对幼儿园阶段的孩子来说可能都有难度。

 

 

 

 

11

Scratch很难

 

前面说过,Scratch非常简单,但不影响其功能的丰富,Scratch拥有非常多的传统编程语言的语法和概念。比如:“重复”对应传统编程语言的for循环,“如果”对应if判断语句,自制积木对应传统编程语言的方法(也叫函数),角色对应类,角色属性对应类的属性,甚至变量和列表的名字和传统编程语言都是一样的。Scratch可以用几行代码做出一个简单的游戏,也可以用几百几千行代码做出相对复杂的游戏,比如:植物大战僵尸,五子棋等。Scratch也可以写出各种算法,比如查找:顺序查找、折半查找。比如排序:插入排序、 冒泡排序、 选择排序、 快速排序、归并排序。这些算法在传统编程语言中也不算非常简单。再难点可以刷力扣(一个专门写算法的一个网站)上的题。在科学的课程体系及专业老师的教导下,Scratch可以超级强大!

Scratch功能是有限的,能做出来的东西是无限的。

 

 

 

12

Scratch涉及到其它学科哪些知识

 

Scratch和其它学科都有关联,孩子要想好好玩Scratch,就需要自己去学习其它学科的相关知识。

首先,也是最重要的,编程,这个上面讲过了。

声音:Scratch可以播放声音、录制声音。还可以对声音进行复制、删除、粘贴、加快、减慢、变强、变弱等基本的编辑操作。

 

 

数学:Scratch可以进行数学运算。涉及到相关知识有:加、减、乘、除、随机、大于、小于、等于、逻辑运算(与或非,这个在传统编程中使用的及其普遍)、取余、四舍五入、绝对值、向上(下)取整、平方根、sin、cos、tan、asin、acos、atan、ln、log、e^、10^等小学到初中非常多的数学知识,孩子们可以通过简单的数学知识做出简单的效果和功能,如果想做出更厉害的功能,就会促使孩子自己主动去学习。孩子可以通过圆的相关知识自己去计算π,用Scratch可以比先贤祖冲之计算的更精确。也可以解决一些经典的数学问题,比如:鸡兔同笼、李白沽酒等。

 

 

音乐:Scratch可以模仿各种乐器的声音,根据音符、节拍等基础的音乐知识,可以创造出简单或复杂的音乐效果。

 

 

色彩:画笔功能提供了丰富的关于色彩的知识,可以画出各种优美的图案,根据相关数学知识,可以画出各种形状。

 

 

物理:Scratch可以模仿重力、模仿光的反射。

 

 

 

13

不要神化Scratch

 

Scratch是一款非常棒的学习软件,Scratch只是学习用的,虽然能开发出非常复杂非常丰富的游戏和功能,但也改变不了Scratch是一种学习软件的本质。Scratch与Python,Java,C,C++等传统开发语言不是一个层次的东西,传统开发语言是学习工具,更重要的是生产工具,传统编程语言开发出的产品可以供非常多的人使用,可以便捷我们的生活,可以卖钱。Scratch只能是学习用的。

 

 

 

14

Scratch和传统编程语言区别

 

Scratch与Python,C,C++等传统编程语言有什么区别?怎么选择?

开发目的不同,Scratch是学习工具,是用来学习的。传统编程语言虽然也能学习,但主要还是开发工具,是用来创造软件产品的。

功能不同,Scratch拥有所有传统编程语言的基本语法,循环语句,判断语句,顺序执行,方法等,但很多高级语法是没有的,比如:接口,虚方法,重载……

学习方式不同:Scratch入门几乎零基础,会用鼠标,知道电脑基本操作,认识字、了解基本的数学知识就能学。传统编程语言有比较高的门槛。

我建议低年级(小学、初中)同学学Scratch,高年级(初中、高中)同学如果感兴趣可以尝试Python,C等传统编程语言。

 

 

 

15

Scratch和其它少儿编程语言怎么选择

 

其它积木式少儿编程语言大多都是在Scratch的基础上进行的扩展,当然也有一部分自主研发的,都是基于模块化,积木式的编程语言。他们会比Scratch功能更强大一些,扩展会更多一点。Scratch因为用户多,所以会有相关的考试,比如:电子学会的等级考试,蓝桥杯等。其它少儿编程语言因为用户比较少,所以没有形成一个比较统一的评判标准。

Scratch因为用户多,范围广。所以免费的教程非常多。其它少儿编程语言的免费教程会少很多,甚至找不到免费的教程。

Python虽然也被用于少儿编程教育,但Python入门需要门槛。也需要更多的知识作为基础。Python也有相关的等级考试。

对于没接触过少儿编程的朋友来说,Scratch还是最优的选择。对于有编程经验的人,所有的图形化编程差别并不大。

Python可以作为少儿编程的进阶,或者少儿编程到传统编程的过渡。

发表评论