如果说小小孩从实体编程玩具中获得的更多是乐趣和启蒙,大孩子学编程又会有哪些好处呢?除了实体编程玩具,又还有哪些工具可以帮助孩子学习编程呢?
学编程,让小朋友快人一步多样化的早期学习对孩子的认知能力发展好处多多。对于 5-6 岁的孩子来说,他们正处于从感知环境到形成逻辑关联的发展阶段,编程学习对这个过程很有帮助。早在上世纪一项以 6 岁孩子为主体的研究就发现,
学习编程的一组儿童在元认知相关技巧和方向表达上都比只接受计算机辅助教学的儿童表现得更好,前者的创造性思维和发散思维也在学习编程 12 周后得到提高,而后者没有显著变化(Glements & Gullo,1984;Glements,1986)。
此外,由于编程的本质是解决问题,而解决问题的方式可以有很多种,通过学习编程可以让孩子解决问题的能力得到刻意练习。或许他们不懂计算机思维中的算法、递归或探测程序这些词语是什么意思,但是他们完全可以习得这些基本概念。
自 2012 年起,由志愿者发起组织、英国的小学都成立了课后编程社团(Code Club),该社团以 Scrach(一个受欢迎的儿童游戏化编程网站,稍后会详细介绍)为学习环境,让 5 岁至 11 岁的孩子自发创作游戏、视频、动画等项目;2014 年的一项调查发现,参加该社团的大多数孩子都能够理解诸如编程(Programming)、变量(Variables)、条件语句(Conditionals)、布尔运算(Booleans)、广播(Broadcasting)、调试(Debugging)等概念。掌握这些逻辑概念将拓展理解问题和解决问题的思路,这对于即将上小学接受系统化知识的孩子来说将大有裨益。
学龄前儿童学编程,可视化编程语言来助阵稍大一点的儿童开始被电子设备和游戏吸引,这时,可视化/游戏化/图形化编程可以让他们获得玩游戏的乐趣,同时也获得编程训练。与实体编程游戏的思路类似,这类编程通常将一个个代码指令以「图形」/「模块」的形式展现,通过拖动、搭建这些图形/模块,可以实现对编程对象的操控;它们的区别就在于,后者的编程对象、指令和反馈都在 Web 端或移动设备屏幕上体现,且由于不受实体配件的限制,可发挥的余地要大得多——小到制作一张贺卡,大到开发一个游戏,甚至更多。这类免费学习工具/游戏有不少:
Scratch, ScratchJr & Scratch Kids支持平台:Web/iOS/Android
Scratch 是一门可视化编程语言,由 麻省理工学院 的 Lifelong Kindergarten Group 开发,其平台目前已有过千万注册用户和项目。Scratch 的元素很多,除了动作以外,还包括对编程对象的外观、声音、事件、控制、数字和逻辑运算等模块。ScratchJr 和 Scratch Kids 是精简版本,年龄较小的儿童更适用。Scratch 支持项目分享,小朋友的作品可以让全世界看到!
特点:
最老牌的可视化编程语言,中文支持全面
指令模块多,自由发挥空间更大
随时随地分享,让更多人看到、玩到小朋友的作品
免费!Web 端登录 https://scratch.mit.edu/ 即可马上创作,也可到各移动端应用商店搜索关键词下载 App。
除了偏创作型的学习工具,还有一些游戏把编程概念植入其中,小朋友可以边玩边学。这类游戏也有不少。
The Foos支持平台:iOS/Android
The Foos 的编程对象是一只叫「Foo」的小人,他/她会遇到一些难题,比如如何获得钻石或甜甜圈,小朋友需要告诉 Foo 一些行动指令,让他/她能解决这个难题。只有解决了难题才能通关,每通过一关,难题就会升级。
Lightbot: Code Hour支持平台:iOS / Android
与 The Foos 类似,Lightbot 的编程对象也是一只小人,他/她的目标是要走到每一个蓝方格并点亮它,小朋友通过把「前进」、「向左/右」、「旋转」、「跳跃」、「点亮」等指令依次放进右侧的「命令框」,点击绿色的「运行」按钮就能帮助小人完成目标;每过一关,难度升级,因为命令框的容量有限,小朋友需要针对不同的目标制定最高效的执行路线。
The Foos 和 Lightbot 的特点:
边玩边学,不知不觉中 get 到编程概念
点击 Foo/运行按钮可以测试指令是否可行,帮助小朋友发现问题所在(debugging)
一关又一关,让小朋友不仅能「习得」并且能「灵活运用」各种模式来突破挑战
免费!可到各移动端应用商店搜索关键词下载 App。
更多选择如果小朋友有一些英文基础,可以选择的工具/游戏还有很多,以下列出了一些较受欢迎的选择,个别应用的 iOS 版如果在中国 App Store 不能下载,可移步美国店:
Hopscotch HD ~ iOS/Android(免费)
CodeQuest ~ iOS(免费,对英文要求较高)
Code Warriors ~ iOS / Android(免费,对英文要求较高)
Move the Turtle ~ iOS / Android(收费)
Daisy the Dinosaur ~ iOS(免费)
Kodable ~ iOS/Android(免费)
Tynker ~ Web/iOS / Android(免费)
小结这些游戏家长和孩子也可以一起玩,玩的过程中注意让小朋友先独立思考,如果发现小朋友遇到特别大的坎,可以引导他们解决问题,也可以在现实生活中加强某些概念的重复,像是「向左/右」、「向上/下」、「跳起」、「转弯」或「循环」等等,把游戏中提及的编程概念也带到现实中来。
祝各位大朋友和小朋友都玩得开心,学得开心!?
参考资料:
7 Apps for Teaching Children Coding Skills | Edutopia
Smith, Neil; Sutcliffe, Clare and Sandvik, Linda (2014). Code Club: bringing programming to UK primary schools through Scratch. In: 45th ACM Technical Symposium on Computer Science Education (SIGCSE 14), 5-8 March 2014, Atlanta, GA, ACM.
Clements, D. H., & Gullo, D. F. (1984). Effects of computer programming on young children’s cognition. Journal of Educational Psychology, 76(6), 1051.
CLEMENTS, D. (1986). Effects of Logo and CAI environments on cognition and creativity. Journal of educational psychology, 78(4), 309-318.
The best coding apps for kids on iPhone, iPad and Android
Scratch - Imagine, Program, Share