如何用麻省理工学院 Scratch 语言教孩子编码

文摘   2024-06-13 07:31   广东  

儿童的学习方式与成人不同,因此如果我们想教他们编码,我们需要使用适合他们需求的方法。成人编码课程通常从解释基本要素(例如数据类型、变量和函数)开始,但这种教学方法并不适合大多数孩子

可视化积木语言通过借助可视化积木向学习者介绍编码,为这一问题提供了解决方案。积木语言(有时也称为气泡语言)注重逻辑而不是语法,并通过创造性项目教授编码。

Scratch 最大的优点之一是,您无需成为一名程序员即可帮助您的孩子开始使用 Scratch。在本文中,我们将介绍 Scratch,这是Google麻省理工学院媒体实验室开发的一种可视化块语言。

开始使用

Scratch是一种为教育目的而创建的编程语言,您需要将块拼接在一起以创建不同的项目,例如动画、游戏和交互式故事。

Scratch 主要针对8至16岁的儿童和青少年,但在某些情况下它也适用于更小的孩子和成人学习者。

Scratch 有40 多种语言版本,最新版本是Scratch 2,可在 Windows、Mac 和 Linux 机器上较新的 Web 浏览器中运行。如果您对系统要求有疑问,也可以使用其早期版本Scratch 1.4 。

教孩子编程基础知识的 10 种工具

你可以通过三种不同的方式使用 Scratch 

  1. 创建一个在线帐户,并使用在线编辑器。如果选择此选项,您可以在线保存您的项目,并与 Scratch 社区共享。

  2. 匿名使用在线编辑器。如果选择此选项,您只能将项目保存到您的计算机上。

  3. 下载Scratch 离线编辑器(https://scratch.mit.edu/scratch2download/),并在本地工作

首先,单击顶部菜单栏中的“创建”菜单,Scratch 编辑器就会出现在您的屏幕上。

创建设计

首先,让我们为程序添加设计元素。现实生活中编程的工作流程基本相同,首先我们需要创建设计元素,例如背景、按钮和导航(这部分通常由设计师完成),然后我们需要用代码为它们添加功能(这部分由程序员完成)。

精灵和背景

Scratch 提供两种不同的设计元素:背景精灵

“backdrop” 代表背景,“Sprite” 代表角色(默认角色是上图的猫)。它们的相关设置在左下角,舞台下面。

有四种方法可以向舞台添加新的背景或精灵,您可以从预定义库中选择一个、绘制一个、从计算机上传一个或使用网络摄像头拍摄一张照片。

现在让我们使用最快的解决方案,从背景库中选择一个背景。

另外,让我们通过单击屏幕左下角“新精灵”标签旁边的小精灵图标,从精灵库中选择一个或多个精灵。

如果您愿意,您可以借助方便的图像编辑器来编辑背景和精灵,该编辑器会在您向舞台添加新的设计元素后自动出现。

下面,您可以看到我将“夜之城”背景添加到舞台后的屏幕——如果我愿意,我可以使用图像编辑器的绘图工具来改变背景的外观。

在本文中,我将创建一个简单的动画,讲述一个女孩在夜城中被鬼吓到的故事(我知道……)。我已经有了夜城背景,现在我需要两个精灵:一个女孩和一个鬼。

我不需要默认的猫,因此我右键单击它并将其删除。我从 Sprite 库中添加了女孩和鬼魂。由于鬼魂比女孩大,而且它们并排摆在一起看起来很尴尬,所以我使用图像编辑器调整了鬼魂的大小。

添加功能

在“脚本”选项卡下可以找到Scratch。每个块背后都有一个底层代码片段

块分为 10 个类别(运动、外观、声音、笔、数据、事件、控制、传感、操作符、更多块),每个类别都使用不同的颜色,这样块组就很容易区分

我们将为每个 Sprite 添加功能(具体来说,我们将为它们添加动画),这意味着每个 Sprite都有自己的脚本(Scratch 块序列)。

请注意,我们也可以向背景添加单独的脚本,例如将其颜色从白天更改为夜晚,但是为了简单起见,我们不会在此示例中更改背景。

创建人类可读的算法

在纸上规划你的 Sprite 的功能会很有帮助。以下是我们的 girl-ghost 示例程序的算法。

女孩的算法:

  1. 用户启动脚本。

  2. 女孩想着自己有多么害怕。

  3. 女孩正在等待鬼魂袭击她。

  4. 女孩尖叫起来

  5. 女孩跑掉了

幽灵的算法:

  1. 用户启动脚本。

  2. 当女孩思考的时候,鬼魂正在等待。

  3. 鬼魂接近了女孩。

可以看到,女孩的算法是以女孩的视角写的,而鬼的算法是以鬼的视角写的。当一个角色行动时,另一个角色需要等待,因为我们需要同步两个角色的动作

鬼的剧本

让我们从幽灵的脚本开始,因为它只有 3 个步骤。单击左下角的幽灵,然后就可以开始将块拖到脚本区域。首先,我们需要让用户启动该程序。我们可以通过从“事件”类别中添加“当绿色旗帜被点击时”块来轻松完成此操作

接下来,幽灵在女孩思考时等待 2 秒。我们使用“控制”类别中的“等待 2 秒”积木来编程此动作。

最后,鬼魂需要接近女孩,我们可以使用“动作”类别中的“前往艾比”块来实现。“艾比”是女孩的名字,Scratch 会自动将其他精灵的名字添加到此块的下拉菜单中。

鬼魂的脚本是这样的。现在,你肯定已经意识到 Scratch 的工作原理与 LEGO 类似,你需要将积木拼接在一起。

女孩的剧本

女孩的脚本稍微复杂一些。点击左下角的女孩 Sprite,就可以开始添加与女孩行为相关的块。

女孩的脚本也是从“当绿旗被点击时”块开始的。我现在向你展示女孩的脚本最终会是什么样子,这样你就可以更轻松地理解解释。

点击绿旗后,女孩思考了 2 秒(这段时间程序会显示一个思考泡泡),这也是鬼魂在角落等待的 2 秒——用鬼魂脚本中的等待块进行编程。

然后,女孩需要等待,直到鬼魂触碰她。这是通过组合等待块完成的。您可以在上面的屏幕截图中看到,此块包含一个内部菱形块,您需要单独加入。您只能将菱形块添加到此等待块中。

请记住,Scratch 与 LEGO 类似,您也需要注意积木的形状。此功能可防止您添加不应该存在的积木,以避免错误的编码逻辑。

至此,鬼魂触碰到了女孩,鬼魂的剧本结束了。现在我们需要用“播放声音” 声音积木让她尖叫(我从内置声音库中添加了女性尖叫声),最后用“移动 200 步” 运动积木让她远离鬼魂

您可以在Scratch 页面上查看最终项目。如果您想查看构建块,请单击右上角的查看内部按钮。

下一步

我们的“城市里的幽灵”示例是一个非常简单的项目。当您的孩子可以安全地创建线性故事和动画时,您可以转向更复杂的编码结构,例如if-then块(条件语句)和repeat块(循环),两者都可以在“控制”类别中找到

如果您想要一个更复杂的线性动画示例(仍然没有条件语句和循环),您可以查看我的另一个演示,该演示具有一个简单的对话,并使用了 3 个 Sprite(两个朋友和一个生日蛋糕),每个 Sprite 都有自己的脚本。

您还可以给孩子打印刮刮卡,让他们在编程时握在手中,以此激发他们的灵感。刮刮卡上还印有很棒的项目创意。探索现有项目参加讨论论坛,向他人学习也是值得的

如果您想更好地了解 Scratch,爱丁堡大学提供免费的 Coursera 课程,该课程以非常容易理解甚至令人愉快的方式向初学者介绍 Scratch 编程。

您还可以利用Scratch Wiki,哈佛大学的创意计算系也为 Scratch 学习者提供了一些很棒的资源。

欢迎关注我,共同探讨学习科技前沿技术资讯,提升认知赚钱能力。

DearMrGao
程序员最新技术,前沿技术资讯
 最新文章