【五一创作】Scratch资料袋

 Scratch软件是免费的、免费的、免费的。任何需要花钱才能下载Scratch软件的全是骗子。

1、什么是Scratch

Scratch是麻省理工学院的“终身幼儿园团队”开发的一种图形化编程工具。是面向青少年的一款模块化,积木化、可视化的编程语言。

什么是模块化、积木化?

我们看一下传统编程语言的代码,如下图:

再来看一下Scratch的代码,如下图:

传统编程语言是主要是由英文字母构成的。Scratch是一个一个的模块,每一个模块就是一行代码,各个模块像积木一样拼接起来。所以叫模块化,积木化的编程语言。他的优点就是使用者不需要懂英文单词,甚至不用打字。使用鼠标进行拖拽进行编码。极大的简化了编程语言,降低了使用难度。

什么是可视化?如下图:

功夫熊猫

我们编写的代码效果随时可以在右边的舞台区到,我们也是对右边舞台区的角色或背景编程,编程的结果非常直观。

2、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版本。

Scratch有windows及mac版本可供下载

Scratch安装包

3、Scratch的设计思路

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

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

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

4、Scratch模块

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

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

6、Scratch优点

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

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

7、Scratch很难

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

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

8、Scratch和其它学科的关联

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

首先,也是最重要的,编程,这个就不细讲了。Scratch本来就是一个编程软件。

声音:Scratch可以播放声音、录制声音。其中涉及到了相关知识有音调、音量等。

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

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

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

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

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

10、Scratch和传统编程语言区别

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

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

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

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

我建议低年纪(小学、初中)同学学Scratch,高年级(初中、高中)同学学Python,C等传统编程语言。

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

其它少儿编程语言大多都是在Scratch的基础上进行的扩展,当然也有一部分自主研发的,都是基于模块化,积木式的编程语言。他们会比Scratch功能更强大一些,扩展会更多一点。Scratch因为用户多,所以会有相关的考试,比如:电子学会的图形化考试,蓝桥杯等。其它少儿编程语言因为用户比较少,所以没有形成一个比较统一的评判标准。这里我说的少儿编程语言是指软件编程,不包括乐高、机器人等硬件编程。对于硬件编程我个人不了解,不做评判。

12、Scratch教程

我是专业的程序员,做开发多年。接触Scratch之后觉得挺有意思,就自己学了一下。看过非常多的前辈们的教程,发现有些教程不全,有些不成体系,当然也有非常好的教程值得借鉴。因此,萌生了自己做一套最全,最完备,最成体系的教程的想法,供孩子、家长及老师们一起学习。

能力一般、水平也有限,如果大家觉得喜欢,也是站在前辈们的肩膀上。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/16247.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

1. 安装Open vSwitch环境

1. 安装Open vSwitch环境 1 配置基础环境。 在VMware Workstation软件中创建一个虚拟机VM1,配置2张网卡,虚拟机VM1配置如图4-3所示。将网卡ens33地址配置为192.168.1.131/24,网卡ens34地址配置为192.168.2.131/24。 图4-3 VM1虚拟机配置 2…

好家伙,9:00面试,9:06就出来了,问的实在是太...

从外包出来,没想到死在另一家厂子 自从加入这家公司,每天都在加班,钱倒是给的不少,所以也就忍了。没想到2月一纸通知,所有人不许加班,薪资直降30%,顿时有吃不起饭的赶脚。 好在有个兄弟内推我去…

为什么在马云成功前就有那么多影像留下来?

马云创业的各个阶段,都有意无意得到媒体的推波助澜,不光是影像,还留下了很多相关的文字报道。站在当时的角度,马云或许并不总是以一种成功人士的身份出现,但即便如此,他做事情也足够新潮、足够前卫、或者足…

【Spring】三大依赖注入(@Autowired,Setter,构造方法)

目录 一、属性注入(Autowired) 1.1 优点分析 1.2 缺点分析 1.2.1 无法实现final修饰的变量注入。 1.2.2 兼容性不好 1.2.3 (可能违背)设计原则问题 1.2.4 代码举例: 1.2.5 出现循环依赖该怎么办? …

初识MySQL数据库——“MySQL数据库”

各位CSDN的uu们你们好呀,小雅兰好久没有更文啦,确实是心有余而力不足,最近学习的内容太难了,这篇博客又是小雅兰的新专栏啦,主要介绍的是一些MySQL数据库的知识点,下面,让我们进入初识MySQL数据…

【Java入门合集】第二章Java语言基础(二)

【Java入门合集】第二章Java语言基础(二) 博主:命运之光 专栏JAVA入门 学习目标 掌握变量、常量、表达式的概念,数据类型及变量的定义方法; 掌握常用运算符的使用; 掌握程序的顺序结构、选择结构和循环结构…

计算机是如何工作的

目录 一、冯诺依曼体系: 二、操作系统 三、进程 3.1 PCB(进程控制块)— 描述进程属性的结构体 3.2 CPU分配 — 进程调度 3.3 内存分配 — 虚拟地址 3.4 进程间通信 一、冯诺依曼体系: CPU中央处理器(运算器控制…

算法记录 | Day45 动态规划

70.爬楼梯 (进阶) 改为:一步一个台阶,两个台阶,三个台阶,…,直到 m个台阶。问有多少种不同的方法可以爬到楼顶呢? 1阶,2阶,… m阶就是物品,楼顶…

什么是VLAN?为什么要划分VLAN?

VLAN(Virtual Local Area Network)即虚拟局域网,是将一个物理的LAN在逻辑上划分成多个广播域的通信技术。每个VLAN是一个广播域,VLAN内的主机间可以直接通信,而VLAN间则不能直接互通。这样,广播报文就被限制在一个VLAN内。 一、为…

搭建electron-vue上

electron-vue 准备工作修改package.jsonappveyor.yml.travis.yml.gitignore.eslintrc.js.eslintignore.babelrcsrc/renderer/main.jssrc/renderer/App.vuesrc/renderer/store/index.jssrc/renderer/store/modules/Counter.jssrc/renderer/store/modules/Counter.jssrc/renderer…

定时任务方案实现与对比

定时任务分类 定时任务分为分布式定时任务和单机定时任务两个大的方向,他们的适用场景不同。 单机定时任务在单台计算机上运行,其执行结果和单台机器上的数据有关,如对本地机器的缓存做核对、清理日志等。它的 优点 是简单易用,无…

【STM32】基础知识 第十课 CubeMx

【STM32】基础知识 第十课 CubeMx STM32 CubeMX 简介安装 JAVACubeMX 安装新建 STM32 CubeMX 工程步骤新建工程时钟模块配置GPIO 配置生成源码 main.c STM32 CubeMX 简介 CubeMX (全称 STM32CubeMX) 是 ST 公司推出的一款用于 STM32 微控制器配置的图形化工具. 它能帮助开发者…

云原生Istio基本介绍

目录 1 什么是Istio2 Istio特征2.1 连接2.2 安全2.3 策略2.4 观察 3 Istio与服务治理3.1服务治理的三种形态 4 Istio与Kubernetes4.1 Kubernetes介绍4.2 Istio是Kubernetes的好帮手4.3 Kubernetes是Istio的好基座 5 Istio与服务网格5.1 时代选择服务网格5.2 服务网格选择Istio …

JAVA医院管理云HIS统计报表子系统、系统管理字系统功能实现

一、统计报表子系统 统计报表子系统功能模块:包括门诊收入汇总、住院收入汇总、收费统计报表、收费明细报表、 缴款日报、门诊收费汇总、住院科室日志、住院结算汇总、医疗项目统计、检查项目统计、 检验项目统计、月末收支汇总、药品进销存统计。 (1…

Matlab实现多个窗口间的数据传递(不用GUIDE)

在用多个matlab的figure进行数据交互时,数据传入是较为简单的,可以直接用function的形参实现,但如何把数据传回,是个比较麻烦的问题。 在GUIDE下,系统自动生成了output_fcn函数,可以用它来实现从子窗口到主…

Javaweb | 状态管理:Session、Cookie

💗wei_shuo的个人主页 💫wei_shuo的学习社区 🌐Hello World ! 状态管理 问题引入 HTTP协议是无转态的,不能保存提交的信息如果用户发来一个新的请求,服务器无法知道它是否与上次的请求联系对于那些需要多次…

springmvc

title: 3 springmvc date: ‘2023-3-29’ Author:glls Version:9.0.2 文章目录 一、SpringMVC1.1 引言1.2 MVC架构1.2.1 概念1.2.2 好处 二、开发流程2.1 导入依赖2.2 配置核心(前端)控制器2.3 后端控制器2.4 配置文件2.5 访问 三、接收请求参数3.1 基本…

时序预测 | Matlab实现SSA-GRU、GRU麻雀算法优化门控循环单元时间序列预测(含优化前后对比)

时序预测 | Matlab实现SSA-GRU、GRU麻雀算法优化门控循环单元时间序列预测(含优化前后对比) 目录 时序预测 | Matlab实现SSA-GRU、GRU麻雀算法优化门控循环单元时间序列预测(含优化前后对比)预测效果基本介绍程序设计参考资料 预测效果 基本介绍 Matlab实现SSA-GRU、GRU麻雀算法…

Oracle删除列操作:逻辑删除和物理删除

概念 逻辑删除:逻辑删除并不是真正的删除,而是将表中列所对应的状态字段(status)做修改操作,实际上并未删除目标列数据或恢复这些列占用的磁盘空间。比如0是未删除,1是删除。在逻辑上数据是被删除了&#…