• 沒有找到結果。

第二章 文獻探討

第二節 機器人與程式設計教學

本節先探機器人於程式設計教學的優點,接著探討機器人模擬軟體的發展與 教學實施的建議。

壹、實體機器人程式設計教學

Papert 在 1990 年代與丹麥玩具製造商樂高(LEGO)合作,設計出 LEGO Mindstorms 可程式控制機器人,一般廣為人知的有 RCX 與 NXT。機器人本質上 具有引起學生興趣的特性,因此使用機器人最明顯的好處就是可以提升學習動機

(Dagdilelis, Sartatzemi, & Kagani, 2005; Flowers & Gossett, 2002)。學習者容易沈浸 其中進行主動學習(Linder, Nestrick, Mulders, & Lavelle, 2001);並且以符合建構論 的學習觀點,透過具體操作、觀察機器人運行、修正錯誤與驗證知識的過程進行 學習(Bers, Ponte, Juelich, Viera & Schenker, 2002)。LEGO 機器人的學習環境,鼓 勵學習者做中學、動手操作(Fagin, Merkle & Eggers, 2001);在實作中發揮創意,

進而鼓勵學生主動解決問題,因此採用問題解決策略,是使用 LEGO 機器人輔助 教學的精神所在(Jacobsen & Jadud, 2005)。

Dagdilelis 等(2005)認為 LEGO 機器人具有以下的優點:(1)機器人是真實 世界的物體,能與真實世界互動,較能吸引學生;(2)機器人可以直接手動操作,

提供立即的回饋。而且機器人在執行學習者所撰寫的程式時,會帶給學習者真實 感與成就感,這是其他學習方式很難取代的(Blank, 2006)。LEGO Mindstorms 的 相關研究大都發現機器人可提升學習的興趣與動機(曾義智,2007; 劉洲,2005;

Dagdilelis et al., 2005; Flowers & Gossett, 2002),且有助於學生在腦中想像程式執行 過程(許雅慧,2006)。

但有些研究指出機器人程式設計教學的可能限制,例如:機器人程式設計教 學未提升學習成就的原因,可能是缺乏適當程式編譯環境與模擬軟體的配合,花

費太多時間在程式的傳輸與測試,較少的時間在程式的撰寫與修正,因此建議可 以利用模擬軟體來補足實體機器人的不足(曾義智,2007; 劉洲,2005; Fagin &

Merkle, 2002)。學習者如果可先在模擬軟體測試程式,正確後再傳輸到實體機器人,

如此可以避免太多時間被耗費在反覆傳輸與測試。Schumacher(2001)及 Wolfe 等人(2003)使用實體機器人作為程式設計教學工具,因實體機器人數量不足,

於是使用機器人模擬軟體作為教學工具以兼顧時間與經濟效益。Kammer、Brauner、

Leonhardt 及 Schroeder(2011)在機器人程式設計教學中,因機器人不能外借,學 生無法在家練習而學習受到限制,故發展機器人模擬軟體提供學生自行安裝,增 加學習反思的機會。

故機器人模擬軟體的發展,應有其需要性,可以彌補實體機器人的不足,有 助於學生的學習。

貳、模擬軟體輔助機器人程式設計教學

Papert 於 1980 年提出「微世界」(Microworld)的觀點,並以 LOGO 語言作為 初學者學習程式設計的工具,在此之後愈來愈多學者投入發展模擬軟體(Kelleher

& Pausch, 2005)。模擬軟體的特徵是將程式執行過程視覺化,使得初學者可以較具 體地掌握程式語意、語法、結構等(Brusilovsky et al., 1997)。模擬軟體的應用符 合建構論的特點,其微世界不僅可達到情境式學習(situated learning)的效果,還 可讓學生在特定領域知識內探究,藉由發現式學習來促進心智模型的形成(Rieber, 1992, 1996; Soloway, 1993)。有些學者將模擬軟體中的主角設計成機器人,透過撰 寫程式來控制機器人的動作,使機器人能與微世界產生互動,藉此學習程式設計 的觀念(Bergin, Stehlik, Roberts, & Pattis, 2004; Cooper, Dann, & Pausch, 2000;

Hartmann, Nievergelt, & Reichert, 2001; Pattis, 1981)。應用模擬軟體於程式設計教學 可提升學生的學習動機(Becker, 2001; Cooper, Dann, & Pausch, 2003),圖像化輸出 讓使用者容易地看出程式中細微的改變,會造成結果顯著的不同,而在視覺化環 境中,物件的概念也變得容易理解(Powers, Ecott, & Hirshfield, 2007)。

Schumacher 等人(2001)及 Wolfe 等人(2003)學者使用 LEGO 機器人作為 程式設計教學工具,因為實體機器人數量不足,於是使用美國西點軍校發展的程 式設計教學 2D 模擬軟體 Jago(Flowers & Gossett, 2002),如圖 2.1 所示。學生撰 寫完程式後,先將程式傳輸到 Jago 進行模擬,動作模擬正確之後,再將程式傳輸 到實體機器人執行,如此可兼顧時間與經濟效益,讓每位學生儘可能使用到實體 機器人。

圖 2.1 Jago 模擬軟體畫面(資料來源:Flowers & Gossett, 2002)

德國 Paderborn 大學針對 LEGO Mindstorms RCX 發展出模擬軟體 LMS(Lego Mindstorms Simulator, http://ddi.uni-paderborn.de/en/software),如圖 2.2 所示。曾義 智(2007)將 LMS 介面簡化及中文化,並比較實體機器人與模擬軟體用於學習程 式設計的成效,結果顯示使用實體機器人或模擬軟體的學生其學習成就並無顯著 差異。可能因為 LMS 模擬軟體並不是真正的 3D 效果,以致於學生對實體機器人 的興趣較高。在課堂觀察中也發現,使用模擬軟體的學生因為不需要傳輸程式到 實體機器人,而有較多的時間思考習題中的挑戰題。謝亞錚(2009)比較實體加 模擬、實體機器人、模擬軟體三組學生學習程式設計的成就,結果顯示三組並無 顯著差異,並且皆認為機器人程式設計能讓自己有成就感,也很有挑戰性。

圖 2.2 中文化 LMS 模擬軟體(資料來源:曾義智,2007)

陳玥汝(2010)認為 2D 模擬軟體未能模擬真實世界的情境,為了提升模擬 LEGO 機器人的效果,開發 LEGO NXT 機器人 3D 模擬軟體,如圖 2.3 所示。可在 3D 模擬環境中模擬出機器人在真實環境的行為,以及提供更多感應器模擬功能。

程式編輯器的操作介面與實體機器人類似,採用傳統撰寫程式碼的方式。在經過 使用者評估後,認為 3D 效果真實且操作介面方便,建議設計豐富、變化的地圖環 境,以提高學生使用模擬軟體的興趣。

圖 2.3 LEGO NXT 機器人 3D 模擬軟體(資料來源:陳玥汝,2010)

Kammer 等人(2011)開發 go4IT!-simulator 模擬軟體,屬於實體機器人的輔 助軟體,必須載入實體機器人的程式機器碼才能夠執行,如圖 2.4 所示。可利用地 圖編輯器進行模擬場景的設計,但必須受限在格子狀的模擬畫面中。因為有這些 條件限制,go4IT!-simulator 模擬軟體以輔助實體機器人,藉由模擬環境進行程式 測試為主要的用途,不能單獨使用。比較特別的是可支援網路連線使用。

圖 2.4 go4IT!-simulator 模擬軟體(資料來源:Kammer et al., 2011)

綜合上述文獻,多數研究認為應用模擬軟體於程式設計教學可提升學生的學 習動機(Becker, 2001; Cooper, Dann, & Pausch, 2003),並建議以實體機器人學習程 式設計的課程中,使用模擬軟體進行輔助,有助於節省時間與金錢(Schumacher et al., 2001; Wolfe et al., 2003)。而應用實體機器人或模擬軟體於程式設計教學在學習 成就上並無顯著差異(曾義智,2007;謝亞錚,2009),學生對 LMS 模擬軟體興 趣較低的原因可能因為其並未具有真正的 3D 效果(曾義智,2007)。陳玥汝(2010)

開發的 LEGO NXT 機器人 3D 模擬軟體,可在真實 3D 環境中模擬出機器人的行為,

惟地圖內容物可再豐富些。