英语是通向世界的语言,编程是通向未来的算法。在国际高中的众多选修课中,编程课很受学生欢迎。在橘郡美高6月的一节编程课上,Nathan老师在讲解了新内容后,同学们开始进行练习,教学目标是基于Python语言编写代码,正确运行后生成化学元素周期表。
刚学习编程时,有的学生觉得仿佛打开了一扇大门,这里能实现的东西太多了。而且编程的神奇在于,只要你的输入符合所有规则,就一定会得出想要的结果。
对于选修这门课程的原因,学生们都有自己的想法:有的同学是基于兴趣多多益善;有的把编程当成科普,认为培养科技思维应该懂得编程知识;还有的学生说,人工智能,互联网,移动APP,甚至连路灯工作都与程序有关,所以我们要懂得电脑数控的工作原理。
大而言之,国家未来需要的是逻辑思维缜密,能够应对各种不确定性,通过自主学习,提出独特想法的创造性人才。因此各个国家都很看重编程在K12教育阶段的融入。2017年,我国发布《新时代人工智能发展规划》,规划指出:人工智能已成为国际竞争新焦点,培养人工智能人才,已成为一项十分迫切的命题。在中小学阶段设置人工智能相关课程,逐步推广编程教育。
讲授这门课程的Nathan老师,毕业于美国普渡大学,大学期间他自己深入学习了编程。在他看来,如同不需要每个体育爱好者都要成为运动员,不见得每个学生都要成为程序员,但当前我们与世界交互的方式正在发生深刻变化,作为与计算机沟通的语言,编程正在成为一种新型能力,应用也越来越广泛,未来会像写作、演讲一样,被普遍掌握。
苹果公司CEO库克曾在接受采访时谈到:每个人都应该学习编程,“不仅仅是因为现在懂编程的人存在巨大缺口,还因为技术的本质正在日益水平化,而不是垂直化”。水平化技能会更倾向于通用技能,就像会英语、会开车那样,成为工作和生活的基本技能。
乔布斯曾说,计算机启蒙最大的好处是可以对人的思维方式进行训练,对思维完整性和逻辑性进行训练的过程中,我们可以培养一种新的看待问题和处理问题的方式。
橘郡美高之所以重视编程课,也是希望通过学习让每个学生都学会“计算思维”,从理解问题开始,设计步骤,直到找到解决路径,更高效地思考和解决问题。而且,编程课还可以与数学及物理等其他学科关联,在学科层面形成呼应,最终可以提升学生在单位时间的学习价值。
学习编程的过程中,让很多学生兴奋的一点是,他们可以融入自己的创造性,用编程语言进行一些设计。9年级的崔立骁就曾在PBL编程课中,设计了一个简单的效率管理程序。他发现常用的与记单词有关的APP,多少都存在一些问题,比如不能满足个性化的需求,速度不够快,不够全面,甚至不够准确等问题,他想根据自己的需求设计一个工具,提高学习效率。结合自己的学习习惯和方法,总结工具的功能,然后把任务分解,比如创建数据库,设置添加单词、翻译、背诵、搜索、导出等不同功能组成部分。
学习编程后,浏览一些网页时,他也会思考一下某些设计是如何实现的,很多时候发现如果花时间研究一下也可以做出来。
编程思维引导学生系统化地思考和解决问题,建立从发现问题到解决问题的路径,通过分解、识别模式、抽象、算法几个步骤,把复杂的问题拆解成一个个小问题,找到问题之间的关系;观察发现其中的规律、趋势的过程;建立自己的模式,最终通过算法设计出解决问题的路径。
系统性思考能力
这学期,随着编程学习的逐渐深入,Nathan老师鼓励崔立骁用Python编写一个国际象棋程序。仔细思考这要涉及国际象棋的诸多规则,胜负判断,棋子的位置,最佳棋步的算法……如何由繁到简设计搭建整体构架,统筹规划全局,进行优先级排序。这就需要系统性的思考和处理问题。
逻辑分析能力
有些同学发现,编程过程需要跨学科的知识,编程思维也与很多学科都是相通的,以英语来说,阅读时注意重点语句,总结每个段落的关键信息,了解每个部分的层次关系,总结文章的中心思想,就能快速深入理解内容。
对教育来说,比知识的传授更加重要的是学会逻辑思维,学生需要有对事物进行观察、比较、分析、综合、抽象、判断、推理等能力。
通过逻辑分析,我们可以很快掌握规律,把一项任务中的重要流程或者步骤梳理出来,也可以把其中重复性的动作进行整合,总结出相似模式。这种思维能力可以迁移到学生学习和生活的各个方面。
测试纠错能力
如果程序没有得到想要的运行结果,那说明是过程中一定出现了漏洞。
最近崔立骁在编写国际象棋程序时也发现了问题,他也进入了不停寻找和解决这些问题的循环。虽然这个过程可能要反复多次,要检查每一行代码,观察每一步运行的结果,在不断的改进中实现达到目标。修正体系对一个人的耐心,抗挫折能力是一种磨练。
复杂问题分解能力
把复杂的问题分解成一个个小任务,让每部分简单化,可执行,可完成。先后的次序,彼此的关联,都是要仔细考虑的。举例来说,如果让机器人来炒菜,因为它只会按照程序指令发生动作,所以就要分解到每一个动作,开火、放油、放葱花……拆分为了更好地执行和解决问题。
不少国际学校认识到在高中阶段要培养孩子解决复杂问题的能力,但很少意识到培养复杂技能方面需要的抓手课程。编程课的关键部分恰恰在于培养将复杂问题分解成简单问题的思路和方法。沿着这条路径延伸下去,才能形成严谨的结构化思维,把小前提和子问题分而治之,最终在未来形成不同任务下的团队分工合作。小到皇家马德里队可以通过科学训练由弱转强,勇夺欧洲冠军杯;大到马斯克的SPACEX火箭可以星际远航,将星链卫星送入太空。
有人调侃说,当下“学编程的孩子运气不会太差”。随着5G时代的到来,在不久的未来,很多职业和工作可能要逐渐消失,或者被人工智能取代。虽然我们不知道未来究竟如何,但如果拥有深刻的思维能力和解决问题能力,就有了克服困难,不断创新和革新的底气。
关于北京橘郡美高介绍
橘郡美高海淀区教学中心是由橘郡美高中国区总校运营管理的个性化美式高中教育项目。在日益趋同的国际化教育理念大环境下,集成中国优质公立学校血统与美国金牌蓝带高中基因的双重优势,致力于中美间教育的相互促进与协调发展。中心注重以学生个性化成长指导为主线、注重美式英语教学、注重学生学术能力和创新性思维培养,并逐步实现中美优质教育资源的学阶同步与内容共享,教学过程与学生成长的信息化管理,倾力打造美式硬素质教育创新示范校。