不懂编程的家长也能用游戏、应用程序教会孩子基础编程技巧。
10岁的Filip Icev在笔记本上写代码。 图片来源:ANNABEL CLARK FOR THE WALL STREET JOURNAL
SUE SHELLENBARGER
华尔街日报 2017年 03月 14日 17:06
很多家长都想让孩子学编程。科技行业领导者和教育学家呼吁学校开设更多的计算机课程,家长也认为编程是未来社会的必备技能。
然而,比起给孩子读书、教他们数数,打好编程基础要难得多,它令人望而生畏,不是轻轻松松就能完成的。许多家长觉得帮不上忙,因为他们自己也不懂数学和编程。
即便如此,没写过一行代码,却找到方法教孩子掌握基本编程技巧的家长现在也越来越多了。有些人利用的是网站、游戏软件或在线解谜游戏,其中使用了专为儿童设计的可视化编程语言。另一些人则把精力放在培养孩子的编程思维上。比方说,即便是小孩子,也能学会把任务分解为多个步骤,再依次执行──这种编程概念就叫“定序”──或者重复一系列步骤,直到任务完成,这就是“循环”概念。
家住纽约州白原市的Laura Reidy表示自己对电脑敬而远之。她说,“我老是跟孩子讲:你们可不能像妈妈一样。”她的三个孩子都是6岁不到就开始学编程。她和丈夫Sean坐在餐桌边,陪10岁的儿子Sean Thomas编程,他能用麻省理工学院开发的可视化编程语言Scratch制作迷宫、动画和生日贺卡。
Sean的弟弟Jack今年8岁,会在Scratch网站和Code.org上制作动画和游戏,后者是一家非营利组织开发的网站,旨在推广编程教育。Reidy的小女儿Isabella从4岁起就开始用Scratch了。最近,妈妈Reidy很惊讶地发现,年仅6岁的Isabella已经能独立制作生日贺卡和其他东西了。“这事来得太快,太自然了,我都没注意到她在学编程。” Reidy说。
Scratch面向8岁及以上的儿童,Scratch Jr.则面向5-7岁的儿童,这类可视化编程语言通过模块而非文本实现编程。儿童可以将命令块(block)拖曳到一起,组成有序的指令,控制动画或游戏运行──这就是学习定序的过程。他们还可以将命令块组合嵌入另一个控制命令块中,设置好重复执行的参数,通过这种方式学习重复步骤。此外,儿童还能在游戏中了解条件语句这一编程概念。例如,他们可以控制动画角色:“如果下个空间开放,则前进;如果不开放,则右转。”
掌握编程思维并不是只能依靠电子设备,许多家长也不希望孩子一直盯着屏幕。自打两个孩子3岁起,Kati Iceva和丈夫就同他们一起玩桌游《机器乌龟》(Robot Turtles),从中学一些基础的编程技巧。玩家需要把程序卡片摆成符合逻辑的序列,控制乌龟在桌面方格上移动,获取宝石。如果出错,孩子可以使用“错误”(bug)卡片纠正。
图为Kati Iceva和丈夫与他们的两个孩子一起玩桌游《机器乌龟》。 图片来源:ANNABEL CLARK FOR THE WALL STREET JOURNAL
家住华盛顿柯克兰的微软高级软件工程经理Kati Iceva说:“我们想启发孩子的思维,让他们尽情探索。”她的女儿Mia今年6岁,给乌龟编程时已经不出任何差错了,这件事让她很有自信。儿子Filip今年10岁,已经参加了好几门编程课。
Code.org是西雅图一家致力于推广计算机教育的非营利组织,副总裁Alice Steinglass表示,家长还可以将一些日常任务设计成有趣的逻辑题,让孩子学习如何将一项任务分解为若干步骤。她说,举个例子,一名家长先离开房间,另一名家长留下来,搭个简单的乐高玩具,让孩子记下步骤。然后离开的家长回到房间里,按孩子记录的步骤搭玩具。过程中免不了出错,可能会很好笑,但它能帮助孩子培养精准、循序渐进的思考和描述方式。
最近,Kieran Snyder为了6岁的女儿River,利用自家的圣诞树出了一道编程题。他们把步骤命令和条件指令(if-then)写下来,让River和另外两个姐妹(一个7岁,另一个4岁半)来执行。
Snyder举了个例子:“如果树上没有红色饰品,就从蓝色饰品开始,然后重复这个过程。”Snyder女士是西雅图在线文本分析提供商 ──Textio的联合创始人。River发现自己漏了一条“从树上拿下来”的命令,所以不得不“调试”这个程序。
Snyder女士规定,River每周只能接触几小时电子屏幕。期间,她经常帮River学习使用“跳房子”(Hopscotch)这款应用软件,通过可视化编程语言做设计,开发游戏。
如果孩子未满8岁,那么最好由父母陪他们一起玩编程游戏,《教你的孩子学编程》(Teach Your Kids to Code)的作者Bryson Payne说,从一对儿子两岁起,他就把他们抱在膝头,给他们演示如何用编程做设计、画图形。“孩子的乐趣之一就是和爸爸妈妈一起玩。其实它和给孩子读书差不多。”Payne先生表示。
有些家长恨不得马上就让孩子学Python之类的文本式编程语言,结果往往是孩子弄不懂,情绪受挫,Rob Kissner说,他是纽约州白平原Digital Arts Experience的校长,该机构专门开设K-12计算机技术课程。“这事急不来。”他说。大多数儿童都更适合用Scratch或Blockly这类可视化编程语言来学习基本概念,至少要到9岁以后,他们才有能力继续学习Python或其他文本式编程语言。
此外,有的孩子就是对编程不感兴趣。Bon Crowder在休斯顿开了一家网站,帮助家长和老师教孩子数学,她说,她曾试图激发6岁的女儿Kate对编程的兴趣。但无论是在线游戏还是解谜,女儿都不感兴趣,Crowder就随她去了。“你要是强摁着孩子去学,只会把他们赶跑。”她说。
一开始不感兴趣并不意味着你的孩子就学不会编程了,Crowder说。她建议,如果学校会开设计算机课程,那家长最好提前几年让孩子了解一些编程的基本原理。“这样一来,等他们开始学习的时候,就不至于说‘这玩意我一点都不懂。’”她说。
儿童被编程吸引,多半来自对创作成果的想象,Manuel Cerqueiro说,他是纽约课后电脑班codingKIDZ.com的创始人。“重点就是创造。你想讲个故事,做一张生日贺卡,创作一首歌,或者画一幅画。你就得了解一些命令,会用电脑把它们做出来。”他说。
Melanie Pinola是这样激发4岁女儿的兴趣的:她让“跳房子”里的角色做一些有趣的动作,然后告诉女儿:“Elise,快来看。我动一动这些模块,小狗就能像小猫一样喵喵叫了哦。”Pinola是纽约Floral Park的一名自由撰稿人兼作家。现在Elise7岁了,如果她编出了一个故事,Pinola就会说:“要是你能把它做成动画或者游戏,是不是特别酷啊?”
家长想帮忙,其实“特别简单,你可以当孩子的观众,或者问些相关问题。”麻省理工学院博士生Ricarose Roque说,她为家长和孩子设计编程讲习班。她建议家长采用“好奇和嬉戏”的方式。
许多面向儿童的网站把编程变得非常简单,任何人都学得会。最近,我在Code.org上观摩了一门“Hour of Code”的免费教程,虽然我没写过一行代码,但也发现课程中的概念很容易掌握。我请家里11岁的小朋友Sebastian Richardson试试看,他是个电子游戏迷,只花了35分钟就简单学完了“Hour of Code”。学完几分钟以后,他就开始自己编程,做简单的游戏,玩得不亦乐乎。
麻省理工学院媒体实验室(MIT’s Media Lab)终身幼稚园团队(Lifelong Kindergarten Group)的主管Mitchel Resnick说,通过编程做游戏和拼图,能让儿童从被动接受科技的角色中挣脱出来,不再仅仅通过它接收信息,享受娱乐,而是将其视为创造作品、表达想法以及与他人分享的工具。
Scratch正是他们开发的。儿童还在潜移默化中学到了设计与解决问题的技巧,学会不断适应、改进策略,Resnick博士说。很多儿童还学到了基本的数学知识,比如根据坐标将图形或线条摆放在屏幕上特定的位置处。
以下是一些热门网站、游戏和应用程序,不少父母用它们教孩子了解编程概念
《你好露比》(Hello Ruby)
图书,5-7岁
活动绘本,介绍编程基础知识。
Code Monkey Island
桌游,9岁及以上
玩家控制猴子在岛上移动来到达香蕉林,玩家需要运用编程概念躲避危险,达到目标。
ScratchJr
网站、应用程序和编程语言,5-7岁
热门可视化编程语言Scratch的最新版本,专为8岁以下儿童设计。原始Scratch网站提供面向8岁及以上儿童的编程语言。
PBSKids ScratchJr
应用程序,5-8岁
儿童可以通过可视化编程语言ScratchJr,为PBS电视台儿童节目中的角色编故事、开发游戏。
跳房子(Hopscotch)
应用程序,9-11岁
儿童使用模块化编程语言做设计、开发游戏。
Lightbot
在线游戏、应用程序,有两种版本,分别面向4-8岁和9岁及以上儿童
儿童使用图标解谜,控制机器人点亮各种迷宫中的所有地砖。
移动乌龟(Move the Turtle)
应用程序,5岁及以上
儿童操纵乌龟,用编程制作彩色游戏。
|