当前位置: 首页 > news >正文

【五一创作】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之后觉得挺有意思,就自己学了一下。看过非常多的前辈们的教程,发现有些教程不全,有些不成体系,当然也有非常好的教程值得借鉴。因此,萌生了自己做一套最全,最完备,最成体系的教程的想法,供孩子、家长及老师们一起学习。

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

相关文章:

【五一创作】Scratch资料袋

Scratch软件是免费的、免费的、免费的。任何需要花钱才能下载Scratch软件的全是骗子。 1、什么是Scratch Scratch是麻省理工学院的“终身幼儿园团队”开发的一种图形化编程工具。是面向青少年的一款模块化,积木化、可视化的编程语言。 什么是模块化、积木化&…...

数据库基础篇 《17.触发器》

数据库基础篇 《17.触发器》 在实际开发中,我们经常会遇到这样的情况:有 2 个或者多个相互关联的表,如商品信息和库存信息分别存放在 2 个不同的数据表中,我们在添加一条新商品记录的时候,为了保证数据的完整性&#…...

03 - 大学生如何使用GPT

大学生如何使用GPT提高学习效率 一、引言 在当今的高速发展的信息时代,大学生面临着越来越多的学习挑战。作为一种先进的人工智能技术,GPT为大学生提供了一种强大的学习工具。本文将介绍大学生在不同场景中如何使用GPT来提高学习效率,并给出…...

【P1】Jmeter 准备工作

文章目录 一、Jmeter 介绍1.1、Jmeter 有什么样功能1.2、Jmeter 与 LoadRunner 比较1.3、常用性能测试工具1.4、性能测试工具如何选型1.5、学习 Jmeter 对 Java 编程的要求 二、Jmeter 软件安装2.1、官网介绍2.2、JDK 安装及环境配置2.3、Jmeter 三种模式2.4、主要配置介绍2.4.…...

字节的面试,你能扛住几道?

C , Python 哪一个更快? 读者答:这个我不知道从哪方面说,就是 C 的话,它其实能够提供开发者非常多的权限,就是说它能涉及到一些操作系统级别的一些操作,速度应该挺快。然后 Python 实现功能还…...

NOPI用法之自定义单元格背景色(3)

NPOI针对office2003使用HSSFWorkbook,对于offce2007及以上使用XSSFWorkbook;今天我以HSSFWorkbook自定义颜色为例说明,Office2007的未研究呢 在NPOI中默认的颜色类是HSSFColor,它内置的颜色有几十种供我们选择,如果不…...

数据分析中常见标准的参考文献

做数据分析过程中,有些分析法方法的标准随便一搜就能找到,不管是口口相传还是默认,大家都按那样的标准做了。日常分析不细究出处还可以,但是正式的学术论文你需要为你写下的每一句话负责,每一个判断标准都应该有参考文…...

辨析 变更请求、批准的变更请求、实施批准的变更请求

变更请求、批准的变更请求、实施批准的变更请求辨析 辨析各种变更请求,不服来辨。 变更请求 定义:对正规受控的文件或计划(范围、进度、成本、政策、过程、计划或程序)等的变更,以反映修改或增加的意见或内容 根据变更请求的工作内容可将变…...

leetcode 561. 数组拆分

题目描述解题思路执行结果 leetcode 561. 数组拆分 题目描述 数组拆分 给定长度为 2n 的整数数组 nums ,你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), ..., (an, bn) ,使得从 1 到 n 的 min(ai, bi) 总和最大。 返回该 最大总和 。 示例 1&am…...

AviatorScript

AviatorScript 是一门高性能、轻量级寄宿于 JVM (包括 Android 平台)之上的脚本语言 特性介绍 支持数字、字符串、正则表达式、布尔值、正则表达式等基本类型,完整支持所有 Java 运算符及优先级等。函数是一等公民,支持闭包和函…...

Oracle跨服务器取数——DBlink 初级使用

前言 一句话解释DBlink是干啥用的 实现跨库访问的可能性. 通过DBlink我们可以在A数据库访问到B数据库中的所有信息,例如我们在加工FDS层表时需要访问ODS层的表,这是就需要跨库访问 一、DBlink的分类 private:用户级别,只有创建该dblink的用户才可以使…...

200人 500人 园区网设计

实验要求: ① 设置合理的STP优先级、边缘端口、Eth-trunk ② 企业内网划分多个vlan ,减少广播域大小,提高网络稳定性 ③ 所有设备,在任何位置都可以telnet远程管理 ④ 出口配置NAT ⑤ 所有用户均为自动获取ip地址 ⑥ 在企业…...

netstat命令解析

一、linux系统中netstat命令的帮助信息 └──╼ $netstat -h usage: netstat [-vWeenNcCF] [<Af>] -r netstat {-V|--version|-h|--help}netstat [-vWnNcaeol] [<Socket> ...]netstat { [-vWeenNac] -i | [-cnNe] -M | -s [-6tuw] }-r, --route …...

API接口的自我阐述

API&#xff08;Application Programming Interface&#xff09;&#xff0c;翻译为应用程序接口&#xff0c;是一套定义程序之间如何通讯的接口。API可以实现软件的可重用性、可维护性和互操作性&#xff0c;同时也可以提升软件的性能和安全性。API接口是一个软件系统中的重要…...

Day32内部类

内部类 内部类就是在一个类中定义一个类&#xff0c;&#xff08;在A类中定义一个B类&#xff0c;B类就被称为内部类&#xff09; 格式&#xff1a;public class 类名{ 修饰符 class 类名{} } 如&#xff1a;public class Outer{ public class Inner {} } //内部类可以访问外部…...

用户画像系列——HBase 在画像标签过期策略中的应用

一、背景 前面系列文章介绍了用户画像的概念、用户画像的标签加工、用户画像的应用。本篇文章主要介绍一些画像的技术细节&#xff0c;让大家更加详细的了解画像数据存储和处理的逻辑 举个现实中的例子&#xff1a; 例子1&#xff1a;因为疫情原因&#xff0c;上线一个平台(…...

时下热门话题:ChatGPT能否取代人类?

时下热门话题&#xff1a;ChatGPT能否取代人类&#xff1f; 2022年11月底&#xff0c;人工智能对话聊天机器人ChatGPT推出&#xff0c;迅速在社交媒体上走红&#xff0c;短短5天&#xff0c;注册用户数就超过100万。2023年1月末&#xff0c;ChatGPT的月活用户已突破1亿&#x…...

每日刷题记录(十七)

目录 第一题&#xff1a;求12...n解题思路&#xff1a;代码实现&#xff1a; 第二题&#xff1a;两两交换链表中的节点解题思路&#xff1a;代码实现&#xff1a; 第三题&#xff1a;只出现一次的数字 II解题思路&#xff1a;代码实现&#xff1a; 第四题&#xff1a;根据字符串…...

开放原子训练营(第三季)RT-Thread Nano学习营一探究竟

前言 不知道从什么时候起&#xff0c;智能设备开始普及到了我们日常生活的方方面面。下班还未到家&#xff0c;热水器就可以调到合适的温度&#xff1b;上班刚进公司&#xff0c;忘关空调也不再是什么烦恼&#xff1b;诸如夜晚的灯光变换&#xff0c;白昼的窗帘适应等更给我们…...

数据库系统概论(二)关系数据库,SQL概述和数据库安全性

作者的话 前言&#xff1a;总结下知识点&#xff0c;自己偶尔看一看。 目录 一、关系模型概述 1.1关系数据结构及形式化定义 1.1.1域&#xff08;Domain&#xff09; 1.1.2笛卡尔积&#xff08;Cartesian Product&#xff09; 1.1.3关系&#xff08;Relation&#xff09; …...

JavaSec-RCE

简介 RCE(Remote Code Execution)&#xff0c;可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景&#xff1a;Groovy代码注入 Groovy是一种基于JVM的动态语言&#xff0c;语法简洁&#xff0c;支持闭包、动态类型和Java互操作性&#xff0c…...

大话软工笔记—需求分析概述

需求分析&#xff0c;就是要对需求调研收集到的资料信息逐个地进行拆分、研究&#xff0c;从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要&#xff0c;后续设计的依据主要来自于需求分析的成果&#xff0c;包括: 项目的目的…...

23-Oracle 23 ai 区块链表(Blockchain Table)

小伙伴有没有在金融强合规的领域中遇见&#xff0c;必须要保持数据不可变&#xff0c;管理员都无法修改和留痕的要求。比如医疗的电子病历中&#xff0c;影像检查检验结果不可篡改行的&#xff0c;药品追溯过程中数据只可插入无法删除的特性需求&#xff1b;登录日志、修改日志…...

线程同步:确保多线程程序的安全与高效!

全文目录&#xff1a; 开篇语前序前言第一部分&#xff1a;线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分&#xff1a;synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分&#xff…...

Java线上CPU飙高问题排查全指南

一、引言 在Java应用的线上运行环境中&#xff0c;CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时&#xff0c;通常会导致应用响应缓慢&#xff0c;甚至服务不可用&#xff0c;严重影响用户体验和业务运行。因此&#xff0c;掌握一套科学有效的CPU飙高问题排查方法&…...

Windows安装Miniconda

一、下载 https://www.anaconda.com/download/success 二、安装 三、配置镜像源 Anaconda/Miniconda pip 配置清华镜像源_anaconda配置清华源-CSDN博客 四、常用操作命令 Anaconda/Miniconda 基本操作命令_miniconda创建环境命令-CSDN博客...

探索Selenium:自动化测试的神奇钥匙

目录 一、Selenium 是什么1.1 定义与概念1.2 发展历程1.3 功能概述 二、Selenium 工作原理剖析2.1 架构组成2.2 工作流程2.3 通信机制 三、Selenium 的优势3.1 跨浏览器与平台支持3.2 丰富的语言支持3.3 强大的社区支持 四、Selenium 的应用场景4.1 Web 应用自动化测试4.2 数据…...

java高级——高阶函数、如何定义一个函数式接口类似stream流的filter

java高级——高阶函数、stream流 前情提要文章介绍一、函数伊始1.1 合格的函数1.2 有形的函数2. 函数对象2.1 函数对象——行为参数化2.2 函数对象——延迟执行 二、 函数编程语法1. 函数对象表现形式1.1 Lambda表达式1.2 方法引用&#xff08;Math::max&#xff09; 2 函数接口…...

Java 与 MySQL 性能优化:MySQL 慢 SQL 诊断与分析方法详解

文章目录 一、开启慢查询日志&#xff0c;定位耗时SQL1.1 查看慢查询日志是否开启1.2 临时开启慢查询日志1.3 永久开启慢查询日志1.4 分析慢查询日志 二、使用EXPLAIN分析SQL执行计划2.1 EXPLAIN的基本使用2.2 EXPLAIN分析案例2.3 根据EXPLAIN结果优化SQL 三、使用SHOW PROFILE…...

Win系统权限提升篇UAC绕过DLL劫持未引号路径可控服务全检项目

应用场景&#xff1a; 1、常规某个机器被钓鱼后门攻击后&#xff0c;我们需要做更高权限操作或权限维持等。 2、内网域中某个机器被钓鱼后门攻击后&#xff0c;我们需要对后续内网域做安全测试。 #Win10&11-BypassUAC自动提权-MSF&UACME 为了远程执行目标的exe或者b…...