基于当前的模式、趋势和技能进步,未来便是编码。正如打算机素养已成为许多不同职业(乃至是打算机科学领域以外的职业)的哀求一样,打算机编程也将如此。
值得光彩的是,本日的孩子们彷佛赞许。根据 Code.org 的数据,超过 1000 万学童参与了一年一度的“编程一小时”活动。编程已经成为一个越来越盛行的话题。
随着当前的环球大盛行将我们中的许多人限定在家里,许多人现在有韶光和手段去追求它。

我们的社会依赖软件运行。教孩子们如何精确利用、交互和潜在地修正它可以证明是其他事情中非常有用的技能。但并非所有的编程措辞都是一样的。一些更繁芜的代码肯定会让孩子们无法学习如何编码。
这便是为什么儿童编码措辞如此主要的缘故原由。他们剥离了常规编程的技能细节和挫折,以帮助孩子(和初学者)熟习基本观点。
在本文中,我们将先容我们认为截至 2021 年最适宜儿童的 12 种编码措辞。
I. SCRATCHScratch 紧张为 8 至 16 岁的儿童开拓,是一种免费利用的教诲编程措辞,由 Mitch Resnick 开拓,并得到麻省理工学院 (MIT) 终生幼儿园小组的专利。由于其直不雅观且高度可视化的界面,它可以说是面向儿童和新编码职员的最著名的基于块的编程措辞之一。
Scratch 平台为孩子们供应了开拓艺术、动画、游戏、互动故事等所需的统统。他们以一种干净、直接的办法做到这一点——有效地保持低挫败感和高参与度。鲜艳的色彩、清晰的标签和有趣的字符都使该平台成为儿童编码传授教化的绝佳出发点。
大概 Scratch 成为我们首选之一的紧张缘故原由是它为儿童供应了表达自由。为孩子们创建基于视觉的编码措辞背后的全体观点是简化编程过程。
如果您曾经见过或考试测验过基于文本的编码,您就会知道技能和/或语法缺点的风险非常高。一个不得当的分号或封闭的括号可以使四十行代码无用,并且必须扫描每一行以查找一个缺点就像听起来一样令人沮丧(如果不是更多的话)。
仅仅考虑让孩子经历这统统是非常不可能的。
像 Scratch 这样的基于块的可视化编程措辞肃清了文本技能细节,这样孩子们就可以专注于学习(和节制)编码的基本观点。利用 Scratch,险些任何具有任何履历水平的人都可以从头开始开拓动画、游戏和互动故事。
更主要的是,Scratch 的在线社区非常弘大。目前有超过 7000 万注册用户(并且还在增加),他们利用 Scratch 平台创建和分享了超过 8200 万个项目。任何人都可以加入这个社区,只要他们友好、尊重并遵守 MIT Scratch 团队的社区准则。
与志同道合的人互动并理解可以利用 Scratch 完成的程序类型,这对您的孩子来说是一种不可思议的灵感和动力来源。事实上,Scratch 用户(被称为Scratchers)须要将他们的项目(包括代码!
)存储到 Scratch 做事器。
这许可其他 Scratchers 访问代码并研究它,以便他们可以看到更高等的程序员如何利用他们正在学习的相同措辞开拓繁芜的游戏!
如果您的孩子有兴趣学习如何利用 Scratch 进行编码,您可以查看 CodaKid 的Scratch 编码课程。这肯定是一次深入、广泛、有教诲意义且引人入胜的体验。
II. BLOCKLYBlockly 是另一种强烈推举的面向儿童的视觉块编程措辞。事实上,它常日被视为谷歌对麻省理工学院Scratch的回应。
乍一看,这两个平台非常相似。Blockly 还利用分块成块的代码行和拖放系统来帮助孩子们学习编码观点。与 Scratch 一样,这肃清了技能缺点的风险,并让孩子们专注于根本知识。Blockly还利用通亮、直不雅观且用户友好的界面来保持孩子们的兴趣和参与度。
两者之间最大的差异在于 Blockly——作为一种面向儿童的可视化、基于块的编程措辞——实际上是由几种预先存在的编码措辞组成的。
在 Apache 2.0 容许下开拓,Blockly 常日被描述为“用于创建可视化编程块编辑器的客户端 JavaScript 库。”这只是意味着 8 岁及以上的孩子可以在他们自己的浏览器安全的情形下利用 Blockly 创建游戏、动画和程序。
他们还将利用以可视块形式编写的盛行编码措辞(如 JavaScript、Python、PHP 等)进行编程。这要归功于 Blockly 的 JavaScript 库,它基本上充当可以访问预先编写的措辞的集中位置。如果须要,用户还可以切换编程措辞(例如从 Python 到 PHP)。
Blockly 的 UI 尤其丰富多彩,他们利用的编码块都有不同的形状。这有助于孩子们轻松找到、选择和识别精确的积木。紧张的脚本编写平台分为两部分:一个包含您须要的块的工具箱和一个用于拖放和块上的空缺区域(即编写代码)。孩子们只需选择他们想要的块,将它们拖出工具箱,然后将它们放到空缺处(一次一个)。一旦块位于空间上,它们就可以重新排列它们以创建序列、循环、条件等。
Blockly 通过检讨运行完成的程序(类似于通过调试过程运行文本代码)。如果办理方案禁绝确或程序没有按照应有的办法运行,Blockly 会再次剖析代码,直到找到缺点,然后突出显示缺点以供用户查找和更正。
这种高度可视化、简洁的编码办法使任何人都可以开拓实际运行的 Android 运用程序。这是精确的; 您可以利用 Blockly 制作实际的运用程序。因此,只管 Blockly 紧张是作为一种面向儿童的编码措辞,但该措辞本身的功能使其不仅仅是一种大略的儿童传授教化工具。
III. ALICEAlice 是卡内基梅隆大学为儿童开拓的另一种免费利用、基于块的可视化编程措辞。这是一个创新的编码环境,可以非常大略地编写动画、交互式叙事和大略的 3D 游戏。
Alice 旨在通过创造性的探索来教授面向工具编程措辞(如 C++)的观点——侧重点是逻辑和打算思维技能、基本编程原则以及对整体编码的基本理解。
Alice 利用与 Scratch、Blockly 和大多数其他视觉编码程序利用的相同的拖放构建块系统。而且,就像那些平台一样,这肃清了基于文本的编码带来的混乱,并许可用户专注于大略地开拓脚本和编写办理方案。
Alice 与 Scratch 和 Blockly 的最大差异在于它还许可用户利用动态摄像机角度和 3D 模型。
利用 Alice 的平台创建的程序可以转换为 Java 编程的集成开拓环境 — 也称为 Java IDE。这基本年夜将用 Alice 的编码块编写的脚本转换为实际的基于文本的编程措辞,如 JavaScript 或 Python。这意味着孩子们可以在处理相同的脚本或项目时从利用可视化编程过渡到标准编程。
唯一须要把稳的是此功能可能会匆匆使年轻不雅观众过快或过早考试测验真正的基于文本的编程(纵然有 10+ 推举)。但是对付真正热衷于编码的孩子——并且不介意随之而来的寻衅——这不应该是一个太大的问题。
IV. LUA (Roblox)对付想要开始(或冒险进入)儿童文本编码措辞的孩子来说,Lua 是一个不错的选择。它是一种免费、可移植且对初学者友好的脚本措辞,它引入了大略的观点,同时优化了可读性和效率。
这也不会以任何办法危害其作为程序或平台的功能。只管界面大略且技能含量最低,但 Lua 仍旧是可用的最强大的免费措辞之一。
这种编程措辞常常被比作 Python,由于它们都是基于文本的简化脚本,旨在肃清可能使孩子们感到沮丧的潜在语法问题。例如,不须要在每行代码的末端写分号。
由于其效率和令人难以置信的便携性,Lua 非常适宜对嵌入式设备和移动运用程序进行编程。事实上,您是否知道曾经盛行(并且非常随意马虎上瘾)的游戏Angry Birds是基于 Lua 的?那不是全部。Roblox——我们一贯以来最喜好的儿童编码平台之一——利用 Lua。
CodaKid 的Game Development with Roblox赛道也恰好是我们最受欢迎的在线课程之一,由于我们的学生可以利用 Lua 代码创建一系列令人愉快的游戏。
Lua 也只有一个弘大而生动的社区(就像 Scratch 一样)。它充满了其他编码职员、学习者和履历丰富的开拓职员,他们非常乐意为年轻和新成员供应辅导、技巧和反馈。
V. JAVA (Minecraft)我们不得不承认,我们不像 Lua 那样喜好 Java。Java 作为一种编程措辞已经足够、有效且功能强大,足以成为编程社区中相称盛行的选择。然而,作为一种面向儿童的编程措辞,它并不是我们的最爱。不过,我们将它列入此列表有几个缘故原由,个中最大的缘故原由是 Java 是Minecraft的措辞——险些每个人都知道和/或听说过的在线沙盒游戏平台。
自 2011 岁首年月次推出以来,《我的天下》在儿童、青少年乃至成人中逐渐盛行起来!
游戏的实质鼓励创造性思维和横向办理问题的技能。
只管它的设计很大略——险些卡通化——但 Minecraft 实际上供应了一种繁芜的、多方面的游戏体验。游戏不会以任何办法强制玩家的手。事实上,Minecraft 玩家乃至不必玩游戏的实际“紧张任务”。他们可以为所欲为地自由探索、挖掘、制作和建造。
在教孩子们编码的背景下,Minecraft 可以成为教孩子逻辑、办理问题、视觉空间技能和手眼折衷能力的强大工具——仅举几例。
此外,Minecraft 玩家可以利用 Java 为游戏创建修正(常日称为“mod”)。Mods 基本上是可以改变游戏的附加组件。
从小的添加(比如添加新的武器和材料)到紧张的修正(比如完备改变图形的外不雅观),mods 是 Minecraft 社区连续发展并保持生动的缘故原由之一。玩家不断上传新模组并更新旧模组,以使游戏更有趣。
要创建模组,玩家必须访问 Minecraft 的 Java 源代码(由于 Minecraft 的开放架构而可用)并相应地编写代码。如果您想更深入地理解 mod 可以做什么,这里是截至 2021 年的最佳 Minecraft Mod列表。
因此,只管它是一门(相称)繁芜的措辞,但我们仍旧不得不承认,学习 Java 是非常有益的。对付真正想要学习基于文本的编码和/或喜好玩 Minecraft 的孩子,Java 也是一个不错的选择。
VI. PYTHON与 Java 不同,Python 不是一种繁芜的儿童编程措辞。事实上,它干净、刀切斧砍,并且绝对令人愉悦(与大多数其他基于文本的编码措辞比较)。它可能不是基于块的,但它肯定利用相同的原则:保持大略并专注于根本。事实上,它是如此的用户友好,以至于 8 岁的孩子都可以学习它。
除其他外,Python 坚持利用良好的代码布局来优化效率。它还许可在线支持和广泛的可访问 Python 库。随着孩子们利用 Python,他们将学习一些更繁芜但仍旧至关主要的编码根本知识:变量、循环、函数、语句、基本数据构造(如列表、映射等)等等。
节制这些观点将为您的孩子往后处理更高等的编程项目打下良好的根本。
Python 对文本的利用与其精简、重组的编码方法相结合,使其既是节制其他措辞的有力出发点,又是严明游戏/网络/运用程序开拓的强大工具。我们 CodaKid 坚信 Python 是最适宜儿童的、最有效的编码措辞之一。
事实上,我们有一个与我们的 Minecraft 和 Roblox 课程一样成功的Python 游戏开拓课程。孩子们可以创建各种 2D 游戏(格斗、多人游戏等),同时加强他们对 Python 和基于文本的整体编程的节制。
如果您想理解有关 Python 的更多信息,请参阅我们的文章,概述Python 编程最适宜儿童的 5 个缘故原由!
只管是鲜为人知的之一——而且是更新的!
– 编码措辞,Go(发音为“Gow”)正在成为相称多的选项中更好的补充之一。
这种开源编程措辞于 2009 年开拓和发布,被描述为“静态类型”和“编译”,与 C++ 和 Haskell 等较旧的、更常见的脚本处于同一条船上。只管 Go 还很年轻,但它已经开始在社区中掀起波澜。事实上,Go 已经遍及到各种不同的行业。
现在有越来越多的财富 500 强公司和公司在他们的程序中利用 Go。一些例子?优步。网飞。乃至美国运通也利用 Go。
从构造上讲,Go 与 C 非常相似。C 也是一种编译措辞,它利用了与 Go 相同的许多技能、布局和语法系统。最大的差异在于构造类型、CSP 样式并发、内存安全和垃圾网络。这基本上意味着习惯用 C 编码的人仍旧须要从头开始学习 Go,但措辞之间的转换无疑是无缝的。
在语法大略性方面,Go 也常常与 Python 进行比较。在我们看来,Python 比 Go 大略得多。但是同时学习两者都没有坏处,由于 GO 很可能有一些好处,比 Python 更适宜编程问题。
直到本日,围棋的受欢迎程度还在不断上升。彷佛越来越多的开拓职员已经捉住了这种措辞的潜在可能性,而且他们彷佛不会很快放弃。
撇开可访问性和能力不谈,Go 与 Python 一样适宜儿童编程措辞,这要归功于其简化和精简的品质。
VIII. TWINETwine 被定义为一种免费的“用于讲述交互式、非线性故事的开源工具”。它着重于编码的创建方面,摒弃了编码观点和技能术语。
事实上,Twine 选择通过教用户如何构建和呈现交互式游戏和故事来教用户如何编码。这使得 Twine 非常适宜那些喜好创造但对编码的机器和方法论方面感到不知所措或沮丧的孩子。
Twine 最初于 2009 年创建和发布,从那时起,它被各种年事、背景和技能水平的人和程序员(包括大量教诲事情者)利用。
利用 Twine 时,孩子们不须要知道代码或如何编写代码。但是,如果他们有专业知识,他们确实可以选择 利用变量、条件逻辑、CSS、JavaScript 等来扩展他们的故事。利用 Twine 制作的故事由通过设计界面连接的文本和图像页面(如网站)组成。每个页面都可以利用文本、链接和图像进行修正。
Twine 也直接发布到 HTML,这意味着孩子们险些可以在任何地方发布他们的作品,并且险些任何人都可以利用它。
虽然 Twine 并不完备是一个教孩子们编码的运用程序,但它可以被视为一种编程措辞,可以帮助孩子们培养他们在编程中所需的方案和设计技能。还值得一提的是,Twine 现在已经成为许多游戏设计师和故事讲述者的主要运用程序。该运用程序有一个支持维基、在线教程和一个非常生动的用户社区。
IX. JAVASCRIPT与 Java 不同,JavaScript 是一种非常适宜儿童的编码措辞。它干净、整洁,并且比 Java 具有更少的语法(和其他潜在的技能)哀求。它还有助于险些所有网络浏览器(即 Google Chrome、Mozilla Firefox 和 Internet Explorer)都利用它。
如果您的孩子能够节制这门措辞,他们险些可以完备访问所有内容。他们可以将大略的 Web 文档转换为完全的游戏或令人难以置信的交互式运用程序。他们创建的每个项目都可以被广泛的受众共享和消费。JavaScript 实质上是网络措辞。
当然,如此强大的功能和多功能性须要权衡。JavaScript 有很多元素须要把稳。它可能并不凌乱,但不可否认它是广泛的。孩子们必须完备节制变量、数组、工具、方法、循环表、函数和参数,然后才能深入学习 JavaScript。
我们知道; 很多。但我们完备相信这是值得的。
在 CodaKid,我们认为 JavaScript 是一种升级技能,适用于已经拥有相称数量的 Scratch 或 Python 编码履历的孩子。我们推举的年事是 10 岁,但诚笃说,我们已经看到一些年仅 8 岁的孩子参加并充分享受我们的JavaScript 游戏开拓 课程。
X. C# (Unity)C# 与其说是一种编程措辞,不如说是一种盛行的游戏引擎(称为 Unity),拥有自己的措辞。只管如此,作为一个完全的平台,它仍旧是一个很好的工具,可以教孩子们在创建具有专业外不雅观的高质量游戏时如何编码。作为一个封闭源代码、跨平台的游戏开拓运用程序,C# 许可用户在 3D 中利用工具。他们还可以选择向这些工具添加各种元素。
如果您的孩子熟习 Java,他们可能会创造 C# 很相似,因此很随意马虎节制。
然而,只管 C# 处于游戏平台状态,但它实际上紧张被称为 Windows 运用程序开拓的紧张措辞。比较大多数,C#A体面强大的措辞,可用于许多项目其他比Windows运用程序。但是,其直不雅观的功能和完全的 .NET 支持使其险些成为每个开拓职员在为 Windows 操作系统创建桌面软件时的首选。
C# 不是特殊大略或对孩子友好,但 Unity 使孩子们可以在利用引擎创建游戏时学习该措辞。更主要的是,学习 C# 的内在哀求可以让您的孩子具备编程技能和软技能,他们可以在未来的编码事情中轻松利用这些技能。这使得 Unity 和 C# 成为好奇的新编码职员的一个很好的出发点。
Unity 有一个免费版本可供下载,并且可以在 Unity 官方网站高下载大量免费教程和课程。有了足够的辅导,孩子们在浏览引擎和网站来学习 C# 时该当险些没有问题。
XI. SWIFT (Swift Playgrounds)虽然我们不太喜好 Swift Playgrounds 如何将 Android 用户打消在体验其无可否认的丰富和完备吸引人的环境之外,但我们不能由于它是 iOS 独占而责怪它。Swift Playgrounds 最初于 2016 年推出,作为教孩子们如何编码的工具进行发卖。时至今日,它仍旧是最适宜儿童的编码工具和编程措辞之一。
Swift Playgrounds 运用程序包含许多基本的编码课程和游戏化的编码寻衅供孩子们完成。界面紧凑,干净,视觉上令人愉悦。绝对是一次很好的考试测验,如果不仅仅是为了体验。
然而,这是值得把稳的是,斯威夫特游乐场不许可太多的自由和其教训,给点创意思维,我们就会真正要调用的教训限定。与浩瀚编码资源和儿童编码传授教化工具不同,用户不能偏离每节课和寻衅中的预定义路径。这是一些孩子可能更喜好的非常严格的体验(特殊是如果他们喜好秩序和辅导),但这意味着其他孩子可能会以为它太令人窒息或不足吸引人。
XII. RUBY末了但并非最不主要的是 Ruby——一种面向儿童的动态类型、面向工具的编程措辞。它利用清晰的语法、垃圾网络和即时编译来优化编码体验。对付负责的编码职员,Ruby 可以支持多种编程范式(包括过程和函数式编码)。
对付新伎俩式员和年幼的孩子,Ruby 可以以一种随意、直接的办法先容看似繁芜的观点。它是一种专门设计用于使编码尽可能大略和大略的措辞。根据创建者的说法,它遵照最小惊异原则 (POLA) 哲学,并且基于同样大略的脚本措辞,如 Smalltalk、BASIC 和 Lisp。
主要的是要记住,每个孩子都是不同的。没有一刀切的办理方案来教孩子们编码。
我们在这里学习、评估和推举的 12 种措辞都是很好的选择。这是列表的快速回顾:
ScratchBlocklyAliceLuaJavaPythonGoTwineJavaScriptC#Swift PlaygroundsRuby