哪一天編程要從小學學起


教育 | 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 curricula 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 curricula 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。