第6期

應用運算思維於高中資訊教學設計之分享

icon_pdf 文章下載

賴和隆*臺北市立中正高級中學教師

賴和隆(2016)。應用運算思維於高中資訊教學設計之分享。
        教育脈動6。取自http://pulse.naer.edu.tw/Home/Content/6fe1eedf-

        10a1-4e1e-890e-dbbec8ce0647?paged=2&insId=40977899-d342-
       4f01-94a7-66d446c9d3bb

前言

        十二年國民基本教育科技領域綱要草案於104年12月已完成公聽及修訂程序,預計將於107學年度實施。此次資訊科技課程規劃的基本理念係以『運算思維』為主軸,透過電腦科學相關知能的學習,培養邏輯思考、系統化思考等運算思維,並藉由資訊科技之設計與實作,增進運算思維的應用能力、解決問題能力、團隊合作以及創新思考的能力。

        在新課綱中,國中的資訊課程將由以往的重大議題提升至科技領域的一個科目,未來,我國每位國中生都將有6學分的資訊課程學習,課綱草案規劃在國民中學教育階段,課程著重於培養學生利用運算思維與資訊科技解決問題之能力,高級中等學校教育階段則逐步進行電腦科學探索,以了解運算思維之原理而能進一步做跨學科整合應用。

        對於我國學生的資訊科技內涵學習與數位素養提升來說,這是一個進步的絕佳契機,但從另一方面來說,先不論國中師資的齊備度,光是如何進行教學以符合課綱的理念,將是未來中學資訊課程實施的重大挑戰。其中,最重要的將是如何將運算思維的精神藉由教材教法展現,讓學生藉由高品質的課堂激發對於資訊科技的學習動機,進而能在學習後具備有利用資訊科技解決問題的未來公民能力,將是教學現場的嚴峻挑戰。

        本文首先探討『運算思維』的概念,其次藉由筆者在過去幾年從事的課程開發計畫,分享運算思維運用於高中資訊課程開發與教學的相關經驗,期能發揮拋磚引玉的效果,激發更多這方面的教材開發與教學研究,此應為我國未來中學資訊教學值得好好努力的方向與目標。

壹、運算思維

一、緣起
        美國卡內基梅隆大學的電腦科學系教授 Jeannette M. Wing 在 2006 年發表的一份宣言,她認為所有的基礎語言能力都應該加入電腦運算的因素,例如我們的讀、寫和算數,分析能力中都該加入電腦運算的概念,她說:「電腦運算思考的技巧, 並非電腦科學家的專利,而是每個人都應該具備的。」1

        學電腦不是要成為電腦科學家,而是希望將計算機科學的觀念用到生活中,僅僅讓我們的下一代學會用電腦是完全不夠的;為了更好的了解和認識世界,我們需要將電腦的基礎知識教給每一個人,就如同學習基本的數學知識一樣。我們教授數學知識的目的並不在於培養更多的數學家,而是我們確信數學對於思維發展的重要性。運算思維是將基礎的資訊科學概念運用到問題解決,系統設計和對人類行為了解上的一種思維方式。隨著現今世界的蓬勃發展,運算思維必將成為人們了解和認識世界的基礎。2

        Walter Gander教授認為計算技術的進步已經擴展了我們解決問題的能力到一個我們之前未曾想過的程度,使用一些之前沒有的策略的能力。學生將需要學習、使用新的技術-運算思維-以充分利用這些技術的快速變化所帶來的革命性的變化。

二、日常生活中應用運算思維的例子 

        人們在日常生活中的很多做法其實都和運算思維不謀而合,也可以說運算思維從生活中吸收了很多有用的方法。3底下是一些例子:

表1
日常生活中應用運算思維的例子

日常生活的例子

運算思維

食譜,將一道菜的烹飪方法一步一步地羅列出来,即使不是專業廚師,照着菜譜的步驟也能做出可口的菜肴。

算法
(或程序化)

「勾芡」這個步驟,與其說是一個基本步驟,不如說是一個模組。勾芡本身代表一組操作序列:取一些澱粉類的粉末,加點水,攪拌均匀,在適當時候倒入菜中。由於這個操作序列經常使用,為了避免重複,也為了使食譜結構清晰、易讀,所以 用「勾芡」這個術語簡明地表示。這個例子同时也反映了在不同層次上進行抽象的思想。

模組化

整理書包的方式:學生隨身攜帶所有的教科書是不可能的,因此每天只能把當天要用的教科書放入書包,第二天再換入新的教科書。

緩衝

如果現在老師說請將本書翻到第 8 章,讀者會怎麼做呢?目錄可以幫助我們直接找到第 8 章所在的頁碼。 這正是計算机中廣泛使用的索引技術。

搜尋

同時預備多款宴客菜餚的方法

多工及優先性

試圖走出一個陌生的大公園

回溯

三、運算思維的特徵
        運算思維是一種獨特的解決問題的過程,反映出資訊科學的基本思考方法。經由運算思維,人們選擇合適的方式來陳述一個問題、省卻不必理解(不必要)的細節表達或處理問題 並建立模型使問題易於處理,形成具有抽象化、具體化、自動化、系統化等計算特徵的問題解決方案。

  計算思維主要包括以下特徵:4

  (1)採用抽象和分解的方法將複雜問題具體化,建立結構模型,形成具備更高效能、可執行的解決方案;

  (2) 運用計算機學科之基本概念與工具方法,判斷、分析、綜合各種資訊,強調個體與資訊系統的交互思考過程;

  (3)是一種獨特的問題解決能力組合,融合設計、演算法、批判、分析等多種思維工具,綜合運用可以形成系統化的問題解決方案。

四、運算思維的操作型定義5

        美國ISTE定義運算思維是一個問題解決的過程,包括但不限於下面的特色

  • 將問題形成為讓可以我們用電腦和其他工具去解決的方式。
  • 有邏輯地組織和分析資料。
  • 透過抽象化表達資料,例如模型或模擬。
  • 透過演算法將解決方法自動化。
  • 確認、分析、實作可行的解決方案,以達到最有效益的步驟與資源之整合為目標。
  • 一般化和轉化這個問題解決過程到各式各樣的問題。

        藉由上述操作型定義之界定,我們希望學生透過學習,具備運算思維的基本態度與傾向應有下列各項。

  • 有信心處理複雜的事
  • 願意堅持並能處理困難的問題
  • 能容忍含糊不明確的事物
  • 有能力處理開放性的問題
  • 有能力與他人溝通合作去達成目標

五、運算思維進入中小學教育的必要性
  全世界因為三項科技的進步帶動了改變:網際網路增加了連結、行動裝置讓連結無遠弗屆、越來越多的資料被收集和分享。6如果要在改變中的環境獲得成功,人們就要變得有適應性、有彈性的問題解決者,不論他們是否想像一個新的解法、發展硬體或軟體或使用科技,除了「這是什麼」到「能夠怎麼樣」都是要思考的問題。

底下例子說明了運算思維被運用的需求與可能性:

  • 過去的犯罪資料能夠幫助警方專注在可能發生犯罪的地方,讓我們有效率的使用有限資源。
  • 農業、漁業、營養、人口的資料整合到單一的資料庫中,可以有效率的管理全球食物供給問題。
  • 更小、更便宜、但是更功能強大的科技讓我們在過去不便的地方使用新科技。
  • 在沒有醫療建設的地方,行動電話搭載著不貴的鏡頭,可以變成顯微鏡去檢查諸如生病的貧血細胞。
  • 新科技讓車子們彼此之間可以溝通,減少80%的車禍機率,改善交通流量。
  • 網際網路讓各種生活的人增進知識。

        基於上述各種改變所帶來的發展,使得真實世界與虛擬世界不斷融合,數位化和電腦運算逐漸演變成現代社會的基本形態特徵。而為了幫助學生正確地理解資訊社會本質特徵,創造性地使用資訊科技,提升數位素養,成為合格的數位公民,運算思維能力培養成為資訊科技教育的新趨勢。而數位素養不僅包括外在的數位化工具應用能力,也反映著內在的利用運算解決問題的思維過程。不過,由於不同年齡段學生的認知能力不同,運算思維的能力培養方式和內容標準也應有所區別。7

貳、課程設計案例

        上述關於運算思維的學習,若從原先提出的概念來看,並非侷限於資訊科技的課程學習,然而,資訊科技此一領域的發展一日千里,其所涉及的諸多嶄新概念或技術,本身就很適合以運算思維的概念來設計課程。
        底下先介紹一個在youtube網站的教學示例影片,接著,以筆者親自參與設計開發的資訊科學內容學習之課程為例,說明如何將運算思維的概念融入教學設計。

一、oogle示例影片

        Google在「Exploring Computational Thinking (ECT) 」網頁上提供了一些簡短的教學影片,每個影片使用通俗的語言解釋一個概念,採用大量真實世界的範例和日常接觸到的電腦用語,但幾乎不用任何專業術語,目的是很清楚地讓不懂資訊科技的聽眾理解概念。8

        以一段標題為「Improving the World’s Videos with Algorithms and the Internet」的影片為例9,解釋如何以網際網路和有步驟性的處理方式來改進影片的品質,聽眾不需要懂什麼影像處理的相關演算法,也無需知道任何網路架構。即使看完影片,聽眾還是無法依據說明內容寫程式,但是應該能夠理解演算法、網路以及資料中心在實際世界中對影片的作用,以及從處理的作用中理解其想要表達的意義。10

        運算思維中最重要的概念之一,是能夠將計算「抽象化」與「具體化」的能力,例如與影像處理相關的演算法那麼多,我們不需要知道各種演算法到底是甚麼,但透過教學影片的說明知道影像壓縮演算法可以幫我省下傳輸時間,影像辨認演算法可以幫我了解影像裡面有什麼物件(此為抽象化),而這些演算法早已經有專家實作出來,更進一步地,我們也從中了解到可以透過網際網路,利用資料中心的雲端服務來使用這些演算法(此為具體化)。

        當然,如果想要進一步『透過網際網路,利用資料中心的雲端服務來使用這些演算法』,或許學生就需要學習寫程式,但是,對高中生或國中生來說,其實只要能在教學影片表達的情境下,將可行的方法,用文字敘述將處理方式表達出來就可以了,而教學上,可以透過模擬的方式,將演算法拆解重新呈現,甚至是讓學生以操作的方式進行,在不觸及程式碼的概念下,以運算思維的方式,介紹資訊科學的主題與內涵。 

二、教學案例手寫辨識系統
  99課綱頒布時,高中資訊科技學科設計了選修課程的綱要,然而高中現場卻苦於有綱無本,在一次偶然的機會,與師大教授正好聊到有一個計畫要進行,想要開發一系列與資訊科學主題探索有關的教材11,問我是否有意願參與,因直覺可以有機會充實教學內容並精進教學概念,就很爽快地答應了。

圖1 教學模式

圖2 學習手冊

        本教案以手寫數字辨識為例子,學習圖形辨識的概念與策略。在教學活動中,學生首先會了解數位影像的 基礎知識,包含像素與顏色。接著以數字為例,讓學生了解何謂「特徵」,與如何利用特徵來區分 不同的數字。透過模擬工具與實驗活動,讓學生學習圖型辨識的觀念與辨識策略,最終架構出自己的手寫數字辨識系統。

學習目標
            1、了解數位影像的基礎知識

            2、了解影像處理的基本概念

            3、知道數位影像前處理的方法

            4、認識用以分辨手寫數字的影像特徵

            5、了解什麼是決策樹,以及決策樹是如何去分辨不同特徵的數字

            6、能夠自行建構用以分辨手寫數字之決策樹(產出)

圖3 「手寫數字辨識」學習地圖

        此教案的教學設計部分,結合了課前看影帶的翻轉教學及課堂上分組競賽的方式,藉以強化學生學習的動機;而課程設計方面,則編有學生手冊,這是一種類似於實驗手冊的概念,學生透過手冊的文字引導,可以步驟性地與課前影帶及學習系統之操作搭配,進行自主性的探索學習,根據手冊中設計的問題,一邊操作學習系統,一邊回答問題,每個人控制自己的學習進度。而學習系統則是經由設計,將相關概念分解、抽象化及模組化,並透過系統中統計圖表與決策樹的方式呈現,將電腦內部運算具體化。

圖4 學習實驗單舉例

圖5 教案舉例

參、運算思維設計分析

        此一教學設計希望以運算思維融入手寫數字辨識主題探究之課程設計,底下就根據前面提到的操作型定義來逐一分析課程設計的適切度。

一、將問題形成為讓可以我們用電腦和其他工具去解決的方式
        在教學設計中,先教導「像素」、「二元化」、「灰階化」、「擴充」、「腐蝕」等影像數位化及影像處理的基本概念, 奠立基本知識。再透過大量的手寫數字經由掃描輸入,由同學觀察既有現象,並經由先前學習的影像處理基本概念形成問題。

二、有邏輯地組織和分析資料
        在觀察的過程中練習分類、嘗試藉由分析找出規律,如封閉區域位置、封閉區域個數等。

三、透過抽象化表達資料,例如模型或模擬
        其中「二元化」、「灰階化」、「擴充」、「腐蝕」等作法,實務上都有其演算法,但是,在操作時,並沒有介紹真正的演算法或撰寫程式碼,而是將其模組化。再以「狹長度」為例,其以每一個數字中高度與寬度的比例大小作為數字的特徵,這就是一種資料表達的抽象化,如此,可以針對我們所要辨識的手寫數字進行量化工作,並設定臨界值,就可以讓我們將每一個手寫數字依據臨界值進行分類,而「封閉區域位置」、「封閉區域個數」也都是抽象化表達手寫數字資料的方法。

圖6 不同狹長度,可以視為數字的特徵

圖7 數字的封閉區域位置                              圖8  手寫數字封閉區域位置

圖9 封閉區域個數不同情形

(a) 沒有封閉區域   (b)一個封閉區域  (c) 兩個封閉區域

        (一)透過演算法將解決方法自動化
        手寫辨識的依據,來自於大量手寫資料抽象化的統計值,並利用建立決策樹的方法,進行數字辨識的工作,如此的步驟與方法,透過學習系統的設計讓學生藉由操作了解其演算方式及體會大量計算透過計算機達成的效率,並理解解決方法自動化的實踐。

        (二)確認、分析、實作可行的解決方案,以達到最有效益的步驟與資源之整合為目標
        在教案設計中,除了經由系統的設計與學習手冊引導進行,最後更經由使用者親自建立決策樹已進行數字辨識,整合既有的步驟與資源,讓學生可以確認、分析、實作可行的解決方案。

圖10 分辨【1、5、6、8】的決策樹

     (三)一般化和轉化這個問題解決過程到各式各樣的問題

        在整個課程的最後,若時間允許,嘗試要學生思考26個英文字母如果要由電腦辨識,既有的方法是否夠用,是否需要建立新的模組。又同樣是辨識,人臉辨識與交通號誌辨識又將會面臨如何不同的處理方式,能否轉化手寫數字辨識的運算思維,或者要建立新的思考方式!

圖11 將手寫數字辨識問題一般化

肆、結語

        真實世界基於資訊科技的發展而不斷地以十倍速以上的速度前進,世界因為資訊科技而愈來愈平、地球村時代真實降臨,機器人、創客(Maker)、物聯網(IoT)等等的新技術、新觀念不斷湧現,人們漸漸地因為資訊科技發展而感到焦慮,深怕哪一天工作被取代,但資訊科技帶來的便利對於生活品質的提升讓人們又深深受惠 。

        其實,當電腦與網路所架構出來的新環境取代了人們原本重複性高的工作環境時,正是人們可以釋放腦力、全力面對複雜工作的時代來臨。不過,在面對複雜工作的時候,有必要在中小學階段先了解透過運算與連結所架構的資訊環境,要能夠使用運算思維來分析並解決複雜的問題,唯有培養了這樣的能力,才能有自信地面對未來的重大挑戰,也因此,國民教育中的運算思維能力培養,對一個國家或個人來說,變得迫在眉睫且刻不容緩!

        本文以先前發展過的課程教案作為舉例,希望能發揮拋磚引玉的作用,未來兩年,將是臺灣所有資訊教師要卯足力氣用心開發相關教材的關鍵時刻,也衷心企盼國教署的中央輔導團能盡速成立,讓所有正規化的機制正常化,如此,才能更方便結合全國的相關教師聚焦地把事情做好,為下一代的學習做出正確的貢獻並謀取最大的福利!


[1] Veck (2012)。每個大學生都該懂程式設計。科技報橘。Retrieved from
            http://www.businessweekly.com.tw/KBlogArticle.aspx?id=1285

[2] Walter Gander(2011)。學校的基礎課程:計算思維。Retrieved from
            http://www.math.hkbu.edu.hk/PL/12May11/

[3] 陆朝俊(2016)。程式設計思想與方法(2-2-3。取自
         https://wizardforcel.gitbooks.io/sjtu-cs902-courseware/content/11.html

[4]任友群(2016)。數字土著何以可能??——也談計算思維進入中小學信息技術
         教育的必要性和可能性。搜狐教育。取自
         http://learning.sohu.com/20160108/n433940620.shtml

[5] 邱柏翰(2013年10月31日)。觀念介紹:Computational Thinking。
          教育部高中資訊學科中心電子報90
          取自 http://icerc.tnssh.tn.edu.tw/download/epaper/epaper90/1021031.docx

[6] ISTE(2013)。Retrieved from http://www.youtube.com/watch?v=VFcUgSYyRPg

[7] 同註3

[8] Google for Education(2015a)。Exploring computational thinking
          Retrieved from
          https://www.google.com/edu/resources/programs/
          exploring-computational-thinking/
 

[9] Google for Education(2015b)。CT at Google: Improving the World's Videos with
           Algorithms and the Internet
。Retrieved from
          https://www.youtube.com/watch?v=lTjjV9xKYhk

[10] 洪士灝(2016)。資訊通識教育以及計算思維的教學法。數位時代。取自
    http://www.bnext.com.tw/column/view/id/39260

[11] 資訊科學探索網(2012)。取自 http://csexp.csie.ntnu.edu.tw/


* 賴和隆,臺北市立中正高級中學教師

電子郵件:lnylonl2@yahoo.com.tw

上一篇 串聯理想課程到經驗課程的自然科學領域教學經驗分享 下一篇 憤,啟;悱,發──翻轉國文教室
回首頁
投稿專區

熱門關鍵字

  • 徵稿
  • MOOCS
  • 教育名詞
  • 教育哲語
  • 教育數據
  • 教育法令
  • 教育訊息
投稿專區