湮滅中的電腦編程課:英國撥亂反正 香港倒退十數年

撰文:廖詩颺
出版:更新:

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立場。)