資訊科技

程式帶出學習樂趣

當程式學習遇見核心課程,會擦出什麼樣的火花? 藉由IoTtalk系統,讓學生從做中學 進行互動科學實驗,不但發揮自身創意, 更能提高學習意願。

撰文/林一平
2016-09

資訊科技

程式帶出學習樂趣

當程式學習遇見核心課程,會擦出什麼樣的火花? 藉由IoTtalk系統,讓學生從做中學 進行互動科學實驗,不但發揮自身創意, 更能提高學習意願。

撰文/林一平
2016-09


重點提要

■程式學習風潮在全球引發熱議,但中學生的核心課程太多,已無力顧及程式學習。
■可行的方案之一是把程式學習融入核心課程,本文作者借助自行開發的IoTtalk系統,來發展互動科學實驗。
■學生可以透過互動科學實驗,例如藉由晃動手機來模擬丟球的加速度、觀看球的運動軌跡動畫,直接感受理論與實際現象之間的差異,更能深入了解核心課程。
■讓高中生懂得電腦程式的邏輯,並引發學習興趣,藉此培養他們自主學習的能力,進而跨領域創新。


2014年,我接到一項新任務,負責督導科技部的科學教育計畫,包括推動高瞻計畫,以提升高中科學教育的水準,其中還有程式語言的教材。我仔細檢視這些教材,皆依循撰寫程式語言的傳統訓練方式,可看出製作者認真、嚴謹度佳。然而這些教材雖然夠深入,但可能較難淺出,高中生不易親近,也不易理解程式邏輯;另外一個問題是高中的資訊課程皆為選修,如果課程艱深,學生不見得願意選修。

高中生的資訊能力,是大學時期能否有效延續運用資訊工具進行研發的關鍵之一,中央研究院院士李德才也多次向我提及其重要性。所以,引導高中生投入電腦程式的學習,刻不容緩,而這件事一直縈繞我腦中。有一次,美國哈佛大學教授孔祥重來訪,我特地向他請教。孔祥重說:「在美國,高中生選修資訊課程也不見得普遍,因為他們必須學習的核心課程太多(例如英文、數學、物理、化學),已無暇顧及資訊課程。」

我和孔祥重深入討論,獲得結論:把程式學習融入其他核心課程,或許是可行的做法。換言之,我們以輔助教學為名,製作物理、化學及生物等實驗的電腦動畫程式。例如,當物理課教到拋物線時,可執行拋物線的動畫程式,學生經由動畫了解拋物線的運動軌跡,同時引導學生修改運動參數,學生在此過程可以學到物理理論以及電腦程式的邏輯。


如何與核心課程融合?


至於要教導哪一種電腦程式語言,我們認為教導初學者Python這種程式語言頗為恰當,優點是語法簡單、容易記住,而且程式碼的呈現方式易於閱讀,有助於快速開發應用。台灣學校教學常採用的程式語言為C、Java,以及其衍生的語言,執行這些語言的程式,必須先經過編譯的程序,效能較佳,但也較繁複。然而Python程式在撰寫完後不須編譯,可以馬上執行,立竿見影,自然親民多了。《電腦協會通訊》的調查顯示,美國頂尖大學中排名在前的資訊系所,有超過80%以Python做為首要程式教學語言;《IEEE頻譜》2016年的程式排名,Python名列第三,僅次於C及Java。


於是我決定以Python為主,把電腦程式訓練融入高中核心課程。原則確立後,我立即請科技部負責科學教育的同事研擬可行的計畫。恰巧的是,我遇到了理念相同的教授,可以協助規劃。我多年擔任旺宏科學獎的五位總召集人之一,負責資訊方面的科展競賽;因此機緣認識了物理召集人──台灣大學物理系的教授石明豐,他把Python程式融入大學一年級的普通物理課程,用於展示物理現象的三維動態模擬。他的做法和我與孔祥重討論的理念完全契合,我大喜過望,請他來協助科技部,合作規劃科學教育計畫。


同時,我在評審旺宏科學獎的資訊領域作品時,發現不少作品和物聯網(IoT)有關,主要是製作物聯網的裝置(例如自動灑水設備),再以無線通訊技術(例如藍芽或WiFi)接回網路上的伺服器。然而若讓學生花費大半工夫進行無線通訊連結的實作,便無法在應用上全力發揮創意。我和交通大學資訊工程學系「行動通訊網路」實驗室的助理研究員林勻蔚依此該念設計了一套物聯網管理系統,可以自動連接物聯網裝置,並協助使用者撰寫網路的應用程式。這個系統名為IoTtalk,意思是所有物聯網裝置(IoT device)都能對話(talk)。


學生透過IoTtalk系統的設計,很容易把其創意寫成Python程式、自動嵌入。更碰巧的是,石明豐推廣給中學生使用的物理模擬程式,也可以修改成虛擬的物聯網裝置,連接到IoTtalk系統後,提供生動的「互動科學實驗」。於是我集中精力,以IoTtalk系統發展物理、化學、數學及資訊等互動科學實驗,希望藉此提升高中生核心科目的學習能力。另一方面,藉由做中學,學生可以一邊進行Python程式訓練,一邊以科學實驗的實際例子,深入淺出了解電腦程式的邏輯。


IoTtalk系統可以和其他教學計畫整合,幫助學生學習Python程式語言,也易於發展實際的應用。交通大學資訊工程系教授范倫達與學生鍾興璇、鄭翔禹、饒瑞謙以IoTtalk系統發展自動植物照護系統,可以快速連結溫濕度等感測器,控制植物生長環境,已進行商業化的技術移轉。IoTtalk系統也適合發展互動藝術,例如中華大學工業產品設計學系教授黃致傑的藝術原創蒲公英,受人類的兩種行為驅動:花會隨著你的心跳顫動、隨著你的微笑而綻放;其感測器應用實作是由交通大學博士生蕭中芬進行。為了加速推廣IoTtalk系統,我也邀請台中教育大學資訊工程學系教授王讚彬、靜宜大學資訊管理學系教授王孝熙以及宜蘭大學資訊工程學系教授陳懷恩共襄盛舉,把電腦動畫轉化為虛擬物聯網裝置的工作。