分享到微博 分享到人人 分享到LinkedIn 分享到Email
马歆:编程要从娃娃抓起,逻辑思维能力贯穿一生

【编者按】
美国总统奥巴马发起“编程一小时”的运动,旨在让全美小学生开始学习编程。编写程序已经差不多形同日常生活技能。但是关于低龄青少年的编程教育还在探索阶段,什么时候学习,怎么学习,都没有现成答案。奥巴马就认为自己两个女儿学习得太迟,不太满意她们编程教育。中国家长越来越重视孩子的编程教育,同样面临如何教育的困惑。中国微软亚洲研究院学术合作部中国区经理马歆,对青少年的编程教育做了很多探索,她认为要教小孩,家长最好先学,同时要寓教于乐。


马歆

澎湃新闻:如何培养小朋友的逻辑思维能力?

马歆:2006 年,现任微软全球资深副总裁、曾任美国卡内基梅隆大学计算机科学系副主任的周以真教授首创性地提出“计算思维”的概念,她认为“计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。”计算思维应该面向每一位学生。我现在教我的小孩子学“1、 2、3”,是一个从易到难的过程。而计算机的这种逻辑思维方式到底应该在哪一个年龄段,用什么方式教给小孩子仍是一个很好的研究和探索题目。

计算思维包含了数学性思维和工程性思维,而其最重要的思维模式就是抽象话语模式,这些都需要多年的时间积累。计算机是最近在逻辑思维培养方面,大家关注的热点话题。当我们跟大学老师交流,如何做大学的计算机教育时,我们得知,他们在大学里教课会教到逻辑树等。但教授们发现反而小学生认知更快,孩子们会用各种方式理解。到了大学则会用另外一种方式理解。所以计算思维应该从小、中、大学都一直在教,并且是针对不同年龄去教学。

其实,编程需要的思维能力是把一件事情先抽象化出来,再逻辑化表达出来的能力,这是解决问题的一个纬度,也是看问题的一个视角。能找到这个问题的一个视角,再用具有这种思考问题的方式,就会找到解决问题的方法。也就可以用计算机工具来解决问题。澳大利亚教小孩子一些很小的计算机基础知识点,他们叫“任务分配原则”,是让小孩子设计做饭,30分钟内做好饭。但是煮粥要10分钟,炒菜要5分钟,切菜几分钟,如果这些活一个个分开做,可能会超过100分钟,这就要考虑如何排序,可以在30分钟内完成这些事,学生在日常生活,过家家就把这些问题解决了,具备了这种思维方式,小孩子下次遇到另外一个问题也会想到时间分配,或任务规划。他们的小学考试会考这种思维能力,把计算机基础的知识点映射到生活中,先抽象化,然后再逻辑化。这其实在计算机里就是时间分配的问题。在生活中,要学会掌握合理安排流程的能力,一步一步优化,学生需要这种设计和解决问题的能力,所以要在生活中刻意去训练。

澎湃新闻:什么样的教育机构提供幼儿编程训练?

马歆:在中国越来越多的老师开始关注幼儿的计算机教育,我认识一些大学老师,教计算机基础知识,他们认为,人们从小就学习语言、数学,为什么不从小就学习计算机的基础知识,这其实就是计算思维能力。他们从大学往回推,希望做一个衔接,以小学生、中学生的知识点为基础,寻求合适的方式去学习编程。就如同我们在小学学习如何认字、背诗一样,直到具备某些能力。所以微软跟大学老师一起在高中做这种试点,也向教育部领导汇报了这个想法,教育部对此很支持。

同样的,最近奥巴马投了40亿美金,要让每个美国孩子在小学具备最简单的编程能力。最后不管从事什么职业,这个思维能力是贯穿一生的。

计算机编程没有想的那么难,它还是思维能力的反映,就像写文章,有主语、谓语、宾语,只要记住标准的语言格式,把它输进去,或者调模块就能实现。现在很多程序工具做得很好,你只需要写几行代码,其他代码都自动生成,非常简单。

澎湃新闻:具体有什么样的教育方法?

马歆:例如微软公司携手Code.org 共同发布的针对学生和教育工作者的《我的世界(Minecraft)》编程教程。它是通过一种游戏的形式,在游戏世界中让学生学习基础编程知识,非常有意思。它被美国老师认为是让学生学习编程的最具创新性的方式,是很好的课件。此外,我们还与一些合作伙伴共同设计了一款可以塞进口袋的迷你计算机,叫 Micro:Bit。Micro: bit包含25个红色LED灯,可用于点亮显示信息,或用于打造游戏;其他配置还包括了2个可编程按钮、1个加速计、内建的电子罗盘、蓝牙、5个I/O扩展环用于和其他外设、传感器连接到一起。通过简单的编程,小孩子可以控制设备并开发通过编程控制硬件的乐趣。从而使小孩子觉得编程的门槛并不高,可以一边玩一边学。

我们请老师们把这个过程写成教材,老师们还自发做了一些培训,希望能够在幼儿园、小学的课程中学习到,而微软更多的是做平台技术支持。这些教材在网上都有,那个可编程的小设备非常便宜,可以自己买几个,家长先学会了,再教小朋友,很简单。微软公司一直致力于计算机科学的发展和推广,希望通过这些教程和设备向更多青少年介绍计算机科学,培养他们对计算机语言最初的兴趣。在每年公司组织的志愿者活动中,我们会主动邀请小学生、打工子弟来到微软来学习,带他们领略编程的乐趣。也许将来我们也可以去到社区做志愿者,先教家长,或者家长跟小孩一起教,这样家长就会变成老师教自己的孩子。上次微软附近几个小学大概100多个小学生来学习,我们的员工先跟家长讲完,然后教这些小孩子,我们每个员工都可以做成这样的志愿者,因为我们自己也是受益者。

澎湃新闻:编程大赛和奥数有什么区别,学习编程会具备什么能力?

马歆:即便将来不做职业程序员,但有了这个思维能力,就知道怎么把问题抽象化,再把它逻辑化表达出来,找一个工程师把自己的想法讲出来,让他帮你实现。如果没有这个思维,可能连问题都描述不清楚。在本届微软编程之美挑战赛中的编程创意比赛里,吸引了很多非计算机专业的学生来参加,但其中有些同学不能很好的描述自己的创意想法,不知道如何把问题抽象出来。后来我们一步一步引导,帮他抽象化出来,然后再逻辑化表达出来。

微软“编程之美”挑战赛,不太像传统的比赛方式。在初赛,采用微软研究院研发的Code Hunt平台,从逆向思维的角度考察选手的编程、算法、逻辑思维能力。不要把编程想得太难,因为每个学生以后的职业发展和个人兴趣都不一样,所以我觉得通过学习简单的编程掌握计算思维能力可以帮助我们未来的学习、工作和生活。

如果未来的计算、存储都是免费的,让我们想象未来的教育可能是什么样子。前一段时间斯坦福大学公布了2025年的教学规划和教学改革,他们计划以学生能力驱动取代知识点驱动——学生能力养成需要什么,才相应地开这些课程,不是要教什么知识才开这个课程。所以十年以后学校的上课方式等各方面变化会很大。

澎湃新闻:女孩学习编程的竞争力如何?

马歆:从企业角度我们非常需要更多的女性从事软件开发和研究,从事设计体验的创新、商业模式的创新。因为男性跟女性的视角完全不一样,加入女性对产品的理解很重要,男性设计的东西女生不一定喜欢用。所以女孩子不要怕编程。会编程的女性非常珍贵,国内外企业都在加强从青少年培养女性对计算机的喜爱。分享一个真实的例子,美国一所知名的高校有段时间计算机学院女生的比例非常低,后来老师觉得一个学校不能没有女性,所以在入学考试时降低了编程考试的比重,这样有一部分女生就进来了。进来以后老师发现这些女生的编程水平的确较男生有很大的差距,他们手把手地教这些女生的编程能力与技巧,4年之后很多女生在计算机领域比男生表现的还优秀。高校老师发现吸引、鼓励和培养女性从事计算机相关工作,同样可以取得优秀的成绩、甚至可以更出色。