第四章 研究結果
第二節 文獻中所使用之教學工具
在本研究所萃取的 79 篇文獻中,不同的研究分別使用了不同的教學工具以 增進學習成效,這些教學工具可大別為:程式開發環境、合作學習工具、遊戲開 發工具、視覺化工具、教學回饋工具、機器人程式開發工具、及其他工具等七類,
圖 4-1 為文獻中所使用的教學工具分類圖。
一. 程式開發環境
程式開發環境乃是程式發展過程中所不可或缺的工具,因此在各文獻中,教 師均針對所講授之程式語言為學生選擇了適當的程式開發環境,例如讓學生使用 Eclipse 撰寫 Java 程式等等。本研究之探討範圍限於具有特殊教學功能之開發環 境,至於某些開發環境若只單純作為一般開發環境使用(例如並未強調 Eclipse 與其他 Java 開發環境相較之下對學生有何特殊的學習貢獻),則不納入本研究的 分析討論範圍。以下列舉文獻中所強調具有特殊教學功能及用途之程式開發環 境:
29 GBA and NDS Development
Tools The Arduino Microcontroller
and Integrated Development Environment
圖 4-1 教學工具分類圖
30
Jython:以 Java 寫成的 Python 程式開發環境,它提供了許多適合處理圖片及 聲音之類別庫(class libraries),可讓學生設計包含圖片及聲音的程式範例和 作業。Jython 在研究中皆用於支援「多媒體運算」的教學活動。(文獻編號 18、
23、32)
BlueJ:便於初學者使用之 Java 開發環境,和工業用的開發環境相比,BlueJ 之介面較為簡潔,且以視覺化方式顯示類別及物件,使用者無須撰寫 Java 程 式碼也可操弄類別及物件。BlueJ 在研究中作為學生課堂上使用的程式設計開 發環境。(文獻編號 19、77)
M.U.P.P.E.T.S :IBM 所開發的 Robocode 所使用的 3D 程式開發環境。教學者 先在該環境中製作坦克車的功能及模組,然後由學生分組合作設計坦克車的
「智慧」功能,並與其他小組比賽哪一組的坦克車的智能最好。M.U.P.P.E.T.S 在研究中用於支援「遊戲設計」教學活動。(文獻編號 40)。
CS1 Sandbox:介面簡潔的 C++程式開發環境,該環境能限制學生使用的語法,
使其只能使用課堂上教過的語法。隨著課程的進行,學生可下載使用更多的 語法。CS1 Sandbox 在研究中僅作為學生在課堂上使用的程式設計開發環境。
(文獻編號 25)
JPie:Java 的程式設計開發環境,使用者不須輸入指令,而是使用拖放式(drag and drop)的方式拖放程式指令編輯程式,使學生學習時避開語法錯誤。JPie 在研究中僅用於培養學生問題解決能力之教學活動。(文獻編號 26)
Greenfoot:針對初學者設計的 Java 視覺化開發環境。該環境提供一個虛擬的 微世界,使用者可在微世界中建立角色,並以程式設定角色如何與微世界或 其他角色互動,使用者並可透過微世界的介面觀察程式執行結果。Greenfoot 在研究中僅用於遊戲設計教學活動。(文獻編號 75)
VPython:支援 3D 圖像及物件的 Python 視覺化開發環境,可讓學生以其編寫 Python 程式以模擬物理或生物現象,例如模擬氣體分子的速度與溫度的關係 或蛋白質交互作用。VPython 在研究中用於支援「結合學科知識」之教學活
31
動。。(文獻編號 66)
Bricklayer:C 程式開發環境,使用者無須輸入指令,而是使用拖放(drag and drop)指令的方式編寫程式,可使學生避免語法錯誤。Bricklayer 在研究中之 用途為讓學生透過該介面設計電路。(文獻編號 73)
Myro:支援 Python 語法的機器人程式設計環境。學生使用 Myro 編寫 Python 程式,讓自己的機器人跳舞或發出聲音,並透過機器人上的感應器和攝影鏡 頭與其他機器人互動。Myro 在研究中用於支援設計機器人的教學活動。(文 獻編號 72)
MatPlotLib:支援 Python 語法的 2D 繪圖工具,能在二維座標中繪圖,例如 畫出聲音的波長。MatPlotLib 在研究中用於支援結合學科知識之教學活動。
(文獻編號 66)
二. 合作學習工具
支援合作學習之輔助工具多半用於讓學生進行課程內容相關之討論與分享。
本研究所分析之文獻中共有九篇使用了合作學習工具,分述如下:
CoWeb、Google Group:學生在課後可透過網路平台分享作品、討論課業的 線上論壇,其主要用途為支援「線上合作學習」活動。(文獻編號 18、23、
32、71)
IMinds:具備聊天室、電子白板、自動分配小組成員…等功能。研究中用於 支援合作學習的拼圖法(jigsaw model)教學活動。(文獻編號 45)
Praktomat:學生使用 Praktomat 上傳作業, Praktomat 可檢查作業正確與否,
並且自動將作業分派給不同的學生進行審查。學生可針對程式的風格、語法、
解題方式進行評論,而上傳該程式的學生即可藉由同學之評論修改程式碼。
(文獻編號 7)。
課程專屬管理系統:本類工具乃專為某一課程所自行發展之課程管理系統,
其功能大抵不出上述幾種合作學習工具之組合,在文獻中共支援三種學習活
32
動:(1) 讓學生在課後可透過網路平台進行課業討論,助教也可在此平台提供 協助(文獻編號 63);(2) 讓學生上傳程式碼,以進行同儕互評,並藉由觀看 同儕之評論而發現自己的錯誤與不足(文獻編號 61);(3) 做為小組儲存專案 程式碼之伺服器,讓小組成員可觀看或下載程式碼(文獻編號 34)。
三. 遊戲開發工具
以下三篇文獻中,在前兩篇所報導之教學研究中,教師讓學生使用商業用遊 戲開發工具來製作遊戲,至於第三篇則是讓學生練習修改遊戲程式:
GBA and NDS Development Tools :GBA 及 NDS 遊戲平台的開發工具,在文 獻中用於讓學生以之撰寫遊戲程式。(文獻編號 68)
OpenGL:2D 和 3D 繪圖程式平台,大多數作業系統和編譯程式都包含 OpenGL 的開發與執行環境。在文獻中用於支援 2D 遊戲開發之教學活動。(文獻編號 48)
Wu’s Castles:以 RPG Maker 開發的角色扮演闖關遊戲,學生藉由改變迴圈參 數、或是以各種迴圈(例如 for、while、do-while)操控角色,藉以學習迴圈 及條件判斷的概念。(文獻編號 70)
四. 視覺化工具
本研究所分析之文獻中,共有 4 篇採用了視覺化工具以輔助程式設計教學,
分述如下:
EROSI tutor:用於幫助學生學習遞迴概念的視覺化工具,它可動態顯示並記 錄遞迴程式碼的執行狀況。(文獻編號 13)
PlanAni:此工具將程式中具有特殊功能的變數以圖像呈現在螢幕上,並於逐 步執行程式碼的過程中,讓每個變數之圖像隨之變化,以幫助學生了解變數 在程式中所扮演的角色。例如將用於計算迴圈執行次數的變數 stepper,在 PlanAni 的視覺化介面中以腳印的圖像呈現,而當迴圈開始執行且 stepper 數
33
值隨之變化時,stepper 的圖像也會跟著數值的變化而移動腳步。(文獻編號 27、41)
Jeliot:視覺化之 Java 開發軟體,該工具能以動畫呈現方法呼叫的狀態、變數 內容、以及「繼承」等物件導向概念,學生可透過動畫觀察程式碼逐步執行 的情形。(文獻編號 77)
五. 教學回饋工具
本類工具為三篇文獻的研究者所採用,其目的在於提供師生間的即時意見交 流。
PRS(Personal Response System):學習者可透過此個人即時回覆系統,回答 教學者於課堂中提出的問題(選擇題),以幫助教師了解學生的學習狀況。(文 獻編號 33)
個別輔導教學軟體:助教可透過此軟體觀察每個學生編寫程式碼或虛擬碼的 過程,學生亦可透過此軟體直接向助教提問,並由助教視情況給予即時的協 助。(文獻編號 14、64)
六. 機器人程式開發工具
本研究所分析之 79 篇文獻中,有 4 篇使用機器人程式開發工具,以下列出兩 種機器人的種類及功能:
LEGO Mindstorms:機器人具備聲音、光線、碰撞等感應器,且能做出前進、
轉彎等動作,學生可使用 LEGO Mindstorms 所提供之圖形化介面或以其他語 言編寫程式,以控制機器人的動作。(文獻編號 7、38、74)
Parallax Scribbler:具備感應器、藍芽、可編程的 LED、發聲器和攝影鏡頭等 組件,可搭配 Myro 開發環境編寫程式以操控機器人。(文獻編號 72)
七. 其他工具:
34
文獻中另發現五項無法歸入上述任一類型之工具,分述於下:
TeeBoard、Pre-programmed Integrated Circuit Microcontroller、The Arduino Microcontroller and Integrated Development Environment:此三者乃是與「程式 開發環境」中所列出之 Bricklayer 搭配使用之工具,其目的在於讓學生以 Pre-programmed Integrated Circuit Microcontroller 學習基本邏輯電路概念,然 後 以 支 援 C 語 言 之 Arduino Microcontroller and Integrated Development Environment 編寫程式,以便在裝有電子電路及 LED 的衣服(TeeBoard)上 顯示各種文字。(文獻編號 73)
Junit:Junit 是為 Java 設計的開放程式碼單元測試框架,提供多種單元測試的 程式碼讓使用者使用。Junit 在研究中用於支援驅動測試程式開發之教學活動。
(文獻編號 34、65)
Moodle:課程管理系統,本研究中使用 Moodle 的文獻只用在儲存課程資料。
(文獻編號 47)
WebCat:提供軟體測試、自動評分、及自動回饋功能的工具,本研究使用 WebCat 的文獻雖搭配配對程式設計教學活動,但未強調 WebCat 對配對程式 設計的重要性。(文獻編號 56)
Media Tools:可製作包含影像、聲音、圖片等作品之軟體,例如 Photoshop、
Sonogram 等,用於支援多媒體運算的教學活動。(文獻編號 18)