编程应当与ABC字母表和颜色同时得到教学,所有人都应该更早地学习如何编程。
——美国总统奥巴马
说起编程,你能想到什么?让人一脸茫然的枯燥符号?以编程为手艺,坐在电脑前“蓬头垢面”的码农?还是追逐潮流,给孩子入手的一款乐高机器人?
美国前任总统奥巴马曾在2013年“编程一小时”活动的开幕式上如此说道:“不要只是买一个新的电脑游戏,自己做一个;不要只是下载最新的应用程序,帮助设计它;不要单纯在手机上玩,编写它的代码。无论你在城市还是农村,电脑将是你未来的重要组成部分。如果你愿意工作,努力学习,未来将由你们创造。”
目前,“编程一小时”的活动已经吸引了来自全球180多个国家和地区的数以万计的学习者参与其中。
可以说,计算机编程是一项需求不断增长其潜在利润丰厚的事业,所以现在的父母们可能都希望自己的孩子长大后成为一名软件程序员。虽然有了想教自己的孩子编程的念头,但是究竟该从哪里着手却难住了所有“望子成龙、望女成凤”的家长!贴心的小编特意为大家总结了一份适合孩子的编程语言以及工具,希望能够对您有所帮助:
展开全文
1. Scratch
Scratch 是麻省理工学院(MIT)终身幼儿园实验室(Lifelong Kindergarten Lab)开发的一款免费儿童编程语言。该免费语言由入门教程、家长课程指导以及一个强大的用户社区所组成。当没有计算机在身边的时候,它甚至可以为你提供学习 Scratch 编程概念的卡片。
Scratch 使用构建块形式的视觉界面为孩子(和他们的父母)创建一个更加系统的体验。你可以将编程组件(例如动作、事件以及操作等)叠加在一起。
每个块都有一种形状,只允许其同与它的形状兼容的对象结合在一起。 例如 “重复循环”(Repeat loops)的形状像一个侧面的“U”形,让你一看就知道需要把块放到一个循环的开始和停止之间。
Scratch允许你的孩子使用预先填充的图像和字符,或是新上传的素材来创建属于自己的动画、游戏和故事。此外,孩子们还可以通过 Scratch 的在线社区与世界各地的其他人一同分享创造的成果。
可以拿来利用预先填充的图像以及字符或者是上传新的,来制作出真正的动画和游戏。Scratch 无需互联网连接就能为我们所用。孩子们可以选择将他们的作品共享到 Scratch 的在线社区。
因为Scratch是免费的,而且得到了世界各地用户很好的支持,所以它是儿童友好型编程工具的最佳选择之一, 而且可以看出,下述其它适合孩子的编程语言也或多或少地受到了Scratch的影响,比如说下文介绍的Blockly。
建议年龄:8-16;
需求:运行Mac、Windows或者Linux系统的计算机;
2.Blockly
Blockly 是 Google使用了相同的互锁(interlocking)构建块对Scratch进行的改进和重构,但它可以输出多种不同编程语言的代码。目前,这些语言包括 Javas、Python、PHP、Lua以及Dart。这使得 Blockly 更像一个可视化的编辑器,而不仅仅是一个儿童友好型的编程语言。
打开Google Blockly网站,有三个演示链接:
第一个是很简单的迷宫编程,只需简单的拖放几个模块便可完成任务。当然,你也可以用更复杂或更简单的方式来完成此编程。
第二个是普通编程工具,里面有大量的编程模块供学习者调用,所有模块都可以直接拖放。最重要的是,Blockly的编程语言还可以以Java、Dart、Python、XML等语言形式导出,方便用户学习参考。
第三个则是第二个的镜像,左右颠倒的,专为阿拉伯人和希伯来人设计的。
Google Blockly确实是一个简单易用的编程学习软件。不管是自学还是通过教学,Blockly都能让学习者快速理解并编写一段代码或创建一个程序。
建议年龄:10+ ;
要求:运行Windows、Mac OS或者Linux系统的电脑 ;
3.Alice
Alice 一个可免费使用的 3d 编程工具,被设计用来教授面向对象编程语言的概念,比如 C++。它使用熟悉且容易获得的建筑积木让孩子通过编程控制摄像机运动,3D 模型和场景来创建游戏或动画,并在网络上将交互行为和视频进行分享。Alice 的主要目的是给你的孩子接触基本的面向对象编程。
对于一些学生来说,Alice拖拽型的交互界面和简单的“播放”按钮比起Scratch杂乱的界面而言可以减少困惑。Alice中的程序或“方法”可以转换为 Java IDE,比如 NetBeans,因此编程学生可以从可视化的构建块界面转换为标准的编程语言。
Alice 是由卡内基·梅隆大学开发的。其官网目前并不完善,该计划尚在开发和进一步研究中。
注意:如果你想在Mac上安装Alice,你必须去系统设置>安全和隐私>允许应用从:任何地方下载。(安装完成后,你就可以更改安全设置)。
建议年龄:10+;
要求:运行Mac、Windows或Linux系统的电脑;
4. Swift Playgrounds
Swift 是一款针对iOS和OSX开发的新编程语言,其目标是让iOS和OSX开发变得更简单,更有乐趣。Swift Playgrounds 是一款 iPad 游戏,旨在教孩子们如何在 Swift 中编程。该游戏可以从苹果免费下载,不需要任何先前的编码知识。
该应用程序包含了许多关于不同Swift 命令的教程,例如,在3D世界中移动一个名为“Byte”的字符。虽然不需要编程知识,但是孩子们确实需要知道如何阅读教程,并且有一些解决问题的毅力。拖放代码可以消除打字错误,但Swift Playgrounds并没有使用互锁(interlocking)块界面。
一旦你的孩子精通了Swift Playgrounds,他们就可以开始用 Swift进行开发了。
建议年龄:10+;
要求:iPad;
5. Twine
对于那些对创建游戏和讲故事更感兴趣的,而对编程技术细节不感兴趣的孩子,可以尝试下Twine。
Twine 是一款免费的非线性叙事性应用程序,适用于所有年龄段的用户,包括大量的成年人和教育者。使用Twine,你不需要学习任何代码。它的目的不是教用户如何编写代码,而是教他们如何构建和呈现非线性的游戏和故事。
Twine 的故事由页面文本和图像组成,类似网站。设计界面中显示了连接的页面,每个页面都可以使用文本、链接和图像进行修改。它特别适用于“选择自己的冒险”类型的游戏,每个玩家的选择都可以触发一个新的故事分支。
虽然这个应用程序不会教孩子编码,但它教授了孩子很多规划和设计方面的技能,这些技能对于游戏设计师和故事讲述者而言都是至关重要的。该应用程序通过 wiki、教程和活跃的用户社区赢得了很好的用户支持。
你可以通过托管应用程序在线创建Twine故事,或下载应用程序进行离线编辑。
建议年龄:12+ (大量读者推荐);
要求:Windows、Mac OS 或者Linux系统设备;
6. LEGO Mindstorm Robotics(乐高头脑风暴机器人)
学习编程的另一种方法就是观察机器人。你可以使用各种各样的机器人工具包和语言来编程,而乐高 Mindstorms 系统是拥有最大用户社区的儿童友好型可视化编程应用程序之一。
你可以免费下载编程环境,但你需要获得乐高Mindstorms工具包才能使程序运行。这并不意味着你必须要购买一个。一些学校和公共图书馆有可供学生使用的工具包,或者您可能想在你附近找到一个First LEGO League(第一乐高联盟)。
乐高EV3 编程软件可以在平板电脑和计算机上运行,它使用了一个构件块(一个乐高积木)的比喻,就像 Scratch 和 Blockly 一样,虽然乐高版本更倾向于水平地构建程序,并且看起来更像一个流程图。学生门组合不同的动作、变量和事件来操纵他们的乐高Mindstorms 创作。
编程语言对于年龄较小的孩子来说足够简单,而对于年龄较大的孩子甚至成年人来说仍然是有挑战性的(我们曾经在一个面向程序员的技术会议上发现了一个 Google赞助的乐高编程活动。)
除了乐高Mindstorms 编程环境之外,乐高还使用一个开源的Linux内核,可以通过更传统的编程语言(如Python或C++)进行修改和编程。
技术要求:EV3编程语言在Mac、Windows、Android和iOS上均可运行。
运行程序(而不仅仅是调试它们)可控制一个或多个乐高 EV3 机器人。(对于更复杂的程序,最多可以使用菊花链(daisy-chained)连接六台机器人。)
建议年龄:10+(年龄越小的孩子需要越多监督);
要求:运行Windows或者Mac OS系统的计算机或运行 Android、iOS 的平板电脑;
7. Kodu
Kodu 是微软为 Xbox 360 设计的游戏编程应用程序。它是一种专门为儿童设计的编程语言,这种编程语言,基于图标和拖拽;它与我们理解的C#、Java、C++完全不一样,在编程过程中不需要敲击任何代码,只需要使用鼠标和键盘拖拽图标,便可以设计一款场景丰富、逻辑复杂的游戏软件。
Windows 版本是免费的,但 Xbox 360 版本需要 4.99 美元。其最核心的理念就是让孩子们动手自己来针对某对象的“条件和语句”来实现自己的创意,在3D世界中探索和设计游戏。
Kodu 的图形界面很有吸引力,Xbox 版本的编程可以完全在游戏控制器中完成。如果你有硬件支持,Kodu可以算是一款更旧但仍然可靠的选择。据悉,澳大利亚的某些公立学校已经把Kodu列为了实验课程。
不幸的是,目前Kodu还不支持多人协作编程,也不支持从 PC 端将游戏程序分享至 Xbox 360 端。而且在 PC 版的一些地图中,需要开发者将 Xbox 360 控制器改变为键盘或鼠标才可顺利游戏。
建议年龄:8-14岁;
要求:Windows 7 及其以下版本或者Xbox 360;
其他在线编程资源
如果觉得这些语言不合适,或是你的小孩想进行更多的尝试,下面还有几款资源可供参考(不做详细介绍,有兴趣可自行下载体验):
1.Hopscotch:可以让你的孩子在通过拖拽代码块来完成对游戏、故事、动画和其它交互式程序的开发。目前该应用只针对 iPad 用户提供免费下载。
2.Tynker:使用简单的可视化编程语言,不需要编程语法,而只需要将代码块组合起来就可以创建项目,但是需要付费。
3.Kodable:iPad 上的一款免费的编程应用程序,主要有3个等级的编程学习方案,包含了幼儿园到2年级课程、3年级到5年级课程以及6年级到12年级的课程。
4.RoboMind:使用 RoboMind,你的孩子可以学习基本的人工智能,甚至可以在真正的机器人套件如乐高Mindstorms NXT 2.0 上使用它。但是只提供 30 天的免费试用,之后需要收费。
5.Etoys:用来创建游戏、模型和故事。其开发项目包含了图形、动画对象、音乐、声音、扫描图片和文本。Etoys是免费的,可以自由使用。
对于年龄较大的孩子,你可能想直接学习标准的编程语言,如Python、Java或Ruby。这时候你的需求就不是这些儿童编程语言能够满足的了,你需要的就是可汗学院(Khan Academy)和 Codecademy这些能够提供免费编程入门的在线教程。
此外,Unity 3D 游戏界面是另一个伟大的学习3D游戏编程的好方法,其中包含大量在线资源。只要记住,编程本质上就是充满挑战的。它涉及大量的故障排除、验证以及错误处理。父母能提供给初学编程的孩子最好工具就是耐心和决心。
最后要提醒你的是,这个暑假,美国总统特朗普的女儿都已经带着她5岁的孩子参加编程课程了。你还在等什么呢?
安在
(ID:AnZer_SH)
新锐|大咖|白帽|深度