原标题:让孩子爱上编程,轻松编程——程小奔评测
作者:段小草
评测之前首先从编程聊起吧。
为什么要学习编程,这个话题我们聊过太多次,无需赘言。
我之前表达过一个观点:在不久的未来,编程将是每个人都应该掌握的一项基本技能。由此我们也不难推出下一个观点:学习编程要趁早,编程学习应该适时进入家长们的视野,进入孩子们的课程中。
(题外话:总设计师在1984年就说:计算机普及要从娃娃抓起。35年过去了,计算机和互联网有了长足发展,很多地方和家长对于娃娃的教育,似乎依然停留在对办公软件的学习和对网络游戏的围堵。)
那么接下来的问题就是,如何让编程与K12教育相结合。
当然了,在中国,任何一项与考试挂钩的培训都不会缺少受众。就像前段时间大家热炒Python进入中小学教材,替代VB作为高中学业水平计算机考试的语言之后,立马出现了许多面向中小学生的Python培训班和课程,甚至我都接到过去做这方面老师的邀请。即便是还没有将黑手伸向K12领域的编程培训机构,也纷纷打出了小学生都在学Python,你为什么还不来的口号。
网传山东小学信息课教材
当然我绝不是反对中小学生学Python,我很鼓励大家把Python作为入门编程的语言,也很鼓励大家带领孩子一起学习编程。
但对于低龄儿童,或者是英语成绩本身不好的同学,Python所需不多的词汇量也足够构成障碍了,加上不够直观,估计很多人会在培养兴趣的半路上就放弃。(话说回来,如果孩子有足够兴趣,说不定能反过来促进英语学习,就好比很多人的英语是玩无汉化的游戏时学习的)
那么如何培养孩子的学习兴趣,让他们能够爱上编程,轻松编程呢?
方法其实有很多,像之前也聊过CodeCombat,目前国内由网易运营,属于编程游戏,支持Python、JavaScript等语言。
进入中国后的codecombat名叫极客战记
再比如Scratch。
Scratch语言是MIT开发的一款面向儿童的编程工具,其核心理念和显著特征是积木式编程。你不需要和代码打交道,只需要将相应功能模块的积木拼搭到一起,就可以实现编程的功能。
你可以在Scratch的官网或者code.org网站(这也是个不错的网站,有时间再详细推荐给大家)看到很多Scratch示例。
Scratch网站的一个示例
可以说,Scratch是目前幼儿乃至中小学生入门编程的最佳选择,而且已经被广泛应用,国内目前也已经有相应的培训机构。
在百度上搜索Scratch,前4条是广告,然后才是官网
Scratch的积木式编程只需要拖拽而无需编写复杂的代码,显著减少了学习成本,让孩子们专注于功能实现与逻辑;而其卡通的可视化的特点则更容易培养孩子们的兴趣,让他们觉得编程不是那么枯燥的事情。
另一个侧面的例子是不久之前大疆推出的无人机tello。tello支持Scratch编程控制无人机飞行动作。
(makeblock公司更早之前也推出过一款支持Scratch编程控制的无人机——Airblock)
关于积木式编程我还要多絮叨几句。积木式编程其实可以升华成一种编程思想。Python之所以能成为如此流行的编程语言,离不开开放的社区环境、功能强大的内置函数(inside batteries)以及丰富的第三方库。在使用Python时,你遇到一个需求或者问题,直接搜索相应内容,很容易找到别人的轮子。使用Python给我的感觉就是积木式编程,我只需要想好自己需要的积木形状和功能,然后处理一些顶层的设计问题和功能拼接,而很少需要关心底层实现。
遇到Scratch,我们觉得已经足够简单,足够强大,足够友好,可以作为孩子的入门之选了。还能不能更进一步呢?
关注素质教育或者亲子教育的朋友可能听过一个概念:STEAM(不是G胖那个!)
STEAM教学指的是科学、技术、工程、艺术、数学的相结合的教学方式。
说白了,STEAM指的是跨学科,强调艺术思维,注重实践探索,通过动手来融会学习的教育方式。国外炒这个概念很久了,也有许多相对成熟的尝试,比如大家熟知的乐高积木就退出了专门的乐高教育套件。
机器人的确是最能体现STEAM思想的一种实践方式。抛开盲目圈钱的机构,探索这种学习方式的大方向是没有错的。
于是有了程小奔。(在此之前makeblock公司也做了mBot机器人)mBot机器人
接下来终于来到我们今天的主角程小奔了。
先来几张开箱照吧。
眯眯眼都是怪物
不是拆机大拿,自己的机子要留着玩,帮大家找到了网上大神的拆解图:
小程的板子,可以看到核心是一块ESP32
小奔的主板
京东众筹主页给出的产品参数
总体来说是个比较成熟的、封装好的机器人了。相比mBot那种“裸露”的、需要动手组装组件的机器人,程小奔更Q萌,但是缺少了拧螺丝的乐趣吧…
开箱了解了外观和参数后,让我们进入到编程的实战中。
官方提供了三种方式,全都亲身体验了,今天都会提到。
第一种是电脑连接的桌面版:
下载官方提供的编程工具,mBlock 5。
支持USB连接和蓝牙连接
官方提供了许多用于教学的示例
程小奔也支持许多物联网应用,只是目前开发程度不够
在mBlock中可以看到相应的Python代码
第二种是iOS和安卓都有、针对makeblock全系列产品的App makeblock。
(全面屏截图…所以右边多个黑边)
蓝牙连接
遥控驾驶页面
拖拽式编程页面
艺术家页面
第三种是目前iOS专供、专门针对程小奔开发的App慧编程。这是我觉得最有趣最有用的一个了。
慧编程App的功能类似于电脑端软件提供的示例代码,但是是以任务的模式给出的,每关修改少量代码,要求孩子观察每一关的功能。
当然了,以上演示都是程小奔的基本功能。我们还可以探索程小奔的更多高级功能。比如IoT。或者使用Python编写更复杂的代码。
除此之外,我们还可以使用慧编程终的其他虚拟角色尝试更多的AI和机器学习功能,而且可以通过通讯变量和程小奔进行结合,不过这一点我自己还没有进行试验,所以不再演示了。
其余的特色还有很多,比如传感器的使用,Wifi模块的互动。比如支持乐高积木扩展,比如支持makeblock其他神经元部件扩展…
最后提一些设想吧。
首先是产品,比如目前程小奔的程序都是单次写入执行单个功能,而且没办法提供模拟调试,看不到错误信息,这点要解决优化。另外是文档和教学,虽然已经很努力地提供了教学案例和演示,但是依然不够详尽,很多东西要自己探索,尤其是Python的文档,太简略了。
然后是对社区。正如Python社区的活跃一样,希望官方能维护一个活跃的makeblock社区,产生更多UGC内容,相关的活动也要跟上,像之前mBot的比赛那样。
最后是用户,客观地评价,我觉得程小奔虽然不完美,但是已经足够好。但你不能指望花一次性的钱,买一次性的玩具,就一劳永逸地解决孩子学习编程的问题。对于没有基础的朋友,你可能需要自己跟随孩子一起学习,一起探索,一起扩展。
利益相关:该篇文章为厂商邀请参与的测评。
最后最后的题外话:可能有人会谈普及问题,其实考虑地区发展也好,社会进程也好,这都是必然的趋势。但也不能一味地炒作概念。尘归尘土归土,机器人也好,编程也好,兴趣使然,无需拔高,也无需执念。给孩子快乐的童年和适当的引导,才是最好的。
我大概了解了一下国内形形色色的机器人课程或者创客教育,大都打着STEAM教育的旗帜。我承认机器人的确是最能体现STEAM思想的一种实践方式,但是很多人对STEAM的运用在我看来概念性大于实用性,或者说跨学科培养的思想是没有错的,但是真正说起来,核心的那个A很少有人能做到。STEM都是工科实用,Art才是画龙点睛的那一笔。
希望更多家长能更用心,陪孩子一起做一些好玩的事情。
比如用程小奔入门编程~