分享

全民学编程,从娃娃抓起:美国已经开始这么做了

 汐钰文艺范 2017-01-10

全球各个创新中心都急需大量具有编程能力的技术人员,美国总统奥巴马也在极力促成各地学生学习编程,但是教师资源短缺和学生水平参差不齐,都是挡在美国教育新战略前面的巨大障碍。


撰文?安妮 · 墨菲 · 保罗(Annie Murphy Paul)?

翻译?辅平萍


艾莉(Allie)和劳伦(Lauren)在加利福尼亚州洛思阿图斯市罗耀拉小学读6年级,她们在第5期课程开始前2分钟,就蹦跳着跑进了希娜·维迪雅南森(Sheena Vaidyanathan)的教室。她们一直在和班上的另外两位小伙伴威廉(William)、布莱克(Blake)比赛——看看谁最早进入编程教室。


从小学生开始


这两名女生坐在一排崭新的台式苹果电脑前,立马做起了维迪雅南森布置的作业:找出某一电脑程序中的错误,然后修正错误。这是一种十分重要又很费力的工作,专业工程师的大部分时间都在做这件事。


上课铃响后,学生们拖着脚步陆续走进课堂。身材娇小的维迪雅南森脸上带着微笑,热情友好地欢迎他们。


 “V老师,今天我们要做什么呢?”有个男生一边走进教室一边问。维迪雅南森回答说:“今天我们要修复一个程序的漏洞。”


 “太棒了!”他大喊一声,奔向一台电脑。普及编程教学的拥护者自然希望这种现象能够遍布全国。在这些拥护者中,除了有渴望雇到新一代工程师和程序员的商业领袖,还有希望美国在全球经济中保持竞争力的政府官员。今年年初,微软创始人之一比尔·盖茨(Bill Gates)就发推特说,“在21世纪,每一名学生都应该有机会学习必备技能——编程。”很多人都和盖茨一样,坚信编程是一项新的认知能力,与阅读、算术一样重要。马克·普林斯基(Marc Prensky)是一名作家兼演说家,他创造了“数字母语者”(digital native)这个术语,在2008年的一篇文章中他写道:“我相信,现在区分一个人有没有文化,就看他会不会编程。


拥护者们都强调,现在需要很多懂电脑编程的人,从事这个领域也更有可能获得晋升,他们表示,这些机会在未来几年还会持续增加。


奥巴马政府的官员为美国计算机科学教育的未来勾勒了一幅宏伟的蓝图:一是美国学生与别国学生齐头并进——他们指出,早在2014年英国就要求每一名学生都学习编程了;二是在所有学生平等接受编程教育的情况下,有助于减少富有的白人学生与少数族裔和条件困难的学生在成绩上的差距。



然而,要想达成目标并不是一件容易的事。在全美学生中普及编程教育还面临着严峻的后勤挑战,上到缺少合格教师,下到缺乏课程资料。由于美国的学校系统是分散的,要实施全国性改革十分艰难。而且,大多数学校至今都没有更新适应信息时代的守则与规范(比如,修读计算机科学课程通常不是理科生毕业的条件之一)。同时,来自不同民族、不同社会经济背景的学生,具备的计算机能力也相差巨大。调查显示造成以上现象的原因是:学校在向富裕的白人学生讲学时,通常会深入指导,教授有实质性的内容;而面对非白人学生和低收入家庭的学生时,就只会给予非常粗浅的指导。


而且,越来越多的人认为,编程技能只是美国学生准备在应对21世纪的生活和工作时,需要掌握的一小项本领。编写代码是计算机科学的实践形式,但是学生也需要了解理论知识,理解计算机操作的根本原理。普及“计算思维”也要求校内校外双管齐下:在校内则是培训教师、改进课程、将计算机科学融入到其他学科中、更改毕业要求;在校外进行课外活动、搜集课外资源。


资源还不充足


维迪雅南森拥有计算机科学硕士学位,已有7年的教学经验,在“每一名学生都应该学习写代码”的设想提出时,她就已经表示支持了。她说:“我所说的‘每一名’指的是所有女孩、男孩、特殊教育学生以及那些自认为学不好理科的学生。”不过,与很多人不同,维迪雅南森用现实主义调和了她的热情。在一次班级间的谈话中,她指出,实现这个诱人的目标存在很多障碍,“首先,我们没有足够的计算机科学教师。”


据计算机科学教师协会(CSTA)的调查,目前绝大多数美国高中毕业生甚至连一门计算机科学的课程都没有修读过。只有四分之一的美国学校安排了包括编程在内的计算机科学课,只有5%的高中具有开设计算机科学预修课程(AP)的认证资格。美国目前还没有受过全面培训、准备十分充分的教师团体,而且,维迪雅南森坚持认为,以人为本的老师才是学生需要的。“如果学生正在学习有意义又有挑战性的事物,他们很可能卡在某个难点上,”她说,“这时,学生需要一位了解他们的老师,能以一种通俗易懂的方式为他们答疑解惑,也能让他们从师生关系中体会到鼓励和支持。而可汗学院是做不到这一切的。”


美国不仅缺乏计算机科学教师,也没有经过一致同意的计算机科学课程。CSTA已经为幼儿园到高三的学生设置了一套标准,但是内容非常宽泛(6年级到9年级的学生应该“开始重视计算机技术的普遍运用,了解计算机科学是如何促进交流与合作的”),这意味着,像维迪雅南森一样的教师都是自主决定授课内容,以及如何教导学生的。现在的数学和阅读测试难度都很大,导致计算机科学经常被忽视。维迪雅南森说:“对那些非必修的课程而言,课程表中已经没有更多的位置来安排它们了,而且学校的经费也不够。”


在成为洛思阿图斯学区的计算机科学教师,以及科学、技术、工程、数学(STEM)项目专家前,维迪雅南森是信息技术巨头优利系统公司(Unisys)的软件工程师,随后她还在2家硅谷的初创公司工作过。技术行业的经历使她强烈地意识到,应该把每一位学生都培养成具备职业资格的程序员:“学习编码的基本知识和充分掌握相关知识并且把知识应用在专业的编码工作上,这两者之间存在很大的不同。”正是横亘在两者之间的巨大鸿沟促使维迪雅南森决定,要推动她所在学区的幼儿园教授编程课程。“学习编程和学习一门外语一样,” 维迪雅南森解释说,“我们不指望学生能讲一口流利的法语或西班牙语,因为他们上了高中才会接触几学期的外语课。”



如何把编程教育推广到富有白人及亚裔社区以外,才是巨大的挑战。维迪雅南森的学生开始学编程时,已经有了无数的优势。他们走进课堂时就已经知道了计算机的相关知识,了解它们如何运作;有些人已经在家或者课外拓展活动中着手学习编码了。他们就读的公立学校开设的编码课程也受到了基金会的支持。基金会从学区的学生家庭筹集资金,用于提高教学。学区的各所学校位于硅谷的中心地带,可以独立置办全套台式机和平板电脑,大多数学生家长在附近的谷歌、苹果、Facebook总部上班。


因此,他们在生活中潜移默化地指引着学生,让学生走上机会众多的发展之路。而在个人偏好与能力的基础上,这些备受瞩目的学生在计算机课堂上(日后,则是在科技行业与计算机科学领域)表现得很棒,就像经过了“自然选择”过程一样。


简·马戈利斯(Jane Margolis)熟悉这种假设与推论:学习写代码是贫困学生和非白人学生不敢想的事。马戈利斯是加利福尼亚大学洛杉矶分校教育与信息研究生院的高级研究员,负责集中研究洛杉矶3所不同公立高中的计算机科学教学。2008年,她和合作者在自己研究的基础上,写成了《浅滩搁置:教育、种族与计算》(Stuck in the Shallow End: Education, Race, and Computing)一书,书中解释了她和合作者们提出的“虚拟种族隔离”,这令人感到非常不安。

他们发现,去富裕社区上学的学生更有可能大面积接触计算机科学相关的内容——在学术意义上具有挑战性、创新性和合作性的课程。相反,贫困学生和非白人学生只能使用简陋的设备,接受最基础的计算机教学(类似“剪切复制”操作)。


即使这些贫困学生和非白人学生所在的学校拥有了足够的设备,也存在“有设备,没课程”的问题。用马戈利斯和同事的话说,这里的计算机科学教育不够成熟,有很多缺陷,比如,没法为学生提供连续性的课程,让他们拥有有效的学习体验,也没有提供深入的、明确的指导与支持。马戈利斯和合作者认为,课程内容不能以偏概全,而要因材施教,但也必须考虑两个群体受到过的教育。他们还说,这两个群体非常不一样,他们的平台完全不在同一高度,分歧太深太大了,这些人根本就生活在两个不同的世界。富有的学生理所当然地认为他们能够轻而易举地熟悉计算机操作,而处于劣势的同龄人却完全不敢这样想。马戈利斯告诉我,真正平等地得到计算机科学教育,是21世纪每一位公民都需要关注的问题。


发现了这种极其不公平的形势后,马戈利斯说:“我们觉得必须做点什么来改变现状。”因此,她和同事设立了一个从幼儿园到高三,再到大学都适用的项目——“探索计算机科学”(ECS)。这个项目为学习计算机科学的高中生开设了入门课程,还为洛杉矶联合学区(现在已经扩充到将近24个学区了)的教师提供了专业发展的机会。参与项目的教师将学到如何提供严格但具有吸引力的计算机科学教学。目前,加入项目的老师在不断增加,他们还能通过互联网相互合作。而其他组织(包括“黑人女孩学编程”和“黑客社区”在内),则集中精力利用校外时间开展活动,比如设立周末工作坊和暑期训练营。马戈利斯和她的团队希望为处境艰难的学生服务,他们发现经济和后勤问题经常让这些学生无法利用课外机会学习。


南希·塞(Nancy Se)也决定参与其中。2013年,塞参加ECS项目的培训后,成为了ECS的“教师主管”,帮助其他老师学习如何让学生深入参与计算机科学课程。塞在洛杉矶的奥古斯都·F·霍金斯(Augustus F. Hawkins)高中任教,学生都是非裔美国人或者拉丁美洲人,75%的学生都是“经济困难生”。塞清楚地知道,让“全体学生学习编程”面临的挑战正在一天天逼近。“大多数学生家里都没有电脑,”她说,“他们接触互联网的唯一途径就是用来玩游戏、发短信的手机。”


塞的学生接触科技的机会太少,有很多方面都需要顾及到——不仅要学习计算机的各种功能,还要了解人类设计机器并为之编程的历史渊源。在塞看来,最大的问题是,学生们必须改变他们对计算机科学的刻板印象。“对于一些高中学生来说,相对于他们的家庭出身和自我身份认同,用计算机工作,知道如何编码,这些事情是非常陌生,甚至怪异的,”塞说道,“在我的班里,我和学生不仅要专研这门学科,还要学会重塑自我认知,从而应对如潮流般涌来的文化冲击。”在翻看高三学生所写的文章时,塞特意指出其中一篇,在那篇文章中,学生表达了能为自己和孩子获取稳定收入的希望。“在学习计算机科学之前,我从来没想过自己会涉入甚至主修这个领域,”这名学生写道,“作为一个想为孩子提供一个舒适环境的单身妈妈,我也认为做一份自己热爱并能提供稳定经济来源的工作非常棒。”另一名学生写道,“经济困难充斥着我的生活,然而,我是不会让有限的资源拖垮自己的。相反,这会激励我通过学习走向成功。我渴望有一天能成为动漫制作人,达到平均年收入50281美元的标准。我立志结束现在的经济困境,能自己照顾全家”。


的确,推广编程教育常用的一个理由是,缺乏编程经验的年轻人很难踏入一些高收入的行业。但是许多批评家认为,狭隘地将精力投入到学习某项专业技能(例如编程)也不是长久之计。斯坦福大学教育学名誉教授拉里·库班(Larry Cuban)提到了上世纪七八十年代,美国用早期计算机标记语言做的试验。这项试验由麻省理工学院教授西摩·佩珀特(Seymour Papert)领导,他们发现,教导学生学习标记语言的努力付诸东流。库班说,这是因为这项教学没有给学生传授他们真正需要的计算机知识。库班预言,“全体学生学习编程”的运动也会无果而终,并认为,这场运动是商业领袖推动学校开展的,他们清楚地知道:这是一场“纸巾改革”,“用了一两次之后,就会被撕碎扔掉。”


如果编程教学不是最终的答案——或者说不全是——那什么才是答案?珍妮特·M·温(Jeannette M. Wing)认为答案是:计算思维。温是卡内基梅隆大学计算机科学咨询教授,也是微软研究院的全球副总裁。2006年,她在一本杂志上发表的一篇文章迅速成为经典之作。她大胆宣称:“计算思维是每个人的基本技能,不单单属于计算机科学家。这种思维模式是先理解计算机科学基本概念,然后将它们应用在解决问题、设计系统和理解人类行为等方面。


 “计算思维包括抽象能力、逻辑推理和符号推理能力,以及拿下一个大难题,将它分解为若干小问题的能力,”温说,“不管有没有使用电脑,这些技能每个人都会用到。”


温在文章中写道,“为了更好地阅读、写作以及运算,我们应该让每个小孩都具备计算思维。”艾琳·欧文斯(Aileen Owens)是一位教育家,她看到了温的呼声。欧文斯采用温的想法,把计算思维作为课程的重点部分,用在了匹兹堡附近的南费耶特乡学区,她是那里的科技与创新理事。在欧文斯眼中,培养计算思维要尽早开始,通过一系列分层次的、相关的项目进行,逐步深入,不断加深难度。



在南费耶特,从幼儿园到2年级的学生都会用一种模块化的编程工具,学习这些工具背后的原理。利用“喵爪”(Scratch)程序,学生们可以拖放一些指示模块,例如“移动10步”,“等待5秒”,“左转90度”等。用精确的顺序排布这些指示模块,学生就能够使屏幕里的对象按要求做出反馈(一个卡通形象会向前进,再停下,然后左转),于是,他们就能大体了解电脑是如何接收指令的。指令的内容会随着学生年龄的增大而变得复杂。3年级到5年级的学生会给发动机和传感器设计程序,搭建可以受程序控制的乐高机器人。6年级到8年级学生会学习计算机辅助设计(CAD);学生利用CAD软件设计自己的发明,再用3D打印机制造出原型。上7年级时,学生所学内容从基于模块化的编码转变为基于文本的编码,这就和专业程序员一样,使用更为复杂却更灵活的语言来编写代码。

 “每一阶段的目标都是巩固计算思维,只有这样,才能在前一个水平的基础上向上发展,”欧文斯解释说,“这不止是编码那么简单。这是一种思维习惯的教育,这种思维习惯可以用来解决任何领域的问题。比如,把一个大问题化解成若干个小部分;进行若干小型实验,从而得知哪些方法会失败,哪些方法会成功;与他人合作,共同想出最好的主意。”在不同环境下采用这些策略,可以让学生明白计算思维远比计算机更有用。


即使最小的孩子也能学到这种思维习惯。“我们正在教小孩攻克难题,让他们有逻辑地思考、抽象思考、找出模式、辨认替代物。”梅利莎·昂格尔(Melissa Unger)说。她是南费耶特学区幼儿园到2年级学生的科学、技术、工程、艺术和数学(STEAM)老师。“我们首先解决的问题是,‘什么是指令?如何下指令才能让电脑知道你想让它做什么?’我们让学生给自己的同学‘编程’,举起标有箭头的卡片来指导他们走出迷宫。”


和洛思阿图斯一样,南费耶特是一个富有、教育水平较高的社区,在匹兹堡新兴科技产业区工作的专业人士和许多在附近大学任教的教授都居住在这里。但是,正如华盛顿州肯特市的伊克赛尔公共特许学校所提出的那样,计算思维可以教给所有孩子。伊克赛尔招收的学生群体中,37%是非裔美国人,19%是拉丁美洲人;超过一半的学生可以享受免费或减价午餐。尽管学校离科技巨头亚马逊和微软公司所在的西雅图只有几十千米,但伊克赛尔的学生仍然感到无法进入计算机世界。


伊莱·谢尔登(Eli Sheldon)是这所学校的计算思维项目负责人,他打算改变这种状况。“我和老师们一起计划,希望把他们教授的课程(不管是英语、数学还是生物)与计算思维结合起来,”谢尔登说,“让学生在不同课程中使用相同的思维工具,就会使他们意识到这些工具是普遍适用的,即使到了校外也能用。”谢尔登和一名数学教师合作,创立了一个分析职业篮球比赛中运动员移动数据的班级团体;他还与一名人文学科教师合作,通过分析刑事审判系统,开展互动案例研究。


计算思维教学的拥护者认为,这种教学方式具有很多单纯的代码教学所不具备的优点:内容丰富、知识有深度;可以给学生一套灵活的思维工具,可以用在很多场景中;不论是在学校,还是走上了工作岗位,教给学生的知识和技能都长期有用。


在进入伊克赛尔学校之前,谢尔登在微软担任了4年的项目经理,在那里他见证了在现实世界中运用计算思维。“我看见工程师们接手了一个个无比复杂的难题,然后用计算思维解决了它们,”谢尔登说,“工程师们对拆分难题真的非常在行。他们会把各个部分按逻辑排列,每次测试其中一个部分,看看这一小部分的变化如何影响结果。我观察着他们,心想‘世界上每个人都应该知道如何运用这种方法’。”


美国普及计算机科学教育的行动仍在持续发酵。白宫科技政策办公室负责学习与创新板块的副理事库马尔·加格(Kumar Garg)也在推行这项行动。他解释了为什么这类项目可能会取得成功:“奥巴马总统就职时,只有11个州同意将计算机科学课程纳入毕业条件,”加格说,“之后,情况发生了翻天覆地的变化,另外28个州和华盛顿特区都同意将计算机科学课程归入理科生毕业要求。”加格还称赞了预修计算机科学课程的“重启”政策,这项措施也将由相关大学委员会着手筹办。新课程与考试将重点放在编程和计算机科学基本原理上。“学生需要了解计算机科学的基本原理,不过,编程才是帮助学生明白这门课程内涵的方式。”他解释说。


加格说,在奥巴马政府提出“全民学习计算机科学”(Computer Science for All Initiative)的倡议下,政府要求学区提交扩展计算机科学教学方式的五年计划;政府会对计划精良的学区发放实施经费。当然,一些学校并不会等联邦政府走完缓慢的程序后再启动计算机科学教育的创新;然而,也有学校还没有准备设立这门学科。这种情形不禁让人想起科幻小说作家威廉·吉布森(William Gibson)的警句,他的作品探索了人类与科技之间的相互影响。吉布森已经看到了,“未来已然来临,只是分布还不均匀。


点击报名面向8~15岁孩子的编程课




转载请先联系newmedia@huanqiukexue.com。




    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多