查看原文
其他

反复被推荐!这几款编程应用你一定不能错过

2017-01-12 熊爹 海码爸爸

在公众号对话框内回复“编程”,获取文章中推荐网站链接。


马上就要放寒假了,有家长希望海码爸爸能推荐一些好用的APP,让孩子在假期能学学编程。我之前写过一篇《一张图看懂孩子编程学习的成长路径》,那篇文章里提到很多应用。基本的原则就是可以从脚手架模式的APP入手学习,再过渡到创意型、积木块的Scratch编程软件,最后再进入代码语言。这一篇是一位叫熊爹的爸爸的推荐。和我之前的推荐思路不谋而合,但熊爹对每款软件讲解得更细致。两篇文章结合起来看,你就知道了该怎么选。


4到6岁:脚手架模式APP

什么是脚手架模式?我们建造房子需要用脚手架支架建筑上的脚手架就是先搭个架子,然后工人们慢慢往里面砌砖头,直到建筑成型。编程学习上的脚手架也是同样的道理,通过一关关的游戏,孩子在玩的过程中已经学到了编程中基本的概念。


4到6岁开始这个年龄段的孩子其实读写能力还比较初步,不大认字,也不大会写,英文可能就更难一些,手指的掌控力还没发育全,所以键盘鼠标用不好。因此应该选择一些可视化的,直观的在平板电脑上面,手机可用的,能够培养基本兴趣的APP。


这里我推荐两个APP: The Foos和 Lightbot,用于小朋友的编程启蒙非常有趣。


The Foos

游戏名字Foos来源于编程中的一个术语。游戏从易到难分爲40级,儿童可以选择不同的角色,通过提醒按步骤进行编程,通过一关才能解锁下一关。


在这个过程中,他们会了解到序列(Sequence)、界面(Interface)、指令、解除问题(Debug)、循环(Loop)以及类(Class)等基础编程概念。




我们可以看到画面中有一个小人,想让他吃到最右边的甜甜圈,就需要编程序。比如先往右走一格,跳一下,再往右走一下,再跳一下,然后就吃到甜甜圈了。这一关非常简单。



后面还有比较难的,比如上图需要循环。跳格子需要跳几下才能够跳到最上面过关。后面还有一关涉及到条件判断,当客人点菜的时候,点了什么菜,需要用哪些原料做给他。这些都以游戏过关的方式呈现出来,非常好玩,小朋友在完的同时能够通过他掌握一些编程的一些思维方法。


Lightbot

Lightbot更纯粹一些,这个在《Geek爸爸:让孩子不沉迷游戏的最好方法是……》有提到过。它的每一关,是下图这样,先观察上面所有的蓝色方块,然后让小机器人在蓝色方块上面点灯,把所有的都点亮,就过关了。



上图中右下角的PROC1是可以重复利用的一个模块,这个其实对于孩子来讲有时接受起来是有一点难度的。你要告诉他为什么我要把它变成一个模块?因为它是可以重复利用的,这是我们刚才讲的模式识别和结构化提到的东西。



上图中有两个不同的模块P1、P2。两个模块对于孩子就更难了,我们可以看到在PROC2中嵌套了PROC1,一个模块可以调用另一个模块,也可以调用自己。



上图中涉及到了判断。当机器人在红色的格子,自己可以改变自己的状态,然后去做一些条件判断,再进行下一步的操作。这都是一些最基本的编程思路。


7到10岁:积木化编程软件

7到10岁的小朋友,已经具备一定的读写能力,包括英文读写能力,键盘鼠标用的比较熟练了,也会用电脑完成一些作业,这个时候可以开始接触一些比较系统的模块化的,可视化的编程平台当然这个时候不需要真的去写代码


Code.org,内容型网站


像上图中的code.org,这个网站上面有很多的课程,基本上是适合从4岁开始,可能再稍微大一点的孩子学习编程。你可以点开图片,看看他是用一个一个小模块去拼成一个程序的,这里面其实主要的思路看起来跟上面的游戏差不多。但它会涉及到一些流程控制元素,能够写一些更复杂的程序。


Scratch

再往后发展,可以用Scratch,一个由麻省理工学院开发的青少年编程项目。



图上可以看到一只猫,这也是Scratch的官方形象代言。右边可以看到一个比较复杂的程序,通过这些程序可以让这只猫完成一些复杂的事情。

 


复杂什么程度呢?比如说我们都玩过的Flappy Bird,一只鸟上下飞在管子中穿梭的游戏,都是可以用这种方式写出来。而这个年龄的孩子非常有创造力,有了这样的平台之后,还是能够写出一些比较有趣的东西的。


App Inventor


除此之外,想在手机上开发又可以使用什么呢?也是MIT开发的App Inventor,可以做一款APP出来,应用到现实生活中。当然,它只能够支持安卓,还不能支持苹果的。一样可以用之前那种拼积木、搭积木的方法,写出一个程序,然后它就可以在安卓手机上面运行了。不过,建议有Scratch的基础后再来学这个比较好。


推荐这个时期可以看得一些书籍:

《Scratch少儿趣味编程》

《写给大家看的安卓应用开发书:App Inventor 2快速入门与实战》


10到13岁:代码语言

接下来进入10到13岁,这个年龄段的孩子,其实他的知识水平和逻辑思维能力都已经非常不错了。而且读写能力也非常强,英文也不差,这个时候可以去一行一行的写代码,就像我们真正的编程一样,用真正的编程语言去写代码,而不是用积木搭出来。


Swift Playgrounds

2016年苹果开发者大会WWDC上新推出了Swift Playgrounds的编程应用,目的是让普通人特别是孩子们也能更加容易地学习编码。Swift是苹果新推出的一个编程语言,可以编写iPhone、iPad以及Mac电脑上运行的应用程序。 



这个不同于之前拖一些模块来完成特定功能,而是需要真的把代码写在上面才能完成它。你学会了Swift语言之后,就可以去尝试写代码,编写一些iPhone上面的app,这个非常有趣。


Code Combat

还有一个在线收费的游戏平台Code Combat。通过编写代码,来完成关卡任务。这个游戏到后面会有点复杂,需要去编写一些很智能的逻辑,才能够完成任务。



这个平台其实一开始是给成年人使用的,但我看了看难度,觉得孩子也是适合的。


这个游戏中的语言是可以选择的,比如现在图上的是JavaScript,当然还可以选其他的比如Python等等。图上的这个相对简单,就是一些序列化的,比如往下移动,往上移动的动作。到后面的一些关卡会比较复杂。



比如上图中的塔防任务,指挥大本营去造什么样的兵,通过怎样的判断,造了要多少钱,这些东西的都需要通过写代码来得到一个最优的策略,然后完成游戏里的一些任务才能通关。


Arduino单片机

除了软件编程,还可以将编程输出到硬件设备上,让编程应用于生活,这个对孩子们学编程的鼓励作用非常大。现在比较流行的是Arduino,它是一个单片机,严谨点叫开源硬件平台。



实际上你可以理解为是一个很小的芯片,下面接很多外置的模块,比如接摄像头,接LED灯,传感器等等,成品可以跑,或者做一些其他的动作,基本上做出来是下图这个样子的。



这个小机器人有两个摄像头,麦克风,还有遥控器等,内在也是通过一些程序去控制,各种模块相互配合。比如说我们刚才贴的那张图就是一个很简单的程序,控制LED灯,一秒钟亮,然后一秒钟再熄灭。


通过写这样一个简单的程序,就可以让孩子真正看到,这个东西可以按照我所设想的去运作。所以我觉得硬件也是一个非常有趣的东西,和软件相结合会有一些非常有意思的碰撞。


推荐这个时期可以看得一些书籍:

《父与子的编程之旅:与 小卡特一起学Python》

《基于Arduino的趣味电子制作》


13岁以上,这个年龄段跟成人也比较接近了。国外很多这个年龄的孩子已经可以写出非常酷的代码,做出很多非常酷的智能硬件,我记得有差不多这个这么大的孩子写了一个控制无人机程序。他们可以做机器人参加一些开源项目开发,或者比赛都可以。这里就没有什么可以推荐的了,基本上大学生在做的他们都可以去玩。如果真的想往这个专业方向去发展,学一下计算机科学的理论,数据结构算法,软件设计模式,虽然看起来是大学生专业学的东西,但实际上如果他真有兴趣,早点学也没有什么问题。


相关阅读:【干货】一张图看懂孩子编程学习的成长路径

                    计算机博士帮你挑选儿童编程入门书

                    脱离小白家长,儿童编程你需要清楚这6件事

                 Geek爸爸:让孩子不沉迷游戏的最好方法是……





欢迎参加“跟着博士玩编程”公益课,

点击阅读原文报名参加!







海码爸爸 一群计算机博士发起的父联组织

长按识别二维码,加关注;欢迎加入QQ群:361999832







戳阅读原文,参加少儿编程课!



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存