大家好,我是周安琪,感谢少年商学院的邀请。我13岁就到英国留学了,后来毕业于剑桥大学工程系。之后研究计算机思维与青少年编程,也是全球40位获得麻省理工(MIT)官方认证的移动编程教育专家中的一位。从2004年开始,我就在香港和新加坡教小朋友们编程。我的经验告诉我,从小学习编程是提高孩子们综合素养的一种非常好的方法,或者说,能帮助孩子提前做好准备,应对30年后的世界。

我们都不知道未来20年或者30年的世界是怎样的。可能是现实虚拟结合,也可能是被人工智能占领,五年前我们还在担心买车摇号的问题,现在大家已经用上了滴滴专车;五年前我们还一直使用现金,现在出去吃饭都可以用信用卡、微信支付……五年的变化尚且这么快,何况是20年、30年呢?

▋最好的准备,是让孩子从被动接受变成主动创造

美国总统奥巴马,作为一个爸爸,他是非常为他的女儿们考虑的,也为全美国的小朋友考虑到了未来世界的这个趋势。他拨了40亿美金的款,让全美的小朋友,从幼儿园到高中,一起来学习编程、学习计算机科学、学习计算机的思维能力。他说,你不要只是拿着手机看视频、玩游戏,而是一起来学编程,这样,我们才能从科技的被动享乐者变成一个主动的创造者。

我非常认同他的做法,因为我们实在无法预知孩子在未来世界会遇到什么样的挑战,但是我们可以提前帮助孩子培养起未来世界需要的七项基本能力,让他们成为信息技术时代的领导人。我会用我亲身经历的一些小故事和观察到的现象,来讲讲每一个能力究竟意味着什么,以及如何能更好地培养孩子这些能力。

▋最基本的逻辑思维,是明白自己每走一步的目的

第一个能力是逻辑思维能力。

前阵子网上有个段子说,就算高考考的是打游戏,赢的还会是现在的这些学霸。我非常赞同,因为“学霸”普遍具备比较强的逻辑思维能力,以及在相同资源下,最有效地利用资源的能力。比如说“时间”,学霸们能比较好地分配;比如说一样的考题,学霸们会先分析考试内容的相关性,应该在哪些题型上投入更多,才能收获更高的产出……

编程为什么能非常直接地锻炼孩子的逻辑思维能力呢?我们都知道,编程是一种计算机语言,负责给计算机精确地发号施令,从而让计算机帮你完成某一项任务。比方说,我要写一个“小乌龟左右爬来爬去”这么个小程序,我得先写一个“小乌龟”,考虑乌龟直走多少步,转几度角,换什么颜色再转……

这时候,小朋友们需要分析,在我的程序里面,我的每一个小部分,分别要达到什么样的目的,而为了达到这个目标,我需要干一些什么事情。在这个编程的过程中,他们会学会如何将非常庞大复杂的问题分解一小块一小块的问题,然后一点点地解决。

其实数学、物理的练习也是一样的目的,但就我的观察,我们的孩子还是比较缺乏把这个逻辑思维能力真正运用到生活中去的尝试。西方家长就很重视这个,我有一个学生,是意大利和中国的混血儿,他的爸爸是意大利人,现在是香港一家很大的公司的CEO,他们家有任何重大的事情,他都会和女儿先谈一谈做这件事情的目的是什么,怎样才能有效达到目的,希望借助这些日常训练,让女儿慢慢了解到这种意识的重要性,以后用到自己的生活中去。

我觉得这个方法很有意思,所以我也建议,大家和孩子尝试下。

▋再古老的英国小学也在教孩子最先进的编程语言

第二个能力,是利用先进技术的能力。

今天全球很多个国家已经开始教小朋友编程。以英国为例,从2014年起,全英国所有的小学和初中都把编程纳入核心课程中。5-6岁,小学生会开始了解算法是什么;7-11岁会学习编写和排错小程序;11-14岁每个学生都要学习至少两门编程语言。我小时候就是在英国上学,学校是一所有几百年历史的女校,最近我回去一看,所有孩子都懂二进制,都在学CSS。

科技教育对于培养孩子的自信心很有好处。我们身边有一些年纪比较大的大叔大姨,他们下载一个APP都需要找年轻人帮忙,他们的脑海里就会形成一种思维——技术是很难的,我学不好这个东西。到了我们这个年代,我们需要用Excel来算公式,自己就能下载APP,有些专业人士还能用HTML/CSS来写网页。再到我们的下一代,他们是从一出生开始,就接触电脑和各种电子系统的,他们不可能站在科学技术的大门外面。从小学起,对于他们掌握主动权是非常必要的。

▋剑桥教授的教育哲学:提什么问,比学到多少更重要

第三点我想讲的,是学习能力。不是说学到多少知识,而是怎么学知识的能力。第一步就是学会提问。

英国教育对我影响最深远的,是我在剑桥大学时,那些每周一对二、一对一的小课时。教授通常会坐在我边上,帮我解一些非常复杂的题。经过几年的观察,我发现,这些教授并不关心我找到了什么样的答案,他们更关心我是如何发现问题的,问了什么问题,怎样问问题。他们经常引导我,从问题慢慢延伸出去,搭建出一系列的问题,然后再让我自己一点一点回答这些我自己搭建出来的问题,从而自己找到答案。

我想,他们想告诉我的教育哲学是,这个世界上的知识是学不完的,但你永远可以通过“自己提出一些问题,然后自己解答”来学到知识。

所以,在我的课堂,我从来不会直接告诉孩子们问题的答案,而是坐下来,跟他们一起,把大问题分解成一个个小问题,然后再把小问题重新抛给他们,让他们一点点回答。因为只有在自己找答案的过程中,他们才能真正的学到知识。

在家庭当中也应该这样。因此我建议您,当小朋友问您问题时,就算您知道答案,也不要直接告诉他们。而是坐下来,跟他们一起,一步一步寻找答案,或者让他们看见您如何找到答案。

▋让孩子学会审视自己的“有限资源”

第四点我想说的是办事情的条理性。

毕业后,我越来越发现,一个人的办事能力很大程度上取决于他办事是否有条有理,大到管理企业项目,小到管理家庭琐事,有条理的人总是能把各种资源盘活。英国中学经常会让一群14、15岁的孩子们一起策划一个为期三天的野营--从一开始计划路线,到需要带哪些食品,要带几个帐篷,要带几个睡袋,都需要孩子们自己计划。

这需要很强的策划能力,因为东西带少了不行,会挨饿,会受冻;带多了也不行,因为大家要背着所有行李在山上走三天的山路,这个度要把握得非常好。做完这个项目,我最大的感触就是,当您放手,让孩子自己策划一个旅行或者一个项目的时候,您会惊讶于他们快速成长的速度。

今年暑假,我会和少年商学院北美教研总监赵晴老师一起,在北京开设一个名为“2046学校大创想”的工作坊,带孩子们一起重新构想设计30年后的学校,也是给孩子一个自己策划,并执行、完成项目的机会。

这种训练也会让孩子学会审视自己的“有限资源”。孩子和大人不同,他们往往不能意识到自己的时间和精力都是非常有限的,要聚焦才能做大事,但是当孩子编程的时候,他们就得学会处理好这个问题。比如让孩子在三天内设计一个宇宙中最酷炫的游戏,他是没有足够的时间和知识做到的,这个时候他就得坐下来,好好规划一下了——第一个小时我要做的是什么,第二个小时我要做的是什么……这个过程很痛苦,但是它会让之后的每一步都变得非常顺利。

这种思维方式,会带到他们以后的学习和工作中去。他们想要做一个黑板报也好,做一个幻灯片也好,他们就会先思考“我要怎么规划”、“我要怎么执行”。

▋用聊天替代演讲,帮孩子快速提升表达力

第五点是沟通能力。

对于很多亚洲的孩子来说,上台公开展示自己的作品不是件容易的事情。但是我们需要让孩子尽早学会展示自己的优点和辛苦制作的作品,好在老师、以后的老板面前争取更多的资源。这是一项非常重要的技能。

上面这图片里的小女孩是我的学生,才6岁,非常害羞。在一次作品展示会上,她妈妈非常坚持要让女儿上台,可是底下坐着几十个家长和小朋友呢,她非常害怕,实在是不知道说什么才好。我就蹲在她面前,跟她说,我和她一起来,我问问题,她在台上回答就好了,就当是聊天。她才勉强答应。接着就是一问一答,也说得挺好。

有些家长,会因为孩子害怕、不愿意上台演讲、想要回家,就选择“放过”孩子,但是这真的浪费了一次非常好的机会。下次您不妨试试看,让其他家长或老师通过问问题的方式,帮助孩子在台上演讲。这样,孩子既不会因为不知道怎么开口而害怕,也能通过家长的提问,学习演讲的基本要素和表达逻辑,最后做到自信大方地上台。

▋为了自学中文而DIY了一个APP的澳大利亚男孩

第六个能力是创造力,这也是大家经常听到的非常重要的一个能力。

很多人把创造力等同于“产生一些奇思妙想”,其实这不够全面,创造力更重要的一件事情是,先仔细观察,思考你面对的是什么问题,再去发挥想象,设计一个方案出来。但还不能就此打住,还要认真分析分析每个方案的优点和缺点,尝试把不同方案的优点组合起来,做出更加新颖的方案。

编程课上,我经常会带学生编写一些小游戏、APP,这个时候就需要他们运营自己创造力了。我有个学生,是一个澳大利亚的小男孩,在他掌握了一定的编程能力后,我就建议他做一个能帮助自己学习的APP。他想了想,说,自己最大的挑战是学中文,他决定编写一个APP来帮助自己学中文。

他想过好几个方案,最终决定利用三星手机的手写输入法功能。后来我帮他把方案编写出来,他还拿去学校给不同朋友,让他们试着使用、给自己反馈,经过了好几轮循环……他的创造不是简单的拍脑袋,是一个很漫长的过程,所以大家不要误会,觉得那些培养孩子创造力的训练能一劳永逸,不是的,我们要做到循序渐进,重在过程。

▋强调“努力>聪明”,特别是对优等生

最后这一点,有点老生常谈了,就是毅力。在我的成长过程中,我见过很多智商高的人,很多国际奥赛的金牌银牌得主。在和他们接触的过程中,我越来越明白,这个世界拼的其实不是智商,而是毅力,你的态度和汗水决定了一切。

斯坦福出过一个关于“成长型思维”的研究,大家可以看一下:

学习编程时,一个非常难能可贵的体验是,努力比聪明更重要。有些孩子是优等生,平时可能做数学题,一次就对,平常也很少遇到挫折,但是在编程里,就算是最有经验的程序员、计算机科学家,他们每天的程序里也会出现无数个小错误,更何况是我们刚开始学的小朋友。所以我们经常要鼓励他们,不要担心,因为遇到挫折是再正常不过的事情,我们只需要坐下来看看,哪里出了问题,一个一个解决就好了。

这种抗挫折的能力很重要,会影响到他今后的学习和生活,当他们遇到了困难的时候,他们就可以想想自己编程的时候遇到的无数个小问题,以及当时是怎么耐心地解决的,就会有信心去面对那个困难了。

▋最后,推荐4个好用的编程软件给中小学生

最后,我推荐几个我自己和我的学生都用过的比较好的编程软件:

这个是scratch,可以用来制作小游戏、小动画。

下面这个是scratch junior,适合年龄更小的小朋友——幼儿园或者小学一、二年级学生。AppStore里都能下载。

这个是麻省理工学院跟Google公司一起设计的App Inventor。前面我提到,这个暑假我会为少年商学院的学生开一门名为“2046学校大创想”的夏令营课程,期间我就会教大家用这个软件来编写手机APP。

最后这个是hopscotch,可以让孩子在iPad上写小游戏、小动画,比scratch稍微难一点点。可在AppStore里下载到。

今天的分享就到这里了,如果能教会孩子们上面这些本事,我的编程课、我的STEM教育的意义也就达到了。最后有一句话想要送给对编程感兴趣的同学:借助编程,训练我们的学习能力、抗挫折能力、逻辑思维能力、社会参与能力,远比我们能写出一两行代码要有意义得多,对我们人生的意义深远得多。

点击按钮,一键分享。