Scratch 中的编程概念

Scratch 中的编程概念

许多人都熟悉 Scratch,这是一种儿童编程环境,其中的学习通常归结为按照“从简单到复杂”的原则创建创意项目。 与此同时,在 Scratch 中学习编程的“经典方法”(变量 → 分支 → 循环 → 函数 → 结构 → 对象 → …)是困难的。

然而,改变结构化、面向对象和面向事件编程的概念(让我们称之为概念)的学习顺序,将它们隐藏在彩色精灵和交互式动画后面,并不意味着不应该强调这些概念。 特别是如果目标不是发展创造力而是学习编程。 我试图在我的作品中反映这个想法 课程.

初学者首先遇到的就是精灵。 尽管 Scratch 本身没有面向对象的编程,但精灵可以被视为对象。 在此阶段,学生看到一个程序可以有许多对象,这些对象的行为由外部脚本控制。 精灵按需接收命令或传输有关其状态的信息,也就是说,编程归结为管理对象。

年轻程序员在 Scratch 中立即感受到的第二件事是多线程的概念。 每个精灵可以同时运行多个脚本。 多个精灵也可以同时运行它们的程序。 而且,组织顺序执行变得更加困难。

Scratch 中的编程概念

Scratch 中的编程概念

在第一课中我们就不可避免地要熟悉循环。 不然的话,猫也不会真的跑掉。 在这个阶段,认识必须是直觉和肤浅的。 我们将其限制为“始终重复”和“重复...次”循环,这更容易理解。 条件循环在专门讨论循环的课程中进行了研究。 本课程假设您了解布尔表达式和变量。

由于 Scratch 是一个事件驱动的环境,因此条件语句块在变量之前更容易学习。 该条件可以是某些事件。

Scratch 中的编程概念

在我看来,这个顺序更好,因为每节课我们都会介绍最少的概念。 不是抽象的,而是我们立即看到它们的实际好处。

如果你首先研究变量,那么它们的目的和好处很难证明,因为之前没有研究过条件运算符、数据输入和随机数生成。

在Scratch中,不包括列表,程序员会遇到三种类型的数据:数字、字符串和布尔值。 在这种情况下,类型绑定到值,而不是变量。 无需将字符串与数字相互转换。 字符串不加引号。

返回布尔值并具有特征角度形状的块可以插入到圆形字段中。 反之则不然:在假定布尔表达式的情况下,不能插入常规变量。

Scratch 中的编程概念

实施了 Scratch,以便在执行过程中不会发生严重错误。 显然这就是为什么,如果您尝试在算术运算中使用字符串,它会被零替换(请参见第一个屏幕截图)。

程序员应该知道编程语言的功能是通过库来扩展的。 在 Scratch 中工作,学生可以连接导致环境中出现新命令的添加内容。

Scratch 中的编程概念

Scratch 中的功能在“其他块”部分中实现,一方面您可以创建自己的块,可以将其插入其他脚本中。 另一方面,我们必须收集这个块的功能,即它会做什么。

Scratch 中的编程概念

暂存函数没有返回值。

因此,在事件驱动的环境中学习编程概念会留下痕迹。 本质上,我们首先研究更复杂和抽象的概念,只有当我们深入研究这个过程时,我们才会转向结构化编程的元素。 对于初次相识来说这是优点还是缺点还是一个有争议的问题。

来源: habr.com

为具有 DDoS 保护、VPS VDS 服务器的站点购买可靠的主机 🔥 购买具备 DDoS 防护的可靠网站托管服务,包括 VPS 和 VDS 服务器 | ProHoster