在 Scratch 中编写你的第一个算法

在本系列关于教孩子编程的文章中,了解如何开始使用 Scratch。
93 位读者喜欢这篇文章。
A introduction to creating documents in LaTeX

Opensource.com

今年有更多的孩子在家学习,让他们参与独特的学习机会非常重要。课堂看起来与以前大不相同,而且将继续发展。因此,我们教授的课程也应该如此。

在本系列的第一篇文章中,我分享了我的学生如何教我编程。在接下来的几周里,我将探讨教育工作者和家长如何利用编码的力量来教授孩子们各种技能。

“但是我对编码一窍不通!”你可能会对着电脑大喊。这就是开源代码的<0xE2><0x80><0xAF>魅力<0xE2><0x80><0xAE>之一:每个人都是学习者,每个人都是老师。无论你是编码新手还是已经从事编码一生,过程的一部分就是犯错。这完全是关于解决问题和学习如何查找信息。教育工作者在编码课堂上拥有的最强大的工具是这句话:“我不知道;让我们一起找出来!”

那么,让我们开始吧!

什么是代码?

代码是你让计算机执行你想要它执行的操作的方式。笔记本电脑、智能手机、视频游戏机,甚至洗衣机都使用代码来工作。尽管机器学习和人工智能取得了进步,但仍然需要有人编写代码。

编码员(也称为程序员)是编写代码的人。但代码到底是什么?程序员在创建软件或微调硬件时究竟在编写什么?

代码由算法组成:高度结构化和有序的指令列表,很像食谱。因为计算机实际上并不聪明,所以这些指令是用代码编写的,这些代码必须被解析、编译并转换为机器语言。只有这样,计算机才能执行程序员指示的操作。关键是学习代码的语法,这样你就可以按照要求的顺序编写单词,以便计算机可以解读和处理它们。

什么是 Scratch?

Scratch 是一个非常适合儿童学习编码的平台。它是一种为 8 岁及以上儿童设计的可视化编程语言。它使用拖放式的代码块,这些代码块可以拼接在一起以创建动画、测验和视频游戏。传统的编码需要大量打字且不能出现任何拼写错误,而 Scratch 的可视化特性使年轻的写作者可以轻松学习编码,而不会因拼写错误而陷入困境。

然而,Scratch 不仅仅是关于编码。它还鼓励开放的在线社区,使用户能够共享和混音项目。还有一个离线版本可用于互联网连接受限的教室和家庭。

学习术语

即使孩子以前使用过 Scratch,本课程对于确保他们理解编码术语和逻辑也很重要。

使用 Scratch,你可以使用拼接在一起形成脚本的 代码块 创建视频游戏。脚本是一个有序的指令列表,就像食谱一样。“脚本”的另一个词是 算法

角色是游戏中的角色或对象。舞台是游戏的背景。脚本可用于控制角色和舞台。

每个脚本都以一个特殊的代码块开始,称为 事件帽子。这些块具有圆顶。事件帽子等待某些事情发生,然后运行其下的所有代码块。

Scratch 完全按照脚本执行,因此你在告诉它做什么时必须具体。

开始编码

尝试以下挑战,开始你的编码之旅。

挑战 #1:创建一个简单的算法,当你按下向右箭头键时,使角色向右移动。

你的算法是否按预期工作?当你按下向右箭头时,你的角色是否向右移动?你是怎么做的?

在编码时,一个问题通常有多种解决方案。以下是当你按下向右箭头时,你可能用于编码角色移动的两种最常见方法

Possibility One: When right arrow pressed, move 10 steps . Possibility Two: When right arrow pressed, change x by 10.

opensource.com

让我们实验一下。

  • 如果你更改数字会发生什么?
  • 当你的角色到达屏幕边缘时会发生什么?
  • 哪个运动代码块可以防止角色在到达边缘时消失?

现在会发生什么?你如何解决它?

要阻止角色在碰到边缘后倒置:选择角色并单击 方向。选择 左右 图标或 不旋转 图标。

代码中的错误(例如这种错误)称为 bug。Bug 是编码的正常组成部分。

修复代码称为 调试

再次测试你的游戏。你注意到更多 bug 吗?

  • 如果你的角色从屏幕右侧弹回,则你已准备好迎接下一个挑战。
  • 如果当你的角色碰到屏幕右侧时,它在你按下向右箭头时开始向左移动,请向算法添加一个代码块。

挑战 #2:当你按下向左箭头时,使角色向左移动。

你拥有完成此挑战所需的所有技能和知识!你将如何完成它?

单击此处查看我的解决方案.

如果你使用的是屏幕阅读器,或者你更喜欢文本,请选择此剧透文本以显示答案

可能性一: 当按下向右箭头时,指向 90 度方向,移动 15 步,如果碰到边缘,则反弹

当按下向左箭头时,指向 -90 度方向,移动 15 步,如果碰到边缘,则反弹

可能性二: 当按下向右箭头时,x 坐标增加 15,如果碰到边缘,则反弹

当按下向左箭头时,x 坐标减少 15,如果碰到边缘,则反弹

当你对你所做的感到满意时,命名并保存你的项目。不要选择“另存为”或“保存副本”,因为这将创建一个重复的项目。只需单击 保存立即保存

恭喜你,你已经创建了你的前两个算法!

不要止步于此

编码就是不断实验和迭代,直到获得期望的结果。这是我喜欢将其作为教学工具的众多原因之一。并且不要止步于此入门课程。

提出一个问题并尝试使用 Scratch 解决它。例如,你能制作一个游戏,让 Scratch 猫找到一个物体并“吃掉”它吗?浏览可用的代码块并制定计划,然后构建一个脚本。

最重要的是,不要放弃,记住,没有错误的答案!这完全是关于创造力、创新和乐趣。

接下来阅读什么
User profile image.
Jess Weichler 是一位数字艺术家,她使用开源软件和硬件在 CyanideCupcake.com 上创作数字和物理世界的作品。

8 条评论

真的,Scratch 是在这个科技时代教孩子们如何编码的理想工具。所有材料都是免费的,并且有很多资源可以帮助教师将编码与他们的课程相结合。我喜欢它。

对于绝对的初学者来说,这是一个很棒的入门——介绍基本术语,深入探讨问题解决和实验。我的女儿小时候很喜欢 Scratch。查看他人项目的代码并制作自己的变体(混音)的能力非常酷。

听到这个消息真是太好了。如果你的女儿还在编码,那么她现在用什么编码?

回复 ,作者 Buurmas (未验证)

很棒的文章,我会和我的女儿分享这篇文章。谢谢!

想象一下,如果我的小儿子当年坐在 Apple IIgs 的键盘前时拥有这个工具,今天会在哪里。;-) 认真地说,这是我见过的对几年前还是非常吓人的主题的最佳介绍。让我鼓励你让这些研讨会级别的文章成为你写作的常规特色。

啊,][gs,我也有一个 ][c ... 美好时光!
那时候没有 scratch。我很幸运我的学校碰巧有一本 6502 汇编器书,我可以用它来让我的 ][c 脱离 basic,并手工输入汇编操作码来获得一些真正的乐趣。

那时候确实有一个合理的 Logo,也很有趣。

回复 ,作者 edkenlon

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 许可。
© . All rights reserved.