【写在前面的话】
编程,你能想到什么?代码?机器人?乐高?还是“胡子拉碴”的以编程为手艺的码农?
很多人在宣扬,为什么要学习编程。磨炼逻辑思维、创新能力、容错能力、专注能力以及动手办理问题的能力;学好编程,能使自己拥有一项主要的谋生技能;诸如此类,比比皆是。

个人觉得,编程有点被过于神化了!
编程不即是人工智能,人工智能的定义是研究、开拓用于仿照、延伸和扩展人的智能的理论、方法、技能及运用系统的一门新的技能科学。个中包含:编程、硬件、大数据......
学习了编程,不代表您的孩子就赢在了起跑线;不代表您的孩子能够旋转学习的颓势;更加不代表您的孩子参加了所谓某某奥赛、某某竞赛编程就能够一步登顶,由于那是千军万马过独木桥。
编程不过是一种工具而已,编程不能办理所有问题,但是可以让我们的孩子多了一种更便捷的办理问题的方法,就像打算机可以快速打算,但不能办理所有问题一样。
以是,希望家长朋友们,以沉着心来看待编程教诲,看待机器人教诲,看待STEAM教诲!
下文为大家总结了一些个人认为比较主流的编程措辞,个中涉及软件编程与硬件编程,仅供参考,不喜勿喷!
ps.个人建议:只管即便学习软件+硬件的编程课程,这样才能贴近我们的实际生活,最紧张的是孩子一贯看电脑,如下的软件大多数也已经与硬件想领悟了。
Scratch
【建议年事】6~16岁
【运行环境】Mack、Windows、Linux的打算机
【利用人数】★★★★★
【上手速率】★★★★★
Scratch操作界面
Scratch 是麻省理工学院(MIT)终生幼儿园实验室(Lifelong Kindergarten Lab)开拓的一款免费儿童编程措辞。该免费措辞由入门教程、家长课程辅导以及一个强大的用户社区所组成。当没有打算机在身边的时候,它乃至可以为你供应学习 Scratch 编程观点的卡片。利用构建块形式的视觉界面为孩子(和他们的父母)创建一个更加系统的体验。你可以将编程组件(例如动作、事宜以及操作等)叠加在一起。
每个块都有一种形状,只许可其同与它的形状兼容的工具结合在一起。 例如 “重复循环”(Repeat loops)的形状像一个侧面的“U”形,让你一看就知道须要把块放到一个循环的开始和停滞之间。
Scratch许可你的孩子利用预先添补的图像和字符,或是新上传的素材来创建属于自己的动画、游戏和故事。此外,孩子们还可以通过 Scratch 的在线社区与天下各地的其他人一同分享创造的成果。
可以拿来利用预先添补的图像以及字符或者是上传新的,来制作出真正的动画和游戏。Scratch 无需互联网连接就能为我们所用。孩子们可以选择将他们的作品共享到 Scratch 的在线社区。
由于Scratch是免费的,而且得到了天下各地用户很好的支持,以是它是儿童友好型编程工具的最佳选择之一, 而且可以看出,目前市情上大多数编程措辞均不同程度的收到了Scratch的影响。
LEGO Mindstorm Robotics(EV3 乐高头脑风暴机器人)
【建议年事】8+
【运行环境】Mack、Windows、Linux的打算机;Android、iOS的平板电脑
【利用人数】★★★★★
【上手速率】★★★★
EV3操作界面
学习编程的另一种方法便是不雅观察机器人。你可以利用各种各样的机器人工具包和措辞来编程,而乐高 Mindstorms 系统是拥有最大用户社区的儿童友好型可视化编程运用程序之一。
你可以免费下载编程环境,但你须要得到乐高Mindstorms工具包才能使程序运行。这并不虞味着你必须要购买一个。一些学校和公共图书馆有可供学生利用的工具包,或者您可能想在你附近找到一个First LEGO League(第一乐高同盟)。
乐高EV3 编程软件可以在平板电脑和打算机上运行,它利用了一个构件块(一个乐高积木)的比喻,就像 Scratch 和 Blockly 一样,虽然乐高版本更方向于水平地构建程序,并且看起来更像一个流程图。学生们组合不同的动作、变量和事宜来操纵他们的乐高Mindstorms 创作。
编程措辞对付年事较小的孩子来说足够大略,而对付年事较大的孩子乃至成年人来说仍旧是有寻衅性的(我们曾经在一个面向程序员的技能会议上创造了一个 Google资助的乐高编程活动。)
2019年起除了乐高Mindstorms 编程环境之外,还可以通过更多的编程措辞(如Scratch)进行修正和编程。
运行程序(而不仅仅是调试它们)可掌握一个或多个乐高 EV3 机器人。(对付更繁芜的程序,最多可以利用菊花链(daisy-chained)连接六台机器人。)
Python
【建议年事】10+
【运行环境】Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE、PocketPC、Symbian以及Google基于linux开拓的android平台
【利用人数】★★★★
【上手速率】★★★★
Python操作界面
Python的创始人为荷兰人吉多·范罗苏姆(Guido van Rossum)。1989年圣诞节期间,在阿姆斯特丹,Guido为了丁宁圣诞节的无趣,决心开拓一个新的脚本阐明程序,作为ABC 措辞的一种继续。之以是选中Python(大蟒蛇的意思)作为该编程措辞的名字,是取自英国20世纪70年代首播的电视笑剧《蒙提.派森的翱翔马戏团》(Monty Python's Flying Circus)。
ABC是由Guido参加设计的一种传授教化措辞。就Guido本人看来,ABC 这种措辞非常幽美和强大,是专门为非专业程序员设计的。但是ABC措辞并没有成功,究其缘故原由,Guido 认为是其非开放造成的。Guido 决心在Python 中避免这一缺点。同时,他还想实现在ABC 中闪现过但未曾实现的东西。
就这样,Python在Guido手中出身了。可以说,Python是从ABC发展起来,紧张受到了Modula-3(另一种相称幽美且强大的措辞,为小型团体所设计的)的影响。并且结合了Unix shell和C的习气。
Python已经成为最受欢迎的程序设计措辞之一。自从2004年往后,python的利用率呈线性增长。Python 2于2000年10月16日发布,稳定版本是Python 2.7。Python 3于2008年12月3日发布,不完备兼容Python 2。2011年1月,它被TIOBE编程措辞排行榜评为2010年度措辞。
由于Python措辞的简洁性、易读性以及可扩展性,在国外用Python做科学打算的研究机构日益增多,一些有名大学已经采取Python来教授程序设计课程。例如卡耐基梅隆大学的编程根本、麻省理工学院的打算机科学及编程导论就利用Python措辞讲授。浩瀚开源的科学打算软件包都供应了Python的调用接口,例若有名的打算机视觉库OpenCV、三维可视化库VTK、医学图像处理库ITK。而Python专用的科学打算扩由于Python措辞的简洁性、易读性以及可扩展性,在国外用Python做科学打算的研究机构日益增多,一些有名大学已经采取Python来教授程序设计课程。例如卡耐基梅隆大学的编程根本、麻省理工学院的打算机科学及编程导论就利用Python措辞讲授。浩瀚开源的科学打算软件包都供应了Python的调用接口,例若有名的打算机视觉库OpenCV、三维可视化库VTK、医学图像处理库ITK。而Python专用的科学打算扩标识展库就更多了,例如如下3个十分经典的科学打算扩展库:NumPy、SciPy和matplotlib,它们分别为Python供应了快速数组处理、数值运算以及绘图功能。因此Python措辞及其浩瀚的扩展库所构成的开拓环境十分适宜工程技能、科研职员处理实验数据、制作图表,乃至开拓科学打算运用程序。
Mixly(米思齐)
【建议年事】8+
【运行环境】Windows
【利用人数】★★★★
【上手速率】★★★★
创客教诲不断遍及,以Arduino为根本的创意电子类创客教诲课程正逐步在中小学中推广开来。然而,由于受到其本身技能门槛的限定,创意电子类课程的开设给广大师生提出了巨大的寻衅(Arduino须要通过C/C++措辞编程实现创意,这对低年事段的学生来说险些是不可能的)。创客教诲须要更好的图形化编程工具,Mixly(米思齐)因此应运而生。
Mixly,中文名为米思齐,全称为Mixly_Arduino,是一款由北京师范大学教诲学部创客教诲实验室傅骞教授团队开拓的图形化编程软件。该软件利用图形化编程的办法自动天生Arduino代码,并支持编译和烧录到对应硬件设备中。
Mixly是目前功能最丰富,操作最流畅的Arduino图形化编程软件,险些可以替代Arduino IDE编程工具,如果你想入门Arduino又不想写代码,那就试试Mixly吧~
Java Script
【建议年事】12+
【运行环境】浏览器
【利用人数】★★★★
【上手速率】★★★
JavaScript(简称“JS”) 是一种具有函数优先的轻量级,阐明型或即时编译型的编程措辞。虽然它是作为开拓Web页面的脚本措辞而出名的,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动态脚本措辞,并且支持面向工具、命令式和声明式(如函数式编程)风格。
JavaScript在1995年由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。由于Netscape与Sun互助,Netscape管理层希望它外不雅观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为靠近。
JavaScript的标准是ECMAScript 。截至 2012 年,所有浏览器都完全的支持ECMAScript 5.1,旧版本的浏览器至少支持ECMAScript 3 标准。2015年6月17日,ECMA国际组织发布了ECMAScript 的第六版,该版本正式名称为 ECMAScript 2015,但常日被称为ECMAScript 6 或者ES6。JavaScript是一种脚本措辞,其源代码在发往客户端运行之前不需经由编译,而是将文本格式的字符代码发送给浏览器由浏览器阐明运行。直译措辞的弱点是安全性较差,而且在JavaScript中,如果一条运行不了,那么下面的措辞也无法运行。而其办理办法便是于利用try{}catch(){}︰
Javascript被归类为直译措辞,由于主流的引擎都是每次运行时加载代码并解译。V8是将所有代码解译后再开始运行,其他引擎则是逐行解译(SpiderMonkey会将解译过的指令暂存,以提高性能,称为实时编译),但由于V8的核心部分多数用Javascript撰写(而SpiderMonkey是用C++),因此在不同的测试上,两者性能互有利害。与其相对应的是编译措辞,例如C措辞,以编译措辞编写的程序在运行之前,必须经由编译,将代码编译为机器码,再加以运行。
Kodu
【建议年事】8+
【运行环境】Windows及Xbox360
【利用人数】★★★★★☆
【上手速率】★★★★★
Kodu 是微软为 Xbox 360 设计的游戏编程运用程序。它是一种专门为儿童设计的编程措辞,这种编程措辞,基于图标和拖拽;它与我们理解的C#、Java、C++完备不一样,在编程过程中不须要敲击任何代码,只须要利用鼠标和键盘拖拽图标,便可以设计一款场景丰富、逻辑繁芜的游戏软件。
Windows 版本是免费的,但 Xbox 360 版本须要 4.99 美元。其最核心的理念便是让孩子们动手自己来针对某工具的“条件和语句”来实现自己的创意,在3D天下中探索和设计游戏。
Kodu 的图形界面很有吸引力,Xbox 版本的编程可以完备在游戏掌握器中完成。如果你有硬件支持,Kodu可以算是一款更旧但仍旧可靠的选择。据悉,澳大利亚的某些公立学校已经把Kodu列为了实验课程。
不幸的是,目前Kodu还不支持多人协作编程,也不支持从 PC 端将游戏程序分享至 Xbox 360 端。而且在 PC 版的一些舆图中,须要开拓者将 Xbox 360 掌握器改变为键盘或鼠标才可顺利游戏。
Blockly
【建议年事】8+
【运行环境】Mac OS、Windows、Linux的打算机
【利用人数】★★★
【上手速率】★★★★
Blockly 是 Google利用了相同的互锁(interlocking)构建块对Scratch进行的改进和重构,但它可以输出多种不同编程措辞的代码。目前,这些措辞包括 Javas、Python、PHP、Lua以及Dart。这使得 Blockly 更像一个可视化的编辑器,而不仅仅是一个儿童友好型的编程措辞。
打开Google Blockly网站,有三个演示链接:
第一个是很大略的迷宫编程,只需大略的拖放几个模块便可完成任务。当然,你也可以用更繁芜或更大略的办法来完成此编程。
第二个是普通编程工具,里面有大量的编程模块供学习者调用,所有模块都可以直接拖放。最主要的是,Blockly的编程措辞还可以以Java、Dart、Python、XML等措辞形式导出,方便用户学习参考。
第三个则是第二个的镜像,旁边颠倒的,专为阿拉伯人和希伯来人设计的。
Google Blockly确实是一个大略易用的编程学习软件。不管是自学还是通过传授教化,Blockly都能让学习者快速理解并编写一段代码或创建一个程序。
Alice
【建议年事】10+
【运行环境】Mac、Windows、Linux的打算机
【利用人数】★★★
【上手速率】★★★
Alice 一个可免费利用的 3d 编程工具,被设计用来教授面向工具编程措辞的观点,比如 C++。它利用熟习且随意马虎得到的建筑积木让孩子通过编程掌握摄像机运动,3D 模型和场景来创建游戏或动画,并在网络年夜将交互行为和视频进行分享。Alice 的紧张目的是给你的孩子打仗基本的面向工具编程。
对付一些学生来说,Alice拖拽型的交互界面和大略的“播放”按钮比起Scratch凌乱的界面而言可以减少困惑。Alice中的程序或“方法”可以转换为 Java IDE,比如 NetBeans,因此编程学生可以从可视化的构建块界面转换为标准的编程措辞。
Alice 是由卡内基·梅隆大学开拓的。其官网目前并不完善,该操持尚在开拓和进一步研究中。
把稳:如果你想在Mac上安装Alice,你必须去系统设置>安全和隐私>许可运用从:任何地方下载。(安装完成后,你就可以变动安全设置)。
Swift Playgrounds
【建议年事】10+
【运行环境】iPad
【利用人数】★★★
【上手速率】★★
Swift 是一款针对iOS和OSX开拓的新编程措辞,其目标是让iOS和OSX开拓变得更大略,更有乐趣。Swift Playgrounds 是一款 iPad 游戏,旨在教孩子们如何在 Swift 中编程。该游戏可以从苹果免费下载,不须要任何先前的编码知识。
该运用程序包含了许多关于不同Swift 命令的教程,例如,在3D天下中移动一个名为“Byte”的字符。虽然不须要编程知识,但是孩子们确实须要知道如何阅读教程,并且有一些办理问题的毅力。拖放代码可以肃清打字缺点,但Swift Playgrounds并没有利用互锁(interlocking)块界面。
一旦你的孩子精通了Swift Playgrounds,他们就可以开始用 Swift进行开拓了。
Twine
【建议年事】12+
【运行环境】Mac OS、Windows、Linux的打算机
【利用人数】★★
【上手速率】★★★
对付那些对创建游戏和讲故事更感兴趣的,而对编程技能细节不感兴趣的孩子,可以考试测验下Twine。
Twine 是一款免费的非线性叙事性运用程序,适用于所熟年龄段的用户,包括大量的成年人和教诲者。利用Twine,你不须要学习任何代码。它的目的不是教用户如何编写代码,而是教他们如何构建和呈现非线性的游戏和故事。
Twine 的故事由页面文本和图像组成,类似网站。设计界面中显示了连接的页面,每个页面都可以利用文本、链接和图像进行修正。它特殊适用于“选择自己的冒险”类型的游戏,每个玩家的选择都可以触发一个新的故事分支。
虽然这个运用程序不会教孩子编码,但它教授了孩子很多方案和设计方面的技能,这些技能对付游戏设计师和故事讲述者而言都是至关主要的。该运用程序通过 wiki、教程和生动的用户社区赢得了很好的用户支持。
你可以通过托管运用程序在线创建Twine故事,或下载运用程序进行离线编辑。
其他在线编程资源如果以为这些措辞不得当,或是你的小孩想进行更多的考试测验,下面还有几款资源可供参考(不做详细先容,有兴趣可自行下载体验):
【Hopscotch】可以让你的孩子在通过拖拽代码块来完成对游戏、故事、动画和其它交互式程序的开拓。目前该运用只针对 iPad 用户供应免费下载。
【Tynker】利用大略的可视化编程措辞,不须要编程语法,而只须要将代码块组合起来就可以创建项目,但是须要付费。
【Kodable】iPad 上的一款免费的编程运用程序,紧张有3个等级的编程学习方案,包含了幼儿园到2年级课程、3年级到5年级课程以及6年级到12年级的课程。
【RoboMind】利用 RoboMind,你的孩子可以学习基本的人工智能,乃至可以在真正的机器人套件如乐高Mindstorms NXT 2.0 上利用它。但是只供应 30 天的免费试用,之后须要收费。
【Etoys】用来创建游戏、模型和故事。其开拓项目包含了图形、动画工具、音乐、声音、扫描图片和文本。Etoys是免费的,可以自由利用。
此外,Unity 3D 游戏界面是另一个伟大的学习3D游戏编程的好方法,个中包含大量在线资源。只要记住,编程实质上便是充满寻衅的。它涉及大量的故障打消、验证以及缺点处理。父母能供应给初学编程的孩子最好工具便是耐心和决心。