如何让孩子学习编程?5种适合儿童的编程语言推荐
计算机编程是一种需求很旺盛的职业道路。所以父母可能期望自己的孩子长大后能成为软件程序员。要是你想让孩子们学习编程的话,那该从哪里开始呢?在这个列表里尝试一些适合儿童的编程语言吧。

1.Scratch
Scratch 是由麻省理工学院的终身幼儿园实验室所开发的面向孩子的一种编程语言,且是免费的。通过入门教程、针对父母的课程说明以及强大的用户社区,对这种免费语言进行了补充。甚至在孩子离开计算机的时候,他们还可以利用这些卡片来学习 Scratch 的编程概念。
Scratch 用积木式的视觉界面为孩子和父母构建起了一种脚手架体验。您会把编程组件,像动作、事件以及运算符等,堆积在一起。
每个块的形状有其特定要求,只允许与兼容对象进行组合。比如,重复循环的形状类似一个侧面呈“U”形的样子,这是为了告知你在循环的开始和结束位置之间需要放置块。
Scratch 利用预先填充好的图像和角色,或者通过上传新的图像和角色来制作真实的动画与游戏。Scratch 并不需要互联网进行连接。孩子们能够选择在 Scratch 的在线社区里把他们的作品分享出去。
Scratch 是免费的,同时也得到了良好的支持。所以它是对儿童友好的编程的最早建议之一。很容易能看出 Scratch 在许多其他对儿童友好的编程语言(如 Blockly)中所产生的影响。
建议年龄:8至16岁
要求:Windows,macOS或Linux
2.Blockly
Blockly 是 Google 对 Scratch 作出的改进。它采用了相同的互锁构建基块隐喻。同时,它能够使用多种不同的编程语言来输出代码,这些编程语言包括 JavaScript、Python、PHP、Lua 和 Dart。这使得 Blockly 成为了一种可视化编辑器,而并非仅仅是一种对儿童友好的编程语言。
在将块链接在一起时,您能在屏幕侧边看到代码,还可以即刻切换编程语言,借此查看同一基本程序在语言语法方面的差异。这让 Blockly 很适合用于在各个年龄段教授代码,像年龄较大的孩子以及成年人,他们或许不喜欢年轻的歪斜猫和 Scratch 的漫画。
Google 正在和 MIT 展开合作,其目的是基于 Blockly 平台来开发下一代的 Scratch。
Blockly 是 Android App Inventor 的重要组成部分,能够用来开发能够运行的 Android 应用程序。麻省理工学院对这个已被废弃的 Google 项目进行了掌控。
Blockly 没有像 Scratch 那样被充分开发,可用的教程也比较少。然而,Blockly 期望能为各个年龄段的程序员提供一个强大的编程环境,并且有着广阔的未来。
建议年龄:10+
要求:Windows,macOS或Linux
3.Alice
儿童可以通过对相机运动、3D 模型和场景进行编程来创建游戏或动画。
Scratch 的界面较为凌乱,而拖放界面以及轻松的播放按钮,对于某些学生来说,可能不会引发太多的混乱。能够把程序(或者 Alice 中的“方法”)转变为 Java IDE(例如 NetBeans),这样一来,编程学生就可以从可视化的构建模块界面过渡到标准的编程语言。
卡内基 - 梅隆大学开发出了爱丽丝。这个网站或许看上去不是很美观,不过该程序依然处于开发和研究的进程当中。
建议年龄:10+
要求:Windows,macOS或Linux
在 Mac 上安装 Alice 时,需要通过以下操作来启用安装:转到系统偏好设置,然后进入安全和隐私设置,在其中勾选允许从 App Store 和 Identified Developers 位置下载应用程序。安装完成后,要记得更改安全设置。
4.Swift Playgrounds
iOS 和 iPadOS 的应用程序开发人员依靠 Swift 编程语言。Mac 应用程序可以使用 Swift Playgrounds ,iPad 应用程序也可以使用 Swift Playgrounds 。Swift Playgrounds 旨在教授孩子如何使用 Swift 编程,能够从 Apple 免费下载,并且无需任何先验编码知识。
这些应用程序包含诸多有关不同 Swift 命令的教程,这些教程的目的是让名为 Byte 的角色在 3D 世界中移动。虽然不需要具备编程知识,但孩子们得知道怎样阅读教程,并且要有一定解决问题的毅力。拖放代码能避免拼写错误,然而 Swift Playgrounds 不采用互锁块界面。
您的孩子精通 Swift 游乐场之后,就能够开始在 Swift 中进行开发。
建议年龄: 10+
要求: iPad或Mac
5.Twine
Twine 适合那些对创建游戏以及讲故事感兴趣的孩子,同时这些孩子对编程的技术细节会感到沮丧。
Twine 是一个免费的应用程序,可用于非线性讲故事。各个年龄段的人都能使用它,其中有大量的成年人以及教育工作者。使用 Twine 时,您无需去学习代码。它不会教用户如何编码,而是教他们怎样构造和呈现非线性的游戏与故事。
麻线故事包含文字和图片页面,像网站那样。设计界面展示了相互连接的页面,每个页面都能通过文本、链接和图像来进行修改。它在“选择自己的冒险”这类游戏中特别管用,因为每个玩家的选择都会开启故事的新分支。
此应用程序不教授编码,然而它教授了许多对游戏设计师和讲故事者极为重要的规划与设计技能。该应用程序得到了受支持的 Wiki、教程以及活跃的用户社区的良好支持。
您还可以下载应用,以便进行离线编辑。
建议年龄:12岁以上(强烈建议读者)
要求:Windows,macOS或Linux
6.LEGO MINDSTORMS
学习编程的一种途径是研究机器人技术。许多孩子会对编程在现实世界中能让事物运作的想法产生反应。这里有各式各样的机器人套件,你可以用它们来进行编程语言的学习。其中,LEGO MINDSTORMS 系统拥有最大的用户群体,并且是孩子友好型可视化编程的应用程序之一。
您可以免费下载编程环境,不过要运行程序就需要访问 LEGO Mindstorms 套件。这并不表明您就一定得购买一个。有些学校和公共图书馆会提供供学生使用的工具包,也有可能您想在附近找到一个第一乐高联盟。
乐高 EV3 编程软件能在平板电脑和计算机上运行。它使用了构建块(即乐高块)隐喻,就像 Scratch 和 Blockly 那样。不过,乐高的版本倾向于水平构建程序,看起来更像流程图。学生通过结合动作、变量和事件来操控他们的 LEGO Mindstorms 作品。年幼的孩子觉得编程语言很简单。年长的孩子和成年人觉得编程语言仍充满挑战。
LEGO 除了有 LEGO Mindstorms 编程环境之外,还使用开放源代码的 Linux 内核,并且能够通过 Python 和 C++等传统编程语言对其进行修改和编程。
建议年龄:10岁以上(幼儿可以在监督下使用)
EVA3 可在运行 macOS 或 Windows 的计算机上运行,也可在运行 Android 或 iOS 的平板电脑上运行。若要运行程序而非调试程序,就需要一个或多个 LEGO EV3 机械手。
7.Kodu
孩子们能够利用该应用程序去探索并设计 3D 世界中的游戏。
Kodu 的图形界面很有吸引力,Xbox 版本的编程能够通过游戏控制器来完成。倘若您拥有能够支持它的硬件,那么 Kodu 就是一个比较旧但依然可靠的选择。
不幸的是,目前没有 Xbox 版本的 Kodu 。并且从未来的发展情况来看,似乎也不太可能会有。不过,Xbox 和 Windows 版本已经被完全开发出来了。这就是为什么即便要放弃它,还是将其包含在这个列表中的原因。
建议年龄:8至14岁
要求:Windows 7及以下版本或Xbox 360
总结:
中学生如果有动力,可能需要尝试制作和安装 Minecraft mod。通过大量可用在线资源来跳入编程 3D 游戏,Unity 3D 游戏界面是另一种好方法。要记住,编程本身是令人沮丧的。它包含很多故障排除以及反复试验的过程。对于初出茅庐的程序员,父母可以提供的最佳工具就是毅力和决心。