臺大新聞E論壇

程式學習納入義務教育 台灣107課綱起跑

程式學習納入義務教育 台灣107課綱起跑

記者 邱方廷 報導  2017/12/31

報導/邱方廷

數位時代來臨,從2014年9月開始,英國成了G8國家中第一個將程式課程納入義務教育的國家,這一年也因此訂為「程式之年」(Year of Code),英國政府與微軟、Google等企業合作,積極培訓相關師資。從政府網站 GOV.UK 來檢視大綱,學童最小從5歲開始就能接觸演算法、debug的相關概念。

跟上英國的腳步,美國在前總統歐巴馬主政時,在2016年年初也提出了「所有人都學電腦科學」(Computer Science for All Initiative)提案,鼓勵不分年齡層的民眾都能接觸程式學習。在計劃裡頭,包括了向州撥款40億美元,直接為各區域提供1億美元,以增加實用的K-12程式教學。

台灣也跟上全球的程式學習熱潮,將此納入義務教育課綱中。圖/橘子蘋果兒童程式學苑提供

跟著全球的程市熱,臺灣在107課綱修訂中,也增加了資訊科技課程。其中分成6大面向學習內容:「演算法」、「程式設計」、「系統平台」、「資料表示、處理及分析」、「資訊科技應用」、「資訊科技與人類社會」,成了國中生六學分、高中生兩學分的必修課。

在臺灣,「資訊教育」本就是九年一貫中的課程目標,但這是政府第一次將「程式」學習那納入課程當中。「程式是種涵養」橘子蘋果兒童程式學苑執行長束凱文表示,這樣的設計不是要讓每個小孩都成為工程師,就像國高中還有音樂課,重在培養孩子的相關素養,能具備基本的應用能力。

學習程式啟發自學與創造力

學童進行程式學習,自會對應到學習目標。臺灣大學電機系教授、PaGamO創辦人葉丙成表示,有兩項能力的建立特別重要。第一個是「創造」的能力,孩子透過程式設計開發出各式各樣的軟體,是相對來說成本最低的方式,只要有台電腦就能不斷地進行創造,把一個東西從無到有建立起來。

葉丙成說,第二個指的是是「自學」的能力,網路上有許多課程,是學習程式的重要寶藏。尤其,學習程式最快的方法不是靠老師在台上一直講,而是自己去網路上搜索資料。葉丙成認為老師該跳脫傳統的教學方式,引導孩子學習如何利用現成的資源。所以,學者程式不應只把目光放在職業選擇上。

葉丙成同時也觀察到,臺灣目前的教育走向仍靠老師發揮,缺少培養孩子學習的自主性。程式學習恰好適合從孩子對遊戲的好奇心開始,教會他們如何自學。

束凱文則認為學習程式設計的最大重點,在於邏輯思考的能力。「寫程式就是用電腦能夠理解的語言,告訴電腦該怎麼解決問題。」束凱文表示,程式語言溝通的對象是電腦,打錯指令就無法運作,所以邏輯性要很強,才能掌握精確的結構。

束凱文也舉了自身的例子,他曾是無法適應傳統教育體制的孩子。在因緣際會之下,進入了資訊教育產業,更明白過去的背誦式、單向式教學,都無法培養程式學習的能力。

程式教育著重在問題導向,要訓練學生從理解問題開始,去思考如何讓電腦成為自己的工具,以最適當的方式來解決問題。因為在程式學習中,程序錯誤(bugs)會不斷發生,但沒有標準答案,每個問題都可能有各種解法,學生可以挑戰用不同的角度切入,從嘗試錯誤中來達到自己的目標。

束凱文認為,未來程式教育仍有許多發展可能性。攝/邱方廷

葉丙成則認為,程式學習還能夠從小培養孩子的「運算性思維」,讓他們練習把大問題拆解成一系列的小問題去做,這種把細項用程式完成,最後組合成系統的過程,能夠讓還孩子更有解決問題的信心,不會畏懼困難的龐大問題。

美國科學家 Jeannette M. Wing曾經寫了一篇文章〈電腦思惟與關於電腦的思考〉(Computational thinking and thinking about computing),描述了四個運算性思維的階段,依序為拆解問題為數個部分、找出規律和做出模式來測試、歸納原則與抽象化,最後則是設計演算法,讓類似問題能夠被重複解決。

葉丙成強調,讓中小學生學程式不只是為了好找工作,而是如同擁有協助解決問題的工具。將來也可以跟其他領域結合,幫助他們從寫簡單的程式開始,來搜集資料、分析結果,跨界整合來擺脫框架下的思考模式。

程式學習與升學主義的兩難

2013年,由前Google高層Max Ventilla創辦的私立學校AltSchool,獲得來自矽谷的投資1.33億美元,AltSchool強調客製化的教育,沒有制式化的課表,要依照學生的需求與學習狀況,訂定個人課綱。這樣的方式為學齡的孩子創造了可親的環境,並利用他們的好奇心,在生活中巧妙地置入了程式教育。

Google也在去(2016)年6月發表了Project Bloks開放的硬體平台。該平台利用積木的方式,讓兒童從實體玩具來體驗程式設計的應用。Google認為,兒童此時的學習傾向是遊戲與同伴,他們可以與玩伴一起動手製造,彼此在玩樂之間學習到運算概念。

束凱文提到,這是因孩子的「生活經驗」以及「穩定度」不足,在小學四年級以前,較難理解抽象的程式設計。所以可以先從桌遊、平板或實體活動,來教導孩子概念。他也推薦ScratchJR這款遊戲來讓孩子感受設計流程,等到成長到一定的年齡以後,再開始學習如JavaScript、Python等正式的程式語言。

因應程式潮流,從106學年度開始,有14所校系將「大學程式設計先修檢測」(APCS)成績或「國際運算思維能力測驗」(Bebras)成績列入個人申請第二階段審查項目中。為了讓孩子有更多入學優勢,近兩年 APCS 的報名人數屢創新高。

但束凱文卻不樂見建立在升學主義的這股熱潮。他認為,孩子如果帶著過於功利的目的來學習,往往會傾向能用「聰明」的方法迅速解開題目,而這卻與程式的根本性思維背道而馳。程式語言的建立仰賴大量的耐心,他認為不能靠現在準備大考時興的快速解題法,而是應該要像練樂器一樣「靠自己實作,長期練習來累積。」

重視程式教育的公平普及

107課綱即將上路,但束凱文坦言在城鄉差距的問題上,硬體不是最主要因素,而在於師資的落差。因台灣不同區域之間相關師資的人數與能力,目前有很大缺口。根據教育部師資藝教司統計,符合目前國中及高中資訊科技教授資格的老師共計1436人。但這樣的教師人數是否充足、師生比是否恰當、教學品質是否符合理想,卻無法單看帳面數字得知。

束凱文表示現在因薪資的落差,資工科系的畢業生往往不會願意到教育界工作,使得他擔憂程式教育的師資會有斷層。而在現有體系內的教師,需要常更新教材內容,與時代同步不能脫節,教育部則表示將會針對現有老師來培訓,藉增能學分班的方式,讓老師熟悉新課綱的課程。

師資成了目前政府最需克服的問題。攝/邱方廷

葉丙成則建議除了既有教師的培訓以外, 可以藉由與大學、企業的資源連結,來幫助老師提升自身能力,他舉了成大資工系教授蘇文鈺的例子。葉丙成說,蘇教授積極推動「Program the World兒童與少年程式設計教學計劃」,與研究生、大學生、志工工程師,一起到嘉義東石舉辦暑期程式營隊,並每月兩次固定到當地教學,希望孩子能夠學會基礎的程式語言。

但由於舉辦時間短、成員也來來去去,無法更進一步在當地紮根,而程式學習又需要大量的時間和心力配合,造成了孩子的學習在深入上的困難。另外臺南、嘉義、台東等地也相繼提出教學邀約。此時的蘇文鈺分身乏術,實無法擴大偏鄉程式教育的可能性。

蘇文鈺觀察到這樣的現象後,決定與趨勢科技合作,與企業志工來共同舉辦寒暑假營隊。另外他也與學校老師一起規劃教案,成為老師的輔助角色,將適合的程式設計內容融入到教學裡,讓當地的老師能在課堂中更順利教導孩子。

「臺灣的孩子,必須要有選擇。」束凱文表示。他認為程式教育是為孩子的生命開了一扇不同的窗,每個學生都應該有公平的機會,參與這項改變世界的技術。因為「有得學卻選擇不學」和「想學卻學不了」有相當差異;「前者是幸福,後者是無奈。」束凱文說。

記者 e論壇
記者 e論壇