一。为什么学编程?
1、编程帮助孩子培养逻辑思维能力和抽象思维能力。孩子要将解决的问题的思路、方法、和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。孩子在学习少儿编程后,自然科学理解能力有显著提升!
2、编程提升创造力,帮助孩子跳出思维定式。编程的过程“就像艺术一样在创作”,孩子们会享受到创造的乐趣。
3、编程增强孩子自信心,提高做事情的专注力。完成一个完整程序的制作能够有效提高孩子做事情的专注力,一个由自己一步步建立而来的作品更是能够增强孩子的自信心。
4、编程将会像阅读和写作一样成为孩子最基本的能力之一。所以,孩子从小就可以通过一些像Scratch等编程工具来学习编程。
二。编程学习路径
现在有越来越多的家长开始意识到孩子学编程这件事很重要了。但是一头扎进去,才发现学少儿编程的软件和平台怎么有那么多,一下子迷茫了,分不清东西南北,也不知道该从何入手。我研究了一下,给大家列了一张参考图,可以用这个参考图来对标孩子的编程学习过程。
蓝底框的编程软件是可视化积木式编程,白底框是代码语言编程,标了小红旗的是闯关类游戏编程。今天的文章就不介绍专业级的代码语言了。主要讲讲不同年龄段选哪种软件比较好。
幼儿启蒙,简单、功能模块尽量少
对于幼儿园小朋友来说,不是让他们学编程,而是让他们通过游戏,通过积木,来学习怎么用计算机来准确的发号施令。这里列举了3个不同方向的应用供家长们选择。
1、Osmo Coding,现实与虚拟结合
Osmo Coding是最近很火的一款幼儿编程玩具。Osmo Coding可以让孩子们用物理模块对屏幕上的角色进行控制,不同的模块代表了不同的动作和命令,可以将抽象的代码命令通过具象化的玩具和画面展现到孩子的面前。
对于小朋友来说,可以真实接触到程序指令,帮助他理解计算机程序是怎么回事
2、Scratch JR,拖曳积木学编程
Scratch JR是Scratch的幼儿版。Jr适合还不会使用鼠标的幼儿园小朋友使用(5~7岁),所以程序指令的积木块也简化许多,加上像故事书一样可以翻页的设计更适合让孩子设计一个小故事。
3、Codespark,闯关游戏学编程
用游戏把编程概念植入其中,小朋友可以边玩边学。界面非常可爱,很得小朋友的喜欢。比如Codespark中的The Foos系列。编程对象是一只叫“Foo“的小人,他/她会遇到一些难题,比如如何获得钻石或甜甜圈,小朋友需要告诉 Foo 一些行动指令,让他/她能解决这个难题。只有解决了难题才能通关,每通过一关,难题就会升级。
小学低年级,积木式语言学编程
如果已经经过了编程启蒙,那这个阶段就可以让孩子尝试创作出完整的编程作品,或者学一点稍有难度的编程软件。
1、Scratch,无限的想象空间
Scratch是少儿编程的“网红选手”,这是有原因的。因为Scratch开创了积木式编程学习模式的先河,并且低门槛,容易上手操作,零基础都不怕,但又高上限,允许使用者建立高度复杂的项目。还可以支持各类项目的创建,想象空间非常大。最重要的是终身免费使用,还能remix。
“remix”即“重新混合”。Scratch鼓励孩子们在社区中修改、优化别人的代码来改进项目。这种“再创造”的概念加深孩子们对合作以及对开源的理解。
2、Tynker,能操控现实生活中的智能设备
Tynker最大的亮点是在APP中编辑的程序可以使用在现实生活中。孩子可以使用简单的可视化编程语言,将代码块组合起来进行项目、游戏和动画故事的创建,也能轻松实现用编程操控无人机、机器人和智能家居系统。
目前,已有一些智能设备公司,比如Parrot无人机、Sphero机器人以及飞利浦的Hue Lux智能照明系统,都可以在Tynker的应用平台上进行简单的编程就可以控制。比如“Flappy Drone”就是让孩子们编写代码,从而使无人机可以像“Flappy Bird”游戏中那只鸟一样,在现实环境中实现上下飞行避障的控制。
Tynker和Scratch的不同点在于Scratch是开源软件,而Tynker是商业软件,高级课程是要付费的。
3、Codemonkey,新兴教育强国以色列代表作
Codemonkey 是以色列人发明的。故事背景是让猴子能吃到香蕉。通过这个应用,孩子们不但可以学到编程知识,还能学会用尺子丈量距离,通过猴子倒着走理解负数,通过猴子转身学会角度。全英文的代码指令能让孩子尽早熟悉英语指令在计算机中的含义。
相比其他编程软件,这款软件让孩子更容易明白计算机程序中函数、参数、循环等概念的意思。
小学高年级,代码语言敲起来起来
如果孩子在编程上入门比较早,已经觉得scratch没什么挑战的话,可以开始玩使用代码语言的编程软件。比如python就很合适,下面几款软件也可以尝试下
1、Codecombat,网页版RPG编程游戏
对CodeCombat 的第一印象就是酷炫。
CodeCombat 是一个 HTML5 角色扮演游戏(RPG),教孩子基本的编程概念。在 CodeCombat 中,通过扮演一个英雄通过游戏中不同等级的冒险。第一关是Kithard Dungeon,里面涵盖了编程的基本概念。整个旅程中你都面临着编程的挑战,如果通过了,你会解锁下一关,并获得经验点,经验点可以用来提升英雄的能力。
CodeCombat 支持6中不同的语言,包括:JavaScript、CoffeeScript、Lua、Python、Clojure 和 Io。涵盖的编程概念包括:字符串,变量,方法调用,矢量绘图等。
2、Swift Playgrounds,基于苹果系统的编程语言
苹果开发的基于 iOS 系统或者 OS X 系统的儿童编程软件。虽然 Swift 语言简单易懂,但其根本还是一个苹果自产自销的编程语言:无法给别的生态系统任何的影响和帮助。只有在苹果的产品上才能用 Swift 写的软件。延展性不强。
苹果寄希望于通过Swift Playgrounds 及其后续可能推出的一系列动作,加强青少年的编程教育,同时使用的是由苹果推出的设备和语言。
3、APP inventor,能轻松开发安卓APP
App Inventor是谷歌与MIT联合开发的,为安卓手机定制的图形化编程工具,可以用它非常简便的开发一款自己的安卓App应用,让在中小学阶段开设移动计算课程成为可能。