2015年9月4日 星期五

洪士灝:改革台灣程式設計教育。不會從理論連到實務嗎?該學計算思維來活用知識了!



彭博商業周刊 / 中文版


【編程特刊】洪士灝:改革台灣程式設計教育

「這個國家每個人都該學程式設計,因為程式設計教你如何思考,」1995年蘋果創辦人喬布斯(Steve Jobs)就已主張程式設計的重要性;20年後的今日,程式設計已是一門全球不可忽視的學問。
隨著科技軟件業蓬勃發展,程式設計被許多國家視為產業轉型的寄託,也帶動相關教育的需求。根據美國最大僱員薪酬數據庫PayScale綜合評比發現,全美學校所有科系20 年平均報酬最高的10大系所,9個正是資工系。2014年,美國總統歐巴馬(Barack Obama)不僅親自下海學程式語言,更宣佈將程式設計列入國中課程;而早在美國之前,2012年,波羅的海的科技重鎮愛沙尼亞即將程式語言列入小學課程。
在亞洲,這股浪潮同樣洶湧。新加坡資訊及通信發展部(IDA)去年開始計劃在小學到中學期間,推廣程式設計課程,希望藉此提升新加坡的國際競爭力,維持以產業頂端為主的經濟。該部門首席資訊辦公室的助理總監James Kang先前接受媒體採訪時表示,「資訊通信產業將無處不在,這對新加坡的競爭力發展會是一個戰略性的處方。」
由於軟件人才供不應求,企業也開始自己培育。2014年,南韓三星集團成立三星融合軟件學院,招聘人文學科畢業生,希望培養懂得軟件的人文學科專業工程師,提升產品設計與使用者經驗。
台灣一直是科技製造業的重鎮,自不願在這波熱潮中缺席,但一向以硬件製造為優勢的台灣,在程式設計這方面的著力仍是需要加把勁。「主政者無所作為,另一方面,也要回歸思考程式設計教育的本質,而不只是形式的追求,」台灣大學資訊工程學系副教授洪士灝感嘆。
洪士灝(見圖)取得密芝根大學安娜堡分校(University of Michigan, Ann Arbor)電腦科學與工程博士學位後,曾在美國昇陽電腦(Sun Microsystems)擔任研發工程師,2004年返台投身學界,多年參與資訊教育的推廣,例如「12年國民基本教育科技領域課程綱要之前導計劃研究」、「12年國教資訊科技課程綱要建議草案」等專案。他如何看台灣程式設計教育以及程式設計工程師的養成問題,以下為專訪重點內容:


近來各國都在強調程式設計教育的重要性,你並非資訊教育專業背景出身,卻積極倡導,為什麼?
台灣長久忽視中小學的程式設計教育,即便大學有設資訊教育學系或研究所,但是畢業的學生缺乏用武之地。我們希望,資訊教育進入到12年國教,目的是及早訓練小孩的思路邏輯以及動手將所學知識靈活應用於實際世界的能力。試問,今天有哪一門科目能夠做到?數學,往往流於機械式地背誦公式和解題方法,沒什麼機會讓學生培養創造力;自然科學,也是多以理解知識為主,缺乏應用導向的思維訓練,而且受限於數學能力,12年國教所學到的自然科學,根本無法做什麼開創性的應用,連設計電路的能力都沒有。
我在國外業界待過,回國後在台大這些年深深覺得台灣的人才缺乏國際業界的競爭力,包括資工系畢業不會寫程式、沒有工程概念和自我學習的習慣、缺乏與人協調和團隊合作的能力。因此,推動中小學科技資訊教育或許能夠幫忙解決。

2014 年,教育部發佈的台灣12年國教課程綱要總綱,科技領域方面以「運算思維」(computational thinking)為主軸,逐年各個階段也加入不同的建議課程,這對年輕一代程式設計的培養影響如何?
對於政府的作法,我樂觀其成。只是如何讓中小學的資訊科技課程不被考試科目邊緣化?如何不讓這些課程因為缺乏師資和教材而砸掉口碑?如何讓社會清楚知道資訊科技課程不是僅僅為了培育資訊科技界所需的人才,而是它有可能在未來的世界中,扮演著比考試的科目更為重要的角色?這些問題絕對不是三言兩語可以講清楚,也不是花一點點的資源就能做好。
台灣官方中小學的資訊科技課程還在起步階段,至於真正的實施,還要等到2018年。但民間早已自發性地開始推動程式教育,除了有私人教育機構教授Scratch這類適合中小學生程式入門的教材,各地也逐漸興起程式設計以及自造者(maker)的社團,都有助於提倡程式設計教育的風氣。――王思涵
全文內容請見《彭博商業周刊/中文版》App
For iOS→https://itun.es/i66x6Xr
For Android→http://goo.gl/xWzSBn

可在 APP STORE 取得


洪士灝
標題一:不會從理論連到實務嗎?該學計算思維來活用知識了!
標題二:從理論到實務,兼談計算思維的重要性
2015.08.28
昨天應梁國淦教授的邀請,去中研院應用科學中心演講,題目是Accelerating Big Data Applications from System Perspectives,跟從事科學研究的朋友們聊聊異質計算的應用。
首先,我一點都不意外,不少從事科學研究的朋友,早就在用GPU做科學計算,因為我當年在超級電腦上做研究,跟這個族群很熟,因為他們是最會嫌電腦不夠快的使用者。
會後閒聊時,我很籠統地問:「大家中學時讀的那些科學理論,有多少是實際上有用的?有多少科學的問題是可以用公式推導出來的?」
顯然,之所以會來做「應用科學」,應該就不是只做基礎研究和理論研究,之所以會來用GPU來做研究,應該就是希望借助計算模型,來探索實際的科學應用問題。所以大家笑笑的說,小時候學的理論,要連到應用,距離還頗大的。
小時候常見的考題:「如果只考慮地心引力,請問一公斤的棉花和一公斤的鐵從同一高度落下,何者先落地?」標準答案是「同時落地」,因為把問題簡化到只有地心引力的存在。但真實世界要考慮的因素遠遠不只這個,要考慮多的因素時,根本不可能有公式解,也不可能每個參數都去做實驗,只好想辦法建立精準的計算模型去預測物理行為。
在國外,計算方法早已與理論方法、實驗方法並列,成為科學性解決問題的重要方法,但是在國內,大部分教的還是理論和實驗,而根據這些朋友,以物理系為例,課程內容大致上還停留在二、三十年前的思維。當然,基礎理論和實驗的訓練,還是有其意義,我只是想強調,如何把這些訓練延伸,用以解決實務問題。
我在讀博士班的時候,研究過好幾個科學工程計算的應用,包括需要用到應用力學和材料科學的「汽車碰撞模擬」、需要用到電磁學的「陣列天線模擬」,現在的研究計畫需要微觀的物理模型來模擬光子和質子打進人體之後的行為。
我想對我來說,小時候的科學訓練是有幫助的,但如果沒有電腦和計算方法,這些簡化過的科學知識,只不過是知識,沒有什麼價值。因為在現實世界上,能夠用公式解答的問題實在太少。
有趣的是,就在寫這篇心得時,收到台大物理系高英哲教授的來信,計算科學是他們量子與科學工程中心(CQSE)很重要的一部分,希望我去給演講,談談我的研究。
我當然說好,我也樂見台大、中研院多多借重計算科學來從事科學研究。不光是物理系,其實很多學門都可以採用計算方法來做出重要的研究成果,但這個需要計算思維(computational thinking),大家慢慢會體會到,我們提倡中小學生應該要學學程式寫作(coding),不是為了要繁榮資訊系和資訊產業的私心,而是希望培養各行各業所需要的人才。
使用電腦發揮出特定專業領域的價值,是各個產業要進步的重要途徑,但這並不簡單,需要有能夠從理論連結到實務的人才。需要從小培養計算思維,再從大學進行跨領域的研究,才能培養這樣的人才。
喔,還有一件事(one more thing),除了計算、理論、實驗三種方法之外,「數據分析」(data analytics)也已經成為新興的第四類科學研究方法。借助強大的運算能力和機器學習,能夠做到以上三者無法達到的成就,要進行巨量的數據分析,當然就更需要計算思維了。
然而,我們要訓練學生的,當然不只是計算思維。何況,如果只是把程式設計課程加進中小學,但學生從小到大仍舊要面臨一連串的考試,那麼恐怕有了計算思維,也只能像機器人一般做些符合邏輯的工作,還是欠缺未來社會需要的活用知識的能力。
不會活用知識的事情在我們實驗室裡,每天都在發生,所以我知道會寫程式還不夠。我想不會活用的主要原因有兩個,遠因是「小時候死背解答應付考試」的後遺症,近因則是「長大後缺乏活用知識的經驗」。
先談談遠因吧。我的記憶不好,所以無法善用「死背解答應付考試」這招,但小時候怕考不好挨打,只好加強推理能力。我很羨慕那些記憶力超強的朋友,例如昨天在中研院遇到大學社團的社友,竟然還記得20多年前我們某位共同朋友的歷任女友的名字!
但雖說死背解答有助於範圍明確、考古題眾多的考試,我發現慣於如此做的學生,不但在創意和創新上較弱,更是無法融會貫通一個大領域。只要遇到新的問題,或是複雜的問題,就立馬要找人幫忙,或是萌生挫折感。
所以,我覺得我們的中小學教育過於死板,拼命塞東西給學生,樣樣都可能考,那他們很多人為了考好成績,從小就什麼都得要用背的。就算覺得很多知識都很重要,學了以後會有用,但實際上長大後真的會記得這些知識嗎?到時候會活用嗎?如果不會的話,這就是錯誤的教育思維。
我個人不喜歡以前念書時候的數學競試和現在的資訊奧林匹亞競賽這種東西,因為想贏得競賽的話,基本上得做一大堆練習、記憶一大堆考古題的解答。沒錯,這些知識很可能可以幫你在就業的面試上獲得高分,也可以證明你是個人才,但是對於一般人來說,這樣的學習方式很可能削弱了創新和活用知識的可能性。
多年前我就思索這個問題,幾年前在看到Sir Ken Robinson的「學校教育扼殺創意嗎?」(https://www.youtube.com/watch?v=gVGKAIS7Q4g)的演講後,更是開始對這個問題坐更進一步的思索(http://hungsh-ntucsie.blogspot.tw/2011/…/blog-post_6510.html),不過我看到台灣大多數朋友還是無法抗拒大環境的主流思潮,即便知道獨立思考很重要,但是一遇到自己的小孩要考高中、考大學、考研究所,就還是得回歸到如何考高分上好學校的傳統思維。
這幾天我跟幾位朋友說,今年對於台灣的產業來說是分水嶺,你們會看到舊的經營模式的沒落,以及累積研發經驗和追求創新的企圖心的崛起。我想,可能要等到這樣的氛圍成氣候時,才會讓更多人勇於擺脫主流思潮的束縛。
關於我所謂的近因「長大後缺乏活用知識的經驗」,想知道我的想法的,可以去看我今天早上寫的「怎麼這麼簡單的道理都不會活用?」(https://www.facebook.com/shihhaohung/posts/995420787167076
因為重要,不妨再說一次:計算思維是促進「兼通理論實務」和「活用知識」的利器,產官學界應多加培養和重用這類的人才來創新和轉型。

沒有留言: