时事分析 | 教育及人力资源 | 2015-11-19 | 《经济日报》

哪一天编程要从小学学起



旨在评估学生中、英、数基本能力的全港性系统评估(TSA),困扰着不少师生和家长,最近连教育局局长都不能幸免。一个被归类为低风险、用作改善教与学的评估项目,为何会演变成一连串密集操练,自然需要回答。而由此衍生的思考是,在现今社会,被认为须及早掌握的能力甚多,艺术、体育,不一而足,假如每种能力的培育都演变成过分操练,类似TSA的计时炸弹,可能会不断爆发。以近年多国提倡的编码和编写电脑程式[1]教育为例,有关技能便愈来愈受香港社会重视,如何在推动这方面的教育同时避免埋下另一枚炸弹,值得社会关注。

学习编程为将来

近年世界各地兴起鼓励学童学习编写程式〈下简称「编程」〉及编码热潮,去年12月,美国总统奥巴马在一个宣传电脑科技教育的活动上与一班学生一起编写电脑程式,白宫网​​页更以首位编码(Coding)的美国总统[2],为其宣传;在新加坡,总理李显龙今年也在一个论坛上表示自己喜欢写电脑程式,又于Facebook公开他数年前写下、用以破解数独游戏的程式。 [3]两位领导人献技之余,不约而同推动国民自小开始学习编程编码。其中奥巴马指出每一个人应该从小就开始学习编码,他本人也鼓励两名女儿学习[4];李显龙也认为新加坡学校应教孩子编程。 [5]

两国元首有以上举动,原因之一是出于经济发展和就业市场考虑。奥巴马警告,若现时不行动,美国在创新科技的优势便会逐渐消失。 [6]新加坡的资讯及通讯发展部也指出,将编程列入全国学校课程,有助新加坡的竞争力及经济发展。 [7]

除了美国和新加坡,由31个欧洲国家及地方教育部门组成的组织European Schoolnet[8],在今年10月所发表有关欧洲在学校推动编码情况的报告指出,教育工作者、经济学家、政客以及家长,近年开始认为学生需要编码技能,理由之一是资讯及通讯科技人才不足,欧洲到2020年可能欠缺超过80万位电脑计算或信息学的专才。 [9]

在就业方面,澳洲昆士兰政府预计,一些工种将会因科技而转变,而需要任职的人有编码或者机械人学方面的技能,例如销售及市场推广工种,将会需要用上编码技能来分析大量顾客个人资讯,以创造一些个人化的数码广告活动;教育、农业、采矿等行业,则会出现电脑保安专家、纳米技术开发员以及无人机械程式编写员等职位。 [10]

编码成个别国家小学必修科

各地政府期望学生及早懂得编码,编码教育不但写进课程,甚至列为必修科;表一所见,至2015年10月,有11个国家或地方已将或计划将编码列为必修课程。当中英格兰、芬兰、斯洛伐克和澳洲昆士兰,更是要求学生在小学阶段学习编码。 [11]

以英格兰为例,当地在2014年将原有的资讯及通讯科技(Information and Communication Technology)课程,改为电脑计算(Computing),[12]并为学生各个学习阶段定下不同目标,当中包括学习编码。

香港渐重视

香港近年来也有呼声要求加强学生的编程能力。自1982年起,程式编写已纳入香港各个电脑科目课程。 [13]教育局在2015年发表的《第四个资讯科技教育策略报告》,提及教师和资讯科技业界普遍同意将程式编写纳入中学课程,甚至认为应列为初中课程的必修部分。 [14]

教育局课程发展处科技教育组指,香港小学现时没有电脑科,但资讯科技的知识和概念,已包含在常识科及电脑认知单元课程,学校可以将程式编写与不同学科的学与教活动结合,例如学生进行专题硏习时,可利用Scratch程式语言创作游戏或动画,展示学习成果。 [15]要注意的是,以上只是「可以」做的,而非必须做,而现时的电脑认知单元课程当中有关程式编写的部分,包括透过图龟(LOGO)语言操控电脑、还有运用Scratch和App Inventor程式等,乃属增润部份而非核心部分,只适合能力较高学生。 [16]换言之,小学生并非必须学习编程,有兴趣的学生,也不是必然有机会学习。

至于初中阶段,程式编写已纳入了目前的初中普通电脑科内。 [17]1999年订立、现时仍然采用的课程纲要,建议学校分配17%的时间在程序编写[18],但有意见指,大纲提议中一生学习图龟的程式编写,如今看来十分过时[19],当局亦已建议所有中学在2014/15学年起,由中一开始推行增润科技教育学习领域课程,并在初中「资讯和通讯科技」的学习元素中,拨出不少于三成的课堂时间教授程式编写。 [20]另据教育局的相关课程指引,学校应分配8%至15%的总课堂时间在科技教育,在此建议下,学生在中二及中三会共花930至1,480分钟学习程序编写,学习内容包括解决问题的过程及技巧、存贮程序的概念,以及数据操作。 [21]

到了高中阶段,学生可透过选修「资讯及通讯科技」学习编程。根据2014年更新的课程及评估指引,必修部分包括占约20小时的「基本程式编写概念」单元[22],课程于2015年的修订,更加强了此必修部分的程式编写内容。 [23]至于课程的选修部分,则占75小时,学生可从「软件开发」、「数据库」、「数据通讯及建网」,以及「多媒体制作及网站建构」,四选其一。 [24]

学编程不止只为了编程

社会需要掌握编程技能的人才,毋庸置疑,问题是小学生能否及应否学习繁复的电脑程式?就第一个问题,现时坊间已有一些为小朋友设的学习工具,例如ScratchJr便是根据受欢迎的学习编程语言Scratch,为5岁至7岁小朋友设计使用的应用程式,让小朋友透过图像去做编程,令角色移动、跳舞或唱歌。 [25]

至于支持从小学习编程,一种论据是学生学习编程重点并非学会技术,而是学会相关的思考技能。任职麻省理工学院媒体实验室(Massachusetts Institute of Technology Media Lab)的学者Mitchel Resnick便提出,编码有助人们整理思考方法,以及用新的方式表达意见,学生不应只学习如何编码(learning to code ),还要学会如何用编码去学习(coding to learn)。他提出教授编码应如教授写作一样,学生在学会写作后,会将写作技能应用于其他科目,而他希望学生学会编码后,同样可以将编码知识应用在其他科目。 [26]

具体来说,编程可以培养的思维技能之一是解难。解难的步骤包括定义问题、将问题细分、以及建立模型,与此相对,在学生编写程式时,同样需定义问题,即程式目的为何,还有将问题分解为不同阶段的小程式,如编写多个物件,并赋与它们不同功能,最后则观察问题规律,掌握问题核心部分,成为日后解决相似问题的模版。 [27]

根据Mitchel Resnick的观点,各地政府重视编码,不应只为人民留住一份好工,或者认定人人将来要落手落脚写程式,更重要的是借编码课程发展学生其他方面的能力。英国皇家学会(The Royal Society)在2012年发表一份有关如何改善英国学校的电脑课程的报告,也指出编程可以教懂小朋友准确和注重细节之重要性。 [28]澳洲昆士兰政府亦指出,并非每一个学生都会成为专业编码人士或者电脑程式员。 [29]

再参考European Schoolnet的报告,在已将或计划将编码列入课程的以色列以及17个欧洲国家或地方当中,分别有15个和14个国家或地方是以加强学生的逻辑思维能力及解难能力为目的,有11个是希望提升学生的编码技巧,8个是希望提高他们未来获聘的机会。由此可见,学会编码的重点不止是促进经济和就业──至少不是各国政府宣之于口的单一重点。 [30]

回到香港,为政府之「数码21」资讯科技策略检讨提供顾问服务的公司IBM,在2013年发表的顾问报告强调程式编写教育的初衷,并非让香港学生具备编程能力,而是鼓励他们积极运用科技解决问题,培养创造力及逻辑思维能力。 [31]教育局在《第四个资讯科技教育策略报告》中,也指培养学生的编程能力,旨在培养学生的解难意向及能力,以解决日常生活的难题。 [32]

近日有关TSA的争议反映一个计划到落实阶段可能与原意有出入,并对部分学生构成沉重压力;同样地,香港处于进一步推动编程教学的关口,也需考虑如何落实。香港教育专业人员协会指出,学习编程纵有意义,也要注意新增的课堂时间从何而来,以及强制要性向不合的学生学习编程,可能会窒碍学生学习兴趣。 [33]Mitchel Resnick也带出学习兴趣之重要性,谓学生若花一小时学习写作,但不将之应用在其他方面,并不太有用;相反,若能因此启发学生的想像力,学生继而运用写作去做更多的事,这种学习才会有意义。 [34]而正如文初提及,以香港的社会生态,许多值得小朋友学习的知识,很容易会演变成追逐考试成绩的操练。若然编程成为「小儿科」,会否变质为求学只为求分数的另一案例,不是一个「小儿科」程度的问题。

 

 

1 编写程式(Programming)乃指人们对着机械装置输入指示以令其执行指令,例如令一个机械人制作蛋糕。虽然有意见认为编写程式跟编码(Coding)有些少分别,编码是较简单、较初阶,不过就此文章触及的议题范围而言,两者的轻微分别并不重要,而文章用「编写程式」还是「编码」乃参考资料来源用字而定。资料来源:Kiki Prottsman, "Coding vs. Programming -- Battle of the Terms,"​​ Huffington Post, 12 June, 2015, http://www.huffingtonpost.com/kiki-prottsman/coding-vs-programming-bat_b_7042816.html ; 「常识科课程内的『计算思维』及教材设计理念」 ,教育局课程发展处幼稚园及小学组,2015年1月30日, http://www.edb.gov.hk/attachment /tc/curriculum-development/cross-kla-studies/gs-primary/teacher-edu-program/induction-for-new-gs-teachers-pri-20150130/20150130-2.pdf ,第10页。
2 Ezra Mechaber, "President Obama Is the First President to Write a Line of Code," the White House, December 10, 2014, https://www.whitehouse.gov/blog/2014/12/10/president-obama-first-president-write-line-code .
3 沉帅青,〈李显龙都识写程式何止为show off? 〉,《经济日报》,2015年5月6日,A31页。
4 Amy Schatz, "Obama: Everybody's Got to Learn How to Code," Re/code, http://recode.net/2015/02/14/obama-everybodys-got-to-learn-how-to-code/ , accessed October 22, 2015.
5 同3。
6 同4。
7 同3。
8 资料来源:“Home,” European Schoolnet, http://www.eun.org/home , accessed October 22, 2015 ; “Members of European Schoolnet,” European Schoolnet, http://www.eun.org/about/members;jsessionid =A1D083125E61D661192E119CE79EE646 , accessed November 6, 2015.
9 "Computing our future - Computer programming and coding: Priorities, school cu​​rricula and initiatives across Europe (Update 2015)," European Schoolnet, October 2015, http://www.eun.org/c/document_library/get_file?uuid=3596b121-941c-4296-a760-0f4e4795d6fa&groupId=43887 , p. 6.
10 "#codingcounts: A discussion paper on coding and robotics in Queensland schools," Department of Education and Training, Queensland Government, October 14, 2015, http://advancingeducation.qld.gov.au/SiteCollectionDocuments/Coding-and-robotics-booklet.pdf , p. 11.
11 资料来源:Computing our future - Computer programming and coding: Priorities, school cu​​rricula and initiatives across Europe (Update 2015)," European Schoolnet, October 2015, http://www.eun.org/c/document_library/get_file?uuid=3596b121-941c-4296-a760-0f4e4795d6fa&groupId =43887 , pp. 10, 11 and 39; Phil Johnson, "France to offer programming in elementary school," IT World, July 16, 2014, http://www.itworld.com/article/2696639/application-management/france-to-offer- programming-in-elementary-school.html ; Natasha Bita, "Queensland makes coding compulsory for kids," The Australian, October 15, 2015, http://www.theaustralian.com.au/business/in-depth/queensland-makes-coding- compulsory-for-kids/story-fnw66tov-1227569343263 .
12 "ICT," The National Archives, http://webarchive.nationalarchives.gov.uk/20131202172639/http://www.education.gov.uk/schools/teachingandlearning/curriculum/primary/b00199028/ ict , last modified January 7, 2014.
13 根据教育局在2015年10月22日对智经查询有关将程式编写列为必修课程的事宜之电邮的回覆。
14 《第四个资讯科技教育策略报告:发挥IT潜能释放学习能量全方位策略》,教育局,2015年8月,第30页。
15 同13。
16 「电脑认知单元课程(单元1-8) (2015年修定)」。取自香港特别行政区政府教育局网页: http://www.edb.gov.hk/tc/curriculum-development/4-key-tasks/it-for-interactive-learning/modular-computer-awareness-programme/ index.html ,最后更新日期2015年6月22日。
17 同13。
18 「普通电脑科课程纲要〔中一至中三适用〕」,香港课程发展议会,1999年, http://www.edb.gov.hk/attachment/tc/curriculum-development/kla/technology-edu/curriculum -doc/computerliteracy_ c.pdf ,第1及10页。
19 〈团体倡小学独立必修电脑教局:常识科已涵盖〉,《星岛日报》,2013年10月9日,F01页。
20 同13。
21 「科技教育学习领域课程指引:课程补充资料(中一至三级)」,教育局课程发展处科技教育组,2013年7月, http://www. edb.gov.hk/attachment/tc/curriculum-development/kla/technology-edu/whats-new/Supplementary Notes - TEKLA Curriculum Guide Chi.pdf ,第6至7、20及26页。
22 「资讯及通讯科技:课程及评估指引(中四至中六)」,课程发展议会与香港考试及评核局,2014年1月, http://334.edb.hkedcity.net/doc/chi/curriculum/ICT C&A Guide_updated_c. pdf ,第6及24页。
23 同13。
24 同22,第8页。
25 "About ScratchJr," ScratchJr, http://www.scratchjr.org/about.html , accessed November 2, 2015.
26 Randy Lynn, "Interview: Mitchel Resnick," Maris, West & Baker Advertising, February 8, 2014, http:/ /mwb.com/blog/interview-mitchel-resnick/ .
27 「常识科课程内的『计算思维』及教材设计理念」,教育局课程发展处幼稚园及小学组,2015年1月30日, http://www.edb.gov.hk/attachment/tc/curriculum-development/cross-kla-studies/gs-primary/teacher-edu-program/induction-for-new-gs-teachers-pri -20150130/20150130-2.pdf ,第10页。
28 "Shut down or restart? The way forward for computing in UK schools," The Royal Society, January 2012, p. 29.
29 同10,p. 5.
30 同9,pp. 10, 11 and 39
31 「政府资讯科技总监办公室『数码21』资讯科技​​策略检讨顾问服务策略报告」,国际商业机器中国香港有限公司,2013年9月,第81页。
32 同14,第32页。
33 「教协会回应『第四个资讯科技教育策略』咨询文件意见书」。取自香港教育专业人员协会网站: https://www.hkptu.org/473 ,最后更新日期2014年7月5日。
34 同26。