什么是CodeMonkey

CodeMonkey诞生于以色列,这个国家非常重视科技教育。这种重视可能来自以色列人脑海里深深的危机感。以色列人中获得博士学位的比重很高,工程师占比是世界人口当中最高的,超过美国和日本。世界上20%左右的诺贝尔奖获得者来自于以色列。

以色列人追求先进的传统,使得CodeMonkey这个产品在发布之前经历过多次改进。创始团队刚成立时,这个项目就幸运地进入MindCET(以色列最大教育企业之一)的孵化器中。MindCET里的一线教师和学生给了创始团队很多反馈,使得CodeMonkey在实践中得到很大的改进。此外,CodeMonkey还引起了以色列教育部的注意,后者在全国范围内推荐这个STEM产品。

紧接着,CodeMonkey成功进入硅谷的Co-Lab教育孵化器,获得了更多媒体和资本的关注,并进入全球市场。作为CodeMonkey的导师之一,Zynga这个全球在线游戏发行商给CodeMonkey团队带来了很多游戏设计上的指导。使CodeMonkey改进为编程教育游戏,变得更加有趣。

CodeMonkey编程界面
后来,CodeMonkey前往英国,进入了Pearson的孵化器中。Pearson有着丰富的面向学校教育的经验,这促使该团队将CodeMonkey转变成一家面向学校和机构的教育公司。在Pearson的指导下,该团队为学校和机构里的编程老师们开发了与CodeMonkey编程游戏紧密结合的课堂指导教案和教师端管理工具。这第三次改进让学生们的编程教育变得更加专业。

2014年5月,CodeMonkey发布。7个月后,就有25万的孩子们通过CodeMonkey平台学习编程。2015年3月初,CodeMonkey成为进入SXSW教育峰会总决赛的十个产品之一,受到更多的瞩目。如今CodeMonkey在全球拥有超过250万粉丝,其团队对于进入中国市场非常期待。

CodeMonkey编程课程

CodeMonkey是一款在线编程教育课程、闯关模式的编程游戏。游戏的主角是一只猴子,它最爱的香蕉被强壮的猩猩抢走,而游戏的目标是帮助猴子夺回香蕉。这个题材和形式充满正能量,配上温馨的卡通风格的界面和自然环境的立体音效,很容易让孩子接受并喜欢上编程。

CodeMonkey
在游戏中,孩子的任务就是通过编程、发挥想象力通过一道又一道关卡,过程中还有猴博士的指导。孩子在闯关中由易到难地学习编程,不知不觉提升了编程能力。这和我在DataCamp上学习Python的体验一致。

CodeMonkey采用的编程教学语言是CoffeeScript,这是JavaScript的一种转译语言,执行效率非常高。其代码指令简洁、可读性强,非常接近自然语言,很适合作为编程教育的启蒙语言。CodeMonkey的画面和操作都很简单。孩子只需在CodeMonkey的代码窗口里编写图形化的代码指令,点击运行后,后台自动将CoffeeScript代码编译成JaveScript指令执行命令,接着孩子便在动画窗口里看到代码的运行结果。

令我惊奇的是,CodeMonkey会高亮代码窗口里每次执行的那一行代码,并且在动画窗口上有所反馈,让孩子直观地理解代码在执行过程中发生了什么。这和我用Python Tutor直观理解代码的体验一致。我觉得这是CodeMonkey区别于其它工具的最大亮点。

CodeMonkey

CodeMonkey的最大亮点

目前CodeMonkey的故事模式一共有200关。涵盖计算机编程领域里的大部分概念和知识,包括变量、对象、函数调用、参数、循环、数组、函数定义、布尔类型、For循环、While循环等。考虑到8-16岁左右的孩子很可能没有编程基础,CodeMonkey最开始的关卡设计非常简单。

CodeMonkey

CodeMonkey一共有200关

比如第1关,孩子只需要修改猴子前进的步数,即「step 10」中的10,就可以让猴子吃到香蕉顺利通关。如果不知道距离是多少,CodeMonkey还提供了尺子用以测量。这样,孩子不仅学会了控制角色移动,还对距离有了初步的认识。再比如第3关,孩子不仅需要用尺子测量猴子前进的距离,还需要控制猴子前进的方向。后续关卡中会出现多个香蕉,猴博士会指导孩子简化程序。比如,如果猴子多次走10步,孩子可以定义变量「a=10」的方式来简化程序。再如果猴子反复执行某一套动作10次,孩子可以用循环10次来执行这套动作,而不用重复写10次代码。孩子还可以把这套动作的指令写成一个函数,只需要调用这个函数就可以做一系列复杂而有序的操作,起到“四两拨千斤”的效果。

CodeMonkey

第1关

随着孩子在通关中积累了越来越多的代码指令、编程思想,后续的关卡会教给孩子更丰富的指令,更复杂的编程思想,并对孩子的想象力提出了更高的要求。如要想方设法避开障碍物、靠乌龟和鳄鱼过河、在最少步骤内吃到所有香蕉等等。除了这些,CodeMonkey还注重培养孩子优化代码的良好习惯。每次通关后,猴博士会给孩子的代码评分。如果没有获得满分3颗星,孩子会收到猴博士给出的代码优化的提示,孩子可选择重玩对代码进行调整。

Codemonkey还通过不断增加新的关卡,推出在线游戏创建工具,设计更丰富的游戏形式来增加内容的丰富性和多样性,并鼓励小孩子们自己创立游戏关卡。微量的社交元素也是Codemonkey的一大特色,孩子可通过在脸书上分享自己解决问题的方案,还可以创建、发起挑战,并邀请好友来完成任务。

孩子会从CodeMonkey收获到什么?

首先,CodeMonkey编程游戏带给孩子无尽的快乐,通关模式的设计让孩子充满成就感。这种快乐和成就感让孩子觉得学习编程是一件轻松愉快的事情,这是学习里最重要的收获。

其次,CodeMonkey还会让孩子形成编程思维,培养他们写出整洁代码的好习惯。孩子的这种思维和习惯不仅体现在编程里,还会体现在今后的人生当中。

还有,孩子还会通过CodeMonkey学到一门新语言-CoffeeScript。一门新的语言给孩子打开一扇门,让他们看到不同的世界。CoffeeScript是孩子和计算机交流的一种语言,并且和JavaScript有紧密联系,这对于孩子以后学习JavaScript提供了缓冲。JavaScript是一个简单但强大的语言,不仅可以用于在PhoneGap写手机应用,还可以结合Ruff开发套件开发好玩的智能硬件。

CodeMonkey
当然,收获远远不止这些。总之,我觉得CodeMonkey是最适合作为孩子学习编程教育的启蒙。对于那些希望孩子早点接触编程教育的家长们来说,这个暑假让孩子玩玩CodeMonkey是个不错的选择,说不定就让孩子看到一扇色彩斑斓的新世界。