湮灭中的电脑编程课:英国拨乱反正 香港倒退十数年

撰文: 廖诗飏
出版:更新:

2012年在下正于爱尔兰IBM研究中心任职,某次重访英国之母校,遇上一个时事讨论,饶富趣味。时任英国大学与科学国务大臣韦力生(David Linsay Willetts)宣布,将于中学的资讯科技课程引入电脑程式编写(Programming,或称Coding)。他声言要将当时的课程从学习电脑,转型为学习软件开发与计算原理,相信中学生亦能创造出自己的电脑软件。韦力生此言一出,大学里便议论纷纷。有位教授百思难解,在学院的公开电邮问道:究竟编写程式的课程,是何时在英国中学会考(O-Level/GCSE)消失?他忆述,1980年他修读英国中学会考的“电脑学”(Computer Studies)课程,是需要学习编写各种程式,当中甚至包括艰深的低阶语言(Low-Level Language)。为何后来编程课会消失无踪呢?摄影:钟伟德、吴钟坤

电脑编程教育的中小学普及化乃当前的世界潮流,惟香港编程教育之普及程度却不断倒退。

经此一问,各教授与研究人员便纷纷写下自己中学生涯修读电脑之经历。有人在1996年修读GCSE“资讯科技”(Information Technology)课程,但内容主要是关于Microsoft Office,仅有近似编程的内容只是编写一些巨集(Macro)。有人在2001年修读高级程度会考(A-Level)的“资讯科技”课程,也是毫无编程内容。也有人在2005年修读会考“资讯及通讯科技”(Information and Communications Technology,简称ICT)课程,仍觉应戏称其为“GCSE Microsoft Office”,因为该课程只教导学生使用文书软件,正规的编程教育根本无影无踪。

中学编程教育在英国消失之谜

电脑编程是现时社会上流行之STEM(Science、Technology、Engineering、Mathematics,即科学、技术、工程、数学)教育的重要一环,也是现时求才若渴的全球科技市场最重视之技能。根据美国传媒报道,在2013年一个要求编程技能的职位,平均需56日才能请到人,其他工种平均仅需33日而已,而前者的空缺增长率更是后者之两倍。据美国政府及欧盟委员会的预测,到了2020年,美国将会有100万个电脑科技相关职位请不到人,而欧洲将会有80万个,当中最需要的就是编程技能。在大学教育方面,编程不单是电脑系学生必习之技,不少主流大学都要求数学、物理、工程、统计、精算等科目的学生学习编程。因为这门知识不仅有助训练学生的逻辑思维与解难能力,更能协助各学科运用电脑建立数学模型,以进行模拟和复杂的运算。如此重要的一门教育,理应受到各国重视。但现实中,编程教育在一些国家有颇崎岖之发展史,英国就是一个典型例子。

英国中学的电脑教育,可谓源远流长。根据记录,在1966年已经有英国中学开办电脑课程。其时连开办相关课程的大学也甚稀,甚至个人电脑之祖苹果电脑和IBM PC都尚未面世。在1970年,英国电脑学会(British Computer Society)曾发表一份《全人电脑教育》(Computer Education for All)报告,主张全面在英国中学开办电脑课程。后于1972至1975年,英国中学会考(当时的CSE与GCE O-Level)便正式将前述之“电脑学”纳入公开试课程。

自从1970年代中期个人电脑兴起之后,电脑编程也曾在英国掀起一股热潮。英国广播公司(BBC)曾经在1980年代实行一个认识电脑之计划,为小童制作多个教授编程的电视节目,当中以1982年BBC第2台播出的《电脑程式》(The Computer Programme)最为有名。BBC其后与艾康电脑公司(Acorn Computers)合作,制造了BBC Micro电脑,并售予英国家庭与学校让儿童学习编程。虽然BBC Micro价格高昂,却广受大众欢迎,最后总销量超过150万台。

然而在1980年代末期,英国教育界却风起云涌。原本只有私校与文法中学学生参加的英国会考(O-Level)在1988年改制为(GCSE)。改革之目的是让所有适龄学童都能参与公开试,而且亦在学术科目以外,增加了大量职业培训科目。在此政策下,英国会考后来增办了“资讯科技”课程,旨在让学童认识和使用电脑,而非像“电脑学”课程般学习电脑运算和编程的理论。

由于GCSE旨在配合全人教育,而非只面向精英学生,试卷自比O-Level浅易,难度每况愈下,一直为人诟病。新的“资讯科技”课程不含编程,难度较“电脑学”为低,却因此大受英国学子欢迎,学校亦纷纷开办。虽然“电脑学”并未取消,但两者双轨并行下,它便日益不受欢迎。多年下来,“电脑学”终被取代,“资讯科技”亦在2000年改革为同样不含编程的“资讯及通讯科技”。是故有整整一代之英国学子,未能在中学阶段学习编程(Logo语言例外)。大多数修读电脑、工程、数学、物理、统计的英国大学生,都是在大学一年级才首次接触程式语言。

全球科技市场求才若渴,电脑编程更是其最重视之技能。(参考图片)

香港电脑教育与英国一脉相承

由于宗主国与殖民地的教育系统同气连枝,香港电脑教育之历史与英国有不少相似之处,编程教育的高低起跌也一脉相承。

香港会考“电脑学”(Computer Studies)课程于1980年代初开办,首届会考于1984年举行,课程内容包括了完整的编程理论,学生须学习BASIC以及后来的PASCAL程式语言。“电脑学”后于2005年被新课程取代,多年来为香港培养了不少懂得编程的学生。在其结束前几年,每届考生皆超过1.2万人。以当时全港会考生人数约12万人计算,即有约10%香港中学毕业生曾经学习编程。较之英美,这是一个颇高的比例。

香港在2000年之后仿效英国开办会考“资讯科技”(Information Technology)课程,以教授学生认识电脑及其应用为主,不需如“电脑学”般学习艰深的计算理论与编程。不过此科仅昙花一现,在2005年“电脑学”与“资讯科技”合并为“电脑与资讯科技”(Computer and Information Technology,简称CIT)课程,为其后的教改和文凭试铺路。

新的“电脑与资讯科技”与旧课程的最大分别,是学生除了必修的核心单元外,可在四个选修单元中任择其一。虽然核心单元内也有教授基本的编程概念,但大部分的原“电脑学”编程内容被置于“演算法与编程”(Algorithm and Programming)的选修单元之内。如是者,虽然合并后的“电脑与资讯科技”修读人数较旧课程有所增长,逾1.8万人,但选修编程单元的学生却暴跌至约4,000人。换言之,能够学习完整编程课程的学生比以前大减三分之二。

“电脑与资讯科技”也只是一个过渡课程,真正之重头戏,乃三三四香港教育改革及与之配合的文凭试。在教改之下,“电脑与资讯科技”课程内容被大幅更改,亦更名为“资讯及通讯科技”(Information and Communication Technology,简称ICT)。不过四个选修单元的框架基本不变,大部分编程内容仍被置于其中一个选修单元之内。

教改之后,香港文凭试“资讯及通讯科技”的考生数目逐年下降。至2016年仅约6,000人修读,而选修编程单元的学生更跌至约1,200人。虽然考生人数下降与整体人口结构有关,但以2016年文凭试考生总数约5.7万人来计算,今日仅有2%中学毕业生曾习编程。

如此局面,与全球科技业发展蓬勃、各国皆锐意加强STEM教育之风气实是背道而驰。从此角度观之,我们甚至可以说香港的编程教育之普及程度,倒退了整整十几年!作为前殖民地,香港电脑教育的发展一直颇有英国影子;这种倒退,亦可谓与英国之倒退同病相怜。

香港“资讯及通讯科技”文凭试的编程部分并非必修,不少考生也因其较艰深而没选修。(资料图片)

在下于去年6月,曾出席香港政策研究所举行的晚宴,席间与创科局长杨伟雄谈论起上述的编程教育问题。杨局长于上任以来,经常将“加强STEM教育”挂在口边,说要为香港培养未来之科技人才。小弟愚见,觉得编程教育是STEM的教育重要之一环,但在香港竟然倒退十几年,实在惨不忍睹。我略述以上故事,冀望杨局长能和教育局长吴克俭商讨,看能否在香港的中学甚至小学课程加强编程教育。杨局长闻之貌似面有难色,他谓与其在教育局课程以内做,不如在课程以外做。言下之意似乎香港的教育体制难以撼动,而所谓课程以外,乃意指由政府资讯科技总监办公室(OGCIO)牵头推行的“资讯科技增润计划”(Enriched IT Programme)。该计划由政府拨备7,500万元,从2015/2016至2022/2023学年,在8间伙伴学校开办资讯科技增润班,为中二至中六学生提供深入的资讯科技培训。

但愚见以为,这个计划只涉及几间中学,规模明显不足,实无法面对未来科技发展的大趋势。今日全球不少先进国家早视编程教育为基础教育之一。美国总统奥巴马早在2013年就已经指出要令所有学童都有机会学习编程。他在2016年1月任内最后一份国情咨文(State of the Union address),就明确提到要加强编程教育。同月他宣布一个名为“全人电脑科学”(Computer Science for All)的倡议计划,斥资40亿美元去加强全国K-12学校(指从幼稚园至中学)的电脑科技教育,培训师资以及开发教材。

而在大西洋的彼岸,欧洲至今已有12个国家把编程教育纳入高中课程,当中更有9个(爱沙尼亚、法国、西班牙、斯洛伐克、英国、比利时、芬兰、波兰、葡萄牙)将之纳入小学课程。这些欧洲国家认为,编程教育并非为电脑奇才或者从事科技业者而设。

将编程纳入小学课程,目的旨在发展幼童的逻辑思维与解难技能,这对所有学童都有所裨益。

自从前述2012年韦力生之宣布以来,英国中小学的电脑教育便发生翻天覆地之变化,新电脑课程陆续出台。英国的教育系统一般将学童同比龄群组分为4个学习阶段(Key Stage),新课程于各阶段均重视编程学习。在第一个阶段(即5至6岁的学童),就已经要学习基本算法,利用简单工具创造程式,和为程式除错。在第四个阶段(即14至16岁的学童),英国考试局(Assessment and Qualifications Alliance,简称AQA)于2016年推出新的GCSE会考“电脑科学”(Computer Science)课程,如历史上的“电脑学”一样,要求学生学习正规的程式语言。英国教育部在2015年更进一步,宣布一刀切以“电脑科学”全面取代原有的“资讯及通讯科技”课程,使这个主宰英国高中资讯科技教育十数载之课程终于寿终正寝。

当然这种大刀阔斧的课程改革,在英国教育界也引起不同声音。有英国University of Roehampton的学者认为,“电脑科学”比原本的“资讯及通讯科技”艰深;旧课程更接近大众平均程度,但新课程会令女性、贫穷和数学能力弱等群组的学生较难追上。英国“资讯及通讯科技”科目组织Naace的行政总裁Mark Chambers亦认为有需要保留“资讯及通讯科技”课程,让不想学艰深计算理论的学生也有机会学习使用电脑。

虽然这些忧虑不无道理,但当时的甘民乐政府或认为如保留“资讯及通讯科技”,让学校和学生从两个课程二择其一,多数学生都会修读较浅易的“资讯及通讯科技”。如此便会令“电脑科学”重蹈当年“电脑学”逐渐湮灭的覆辙,而达不到普及编程教育之目的。最终英国政府也决心一刀切大力改革。

推动STEM教育有赖新特首

在小弟与杨局长的一席话后,事隔半载,于去岁12月5日教育局公布了一份《推动STEM教育——发挥创意潜能》报告。当中提及了各项更新课程的建议措施,包括在小学引入编程、加强初中的编程教育,和在文凭试之核心单元加入算法测试(Algorithm Testing)之课题。这些建议与愚见不谋而合,其推动之方向令人欣慰,但建议似以小修补为主,更新后文凭试必修部分之编程内容与20年前的会考“电脑学”相比依然相去甚远。

其实严格来说,香港与英国的情况稍有不同,高中的正规编程课从未消失,只是沦为少数学生的游戏。执掌教育诸君可能认为现时之习编程率已经足够,反正学生升上大学也能学到。但当前的世界潮流却是将编程教育在中小学普及化,国际组织code.org甚至提倡“Everyone Can Code”,建议全民学习。如前述欧洲国家之主张,普及编程并非为职业培训,而是训练学童之思考方式。香港究竟应否朝这个方向迈进,实是值得执掌教育的诸君深思。

教育不离政治,香港政府换届在即,新政府的科技教育政策亦值得关注。特首梁振英毅然决定回家凑女不连任,为己为民,甚有佛心。杨吴两局长能否续任,也言之尚早。但人去不应政息,无论梁朝路线能否延续,大力推动STEM教育乃是世界大势,其方向都不应改变。相信叶刘淑仪、林郑月娥、曾俊华、胡国兴几位有意问鼎大位者,无需上帝感召,也皆会支持。如能体现在政纲之中,更为可喜。

(本文纯属作者意见,不代表香港01立场。)