如何使用 Scratch 教导下一代开源技术

尚无读者喜欢这篇文章。
illustration of computer buttons

Opensource.com

您是否曾希望您的孩子做一些电脑游戏以外的事情? 如果您能让他们提前开始学习,成为下一代开源开发者,那会怎么样?

电脑的使用变得越来越容易,但编程却远为复杂,而且更难入门。 对于我们这些现在有小孩的人来说,编程始于 BASIC 程序,这些程序运行在只能通过命令行来控制的电脑上。

在学校里,孩子们通常学习如何使用工具,而不是如何创造。 工具很快就会过时,因此知道如何创造更为重要,而且工具也会变得越来越直观。

安德鲁·贝尔格 (Andrew Baerg) 在开源桥 (Open Source Bridge) 会议上介绍了如何教孩子们 Scratch。 他推荐这个跨平台系统,它也是我们上个月发布的 女童子军游戏设计工作坊 的基础,用于向孩子们介绍编程。

拖放式的积木拼接系统,只需点击几下,就能轻松地让角色移动、等待、说话,并在几秒钟内执行各种任务。

这首先教会他们编程最基本的体验:计算机将完全按照你的指令执行。 这让他们感受到创造指令的自由,但也感受到当他们发现告诉计算机的内容和实际意图之间的差距时产生的挫败感。 然后,他们会发现孩子们的世界里有时太少见的第二种自由——犯错的自由。

贝尔格说:“这些机会的最大优势之一是教会您的孩子成为您希望他们成为的那种计算机用户。” “能够调试并找出问题所在,而不是害怕和不敢尝试的用户。”

探索的自由

年龄较小的孩子通常通过视频游戏体验电脑,这些游戏有很多“墙”——角色无法到达的地方,无法做的事情。 他们被限制在该游戏系统的界面中。 如果你问他们这些“墙”后面是什么,他们通常会告诉你那里有什么东西,但实际上什么也没有。 这就是一个机会,向他们解释,如果你能看到游戏的源代码,你就有机会在你想要的“墙”之外创造任何东西。

顺便提一下,Scratch 曾适用于 iPhone/iTouch,但后来 从 App Store 中移除。 解释是他们不允许可以执行代码的应用程序。 这种限制意味着想法的丢失。 没有表达手段的想法就消失了。

孩子们各不相同,他们的想法也各不相同。 并非所有孩子都会喜欢编程,这没关系。 然而,贝尔格认为,每个人在某些方面都是“黑客”,无论是绘画、编游戏、讲故事还是制作音乐。 让孩子们自由地花时间在他们喜欢的事情上,让他们探索吸引他们的“黑客”行为,而不是吸引你的“黑客”行为。 不要纠结于他们在 Scratch 中具体做什么——只要让他们探索,无论是制定游戏规则还是为他们的角色绘制数百个服装。 用自由来教导他们。

成立一个编程俱乐部

贝尔格为孩子们成立编程俱乐部提供了几条建议

  • 让孩子们主导热情,并邀请朋友。
  • 在信任的层面上与家长互动,但他们不必在那里。
  • 保持在一小时——时间足够完成一些事情,但又不会太长以至于他们失去兴趣。
  • 提前准备。 不要试图即兴发挥那 30 分钟的准备好的程序,即使你认为它很简单。
  • 获取和分享。 网上有很多 Scratch 示例程序。
  • 抵制追求完美的冲动。 留下一定程度的未完成,给孩子们提供改进的机会。
  • 不仅仅是游戏。 还要探索艺术、音乐和故事讲述。

最后, просто 让他们产生自己的想法。 你的角色是帮助他们用编程表达他们的想法。 如果他们没有想法,你可以用建议鼓励他们——“要不要加个声音?”或“如果有什么东西移动了呢?”——这些建议仍然给他们留下空间来让想法成为他们自己的。

回归开源

Scratch 提供了一个内置的机会来教孩子们关于开源和分享的知识。 Scratch 菜单上有一个名为“在线分享”的按钮。 点击它,任何人都可以访问 Scratch 主页并下载您项目的代码。 从此,当有人添加并重新上传代码时,他们就有了所谓的“混音”,这类似于“分支”。 评论在这些 Scratch 项目中默认开启,这创建了与在社区中公开工作带来的正面和有时负面影响的类比。

Scratch 满足你的渴望,让孩子们开始编程。

标签
User profile image.
Ruth Suehle 是红帽开源和标准团队的社区领导经理。 她是《Raspberry Pi Hacks》(O'Reilly,2013 年 12 月)的合著者,也是 GeekMom 的高级编辑,GeekMom 是一个为那些在极客和育儿中找到乐趣的人们提供的网站。

4 条评论

Scratch 是专有的(看起来像是“半自由软件”),并且下一个版本与专有的 Adobe Flash 捆绑在一起。 原则上是个好主意,但在我看来,除非它完全自由且不受任何专有技术的限制,否则就不是教“下一代” FOSS 的最佳选择。

页面上说免费,也允许下载。

这里的“自由”指的是“自由”的含义,而不仅仅是零成本。 请参阅此页面以简要了解“自由软件”
https://gnu.ac.cn/philosophy/free-sw.html

Scratch 下载包包含专有组件,并且公开可用的源代码受限制性许可协议约束
http://info.scratch.mit.edu/Source_Code

该许可证将“使用、复制、修改、合并、发布或分发”的能力限制为“非商业目的”,这限制了自由 0、2 和 3。“自由软件”实际上意味着允许商业用途(包括商业分发,即销售)(例如,您可以复制 GNU/Linux 并出售它,或出售其支持合同)。 有许多蓬勃发展的企业建立在自由软件之上。

第 4 项限制(禁止用户实施将项目上传到 MIT 网站的功能)是对自由 1 的限制,目的是确保专有的 MIT 版本在技术上优于任何衍生版本。

第 5 项限制看起来有点像著作权共有,但它要求在公共网站上向“公众”提供源代码,这可能意味着用户不能自由地为自己的私人用途进行修改。 GNU GPL 不要求“在公共网站上向公众”提供源代码,而只是要求任何接收衍生作品副本的人也接收或被提供源代码(即,您根本不需要分发 GPL 程序的衍生作品,但如果您这样做,则必须根据 GPL 的条款进行)。

Scratch 2.0 正在使用 Adobe Flash 实现。 请参阅
http://info.scratch.mit.edu/Scratch2FAQ

Adobe Flash 是一个受到严格控制的专有平台。 与 C、C++、HTML、JavaScript 等标准化语言以及 Python、Ruby 和 Perl 等非营利性和社区主导的语言相反,Adobe Flash(以及相关的技术,如 ActionScript、Flex 和 Air)由一个不回应任何社区的需求或愿望的单一实体控制。 例如,当他们突然停止对 GNU/Linux 的 Adobe Air 的支持时,Adobe 向非 Windows 用户展示了他们对其插件和框架的蔑视和漠不关心,这些用户不得不经常依赖这些插件和框架。

对于所有 Flash/Flex/ActionScript 开发人员来说 - 如果这是您喜欢的平台,那就去做吧。 但这不是培养下一代 FOSS 社区的理想平台。 我们需要减少对 FOSS 中 Flash 的依赖。

我同意你的看法。 我在学校介绍了它,但很快就遇到了一个我无法解决的编程情况(向移动物体发射子弹)。 谁来培训我们达到足够的水平?

© . All rights reserved.