• 沒有找到結果。

機器人輔助程式設計學習之學習成效與學生心智模型探討

N/A
N/A
Protected

Academic year: 2021

Share "機器人輔助程式設計學習之學習成效與學生心智模型探討"

Copied!
107
0
0

加載中.... (立即查看全文)

全文

(1)國立臺灣師範大學 資訊教育研究所碩士論文. 指導教授:吳正己 博士. 機器人輔助程式設計教學之學習成效 與學生心智模型探討. 研究生:謝亞錚 中華民國九十八年二月.

(2) 摘. 要. 機器人輔助程式設計教學之學習成效與學生心智模型探討 謝亞錚 本研究目的在探討使用機器人學習程式設計之成效及其可能形成之心智模 型。研究採準實驗設計,參與者為台北某高中的四班高一學生共144人,依使用 工具之不同將學生分為實體機器人、模擬軟體、實體加模擬、及傳統等四組。 實驗分二階段進行,第一階段目的在探討三種不同機器人輔程式設計學習之成 效,第二階段目的在比較使用機器人與傳統方式學習程式設計之成效及可能產 生的心智模型。研究結果發現:(1)實體機器人與模擬軟體搭配使用能產生不錯 的學習成果,(2)學生對使用機器人學習程式設計持正向態度,(3)學生使用機器 人與使用傳統方式學習程式設計傾向於產生不同的心智模型。建議未來研究可 探討同時使用機器人和傳統方法學習程式設計之成效及心智模型。. 關鍵字:程式設計、機器人、心智模型.

(3) Abstract The effects and mental models of using robots to learn programming By Ya-Jeng Shieh This study investigated the effects of using robots in teaching high school students programming and possible mental models which students might form from such a strategy. A quasi-experiment design was implemented in this study. Four classes of high school students, totaling 144 students, participated in this study. Participants were assigned into four groups according to the tools they used: physical robot group, robot simulator group, robot-and-simulator group, and traditional group. The experiment was conducted in two stages, the first stage aimed to investigate the effects of using different kinds of robotic tools in teaching programming: physical robot, robot simulator, and robot-and-simulator. The second stage was to compare the effects of using robots and traditional methods, and the possible mental models formed by students. The findings of the study were: (1) Using robots and simulators together would enhance students’ performance. (2) Students had positive attitudes toward using robotic tools learning programming. (3) Students using different tools would result in different mental models. We suggested future study to investigate the effects of combining robots with traditional method to help students learning programming.. Keywords: Programming, Robots, Mental models.

(4) 致. 謝. 首先感謝指導教授吳正己教授的教導,老師總能在我碰到研究瓶頸時給我 方向讓研究得以順利進行。老師的指導也提升我思考問題的能力,讓我能從多 面向來看待事情,生活上老師的諄諄教誨更讓我待人接物的態度有了一些改 進,在此衷心感謝老師二年多的指導。 感謝我的父母及兄長能體諒我研究的辛勞以及對我的默默付出,特別是在 論文撰寫期間母親的協助,還有兄長對我研究的建議。因為有家人們的支持與 付出,我的論文才能更完美。 感謝實驗室的夥伴們的幫忙,你們總是在需要的時候給予協助特別是在時 實驗期間如果沒有你們我一定忙不過來的。至於是誰,嗯!你知道的!(因為 人太多啦!)平時在的日子也因為有大家的陪伴才不會無聊,每天中午總會進 行「中午要吃什麼呢?」、「ㄟ~不知道耶!」的迴圈,現在回想起來也是樂趣 橫生。實驗室的各位夥伴們,感謝有你和我一起渡過研究生的生活一同歡笑一 同熬夜(當然是歡笑的日子比較多囉!)。 另外以前衛教系的學弟妹們,能和你們一起打球的日子真的很愉快!還有 感謝坦卡斯基及其所屬的<ICE>團隊成員們,在研究生涯最後的半年,陪我解 悶排解研究之餘的壓力。 最後祝福大家 順心如意 謝亞錚. 九十八年二月.

(5) 目. 錄. 目 錄............................................................................................................................ I 圖 次........................................................................................................................... II 表 次..........................................................................................................................III 第一章 緒論................................................................................................................1 第一節 背景與動機............................................................................................1 第二節 研究目的................................................................................................4 第三節 研究範圍與限制....................................................................................4 第二章 文獻探討........................................................................................................5 第一節 機器人與程式設計教學........................................................................5 第二節 程式設計的心智模型..........................................................................12 第三章 研究方法......................................................................................................19 第一節 研究設計..............................................................................................19 第二節 研究參與者..........................................................................................20 第三節 教學規劃..............................................................................................20 第四節 研究工具..............................................................................................23 第五節 實施步驟..............................................................................................30 第四章 結果與討論..................................................................................................33 第一節 機器人程式設計..................................................................................33 第二節 傳統程式設計......................................................................................39 第三節 心智模型..............................................................................................51 第五章 結論與建議..................................................................................................58 第一節 結論......................................................................................................58 第二節 建議......................................................................................................60 參考文獻......................................................................................................................61 附錄一 活動問卷..............................................................................................65 附錄二 課堂觀察記錄表..................................................................................69 附錄三 第一階段講義......................................................................................70 附錄四 第二階段講義......................................................................................80 附錄五 第一階段成就測驗..............................................................................91 附錄六 第二階段成就測驗..............................................................................98. I.

(6) 圖 圖 3-1 圖 3-2 圖 3-3 圖 3-4 圖 3-5 圖 3-5 圖 4-1 圖 4-2 圖 4-3 圖 4-4 圖 4-5. 次. 程式編輯環境(Eclipse) ...........................................................................21 RCX 主機 ......................................................................................................24 機器人及其感應器配置 ...............................................................................24 Lego Mindstorms Simulator 模擬軟體(LMS).........................................25 機器人組講義圖片之差異 ...........................................................................27 教學實驗實施步驟 .......................................................................................30 教材中的 while 和 if 之概念模型................................................................52 學生 while 和 if-else 誤用程式碼例 1 ........................................................53 學生 while 和 if-else 誤用程式碼例 2 ........................................................53 課堂觀察 while 誤用之情況 ........................................................................54 學生 while 和 if-else 誤用程式碼例 3 ........................................................56. II.

(7) 表 表 3-1 表 3-2 表 3-3 表 3-4 表 4-1 表 4-2 表 4-3 表 4-4 表 4-5 表 4-6 表 4-7 表 4-8 表 4-9 表 4-10 表 4-11 表 4-12 表 4-13 表 4-14 表 4-15 表 4-16 表 4-17 表 4-18 表 4-19 表 4-20. 次. 第一階段各單元教材概念表 .......................................................................22 第二階段各單元教材概念表 .......................................................................22 第一階段成就測驗命題概念及給分標準對照表 .......................................28 第二階段成就測驗命題概念及給分標準對照表 .......................................29 機器人程式設計成就測驗變異數分析結果 ...............................................33 機器人程式設計成就測驗變異數分析結果─理解程式 ...........................34 機器人程式設計成就測驗變異數分析結果─設計程式 ...........................34 設計程式部份之事後考驗結果(Tukey's method)..................................34 第一階段學習情形變異數分析結果 ...........................................................35 第一階段問卷第 1 題之事後考驗結果(Tukey' method) .......................36 第一階段問卷第 4 題之事後考驗結果(Tukey' method) .......................36 第一階段問卷學生學習態度各組平均分數及變異數分析結果 ...............37 傳統程式設計成就測驗變異數分析結果 ...................................................39 傳統程式設計成就測驗事後考驗結果(Tukey's method)....................39 傳統程式設計成就測驗變異數分析結果─理解程式 .............................40 傳統程式設計成就測驗事後考驗結果─理解程式 .................................40 傳統程式設計成就測驗變異數分析結果─設計程式 .............................40 傳統程式設計成就測驗事後考驗結果─設計程式 .................................40 第二階段活動問卷程式設計學習情形變異數分析結果 .........................43 第二階段活動問卷程式設計學習態度變異數分析結果 .........................44 實體加模擬組二階段問卷比較 t 檢定結果 ..............................................46 實體機器人組二階段問卷比較 t 檢定結果 ..............................................47 模擬軟體組二階段問卷比較 t 檢定結果 ..................................................48 傳統組二階段問卷比較 t 檢定結果 ..........................................................49. III.

(8) 第一章 第一節. 緒論. 背景與動機. 許多學者認為學習程式設計能夠培養學生問題解決以及高層次思考能力, 並有助於他們日後的職業規劃(Duke, Salzman, Burmeister, Poon, & Murray, 2000) 。但是程式設計卻是一項難教也難學的科目,Costelloe(2004)指出學生 剛開始學習程式設計時,在語法及程式概念上常會碰到困難而感到沮喪。 Soloway(1986)認為傳統程式設計教學並沒有教會學生問題解決的技巧,學生 無法順利撰寫程式。由於一般的程式語言語法結構龐大複雜,容易造成程式初 學者學習的困擾(Mannila, Peltomäki, & Salakoski, 2006) 。Linn 及 Clancy(1992) 認為傳統的程式設計教學太著重於語法的教學,容易使得初學者落入嘗試錯誤 的方式來拼湊程式。因此,很多學者們嘗試各種不同的教學方法,希望能增進 學生學習程式設計的成效。 有些學者提出以視覺化的方式來幫助學生理解複雜或抽象的概念。Myers (1986)認為透過視覺化的方式能幫助學生建構正確的概念結構。Astrachan (1998)則提供與學生們過去經驗連結的工具,讓學生能夠將新的概念與舊有 的經驗相連結,例如,使用便利貼、飛盤、繩索、紙卡等教授學生參數傳遞、 鏈結串列、指標等程式概念。 Papert(1980)在 Mindstorms 一書中提到了所謂「微世界(microworlds)」 的觀念。在這個微世界中只有教學者希望學生學習的新知識內容,免除不必要 的干擾,以讓學生更專注在學習的焦點。Pepert 於 1969 年開發的 LOGO 語言 即是基於此概念,沒有繁複的語法只需專注控制畫面的小海龜。後來的小瓢蟲 Kara 亦是用微世界的觀念來教程式觀念。LOGO 與 Kara 都是讓學生在螢幕上 控制虛擬物件或機器人的行動。 LEGO 公司所出品的 Mindstorms 機器人,其前身是 MIT 開發出來的可程 式化積木,它就是結合了視覺化及微世界概念的實體機器人(1991) ,許多的學. 1.

(9) 者將其運用於程式教學上。Klassner(2002)在大學人工智慧課程的教學上採用 Mindstorms 讓學生以小組專題的方式學習;Fagin(2001)採用 Mindstorms 及 Ada/Mindstorms 的程式編輯環境於程式設計課程已有許多年的經驗。 運用機器人於程式設計教學透過機器人營造出來的微世界,可以讓學生專 注於解決機器人世界的問題,而且學生只需要學習機器人相關的控制指令,可 能可以克服一般程式語言語法太過複雜的缺點。運用機器人也是一種從做中學 的方式,因為學生能實際操控機器人比一般程式設計更有趣,透過實際操縱亦 能從中學習程式設計的概念(Fagin, 2001; Jacobsen & Jadud, 2005)。但採用機 器人於程式設計教學上,可能會有一些限制,如:程式傳輸的時間、修改程式 後又要再重新傳輸,這類的問題在課堂教學時會占去一部份的教學時間,因此 若能有可以模擬機器人行為的軟體,應該能改善這些問題(Fagin, 2003)。 德國的 Paderborn 大學即針對 Lego Mindstorms 機器人開發了一套模擬軟體 「Lego Mindstorms Simulator(LMS)」,配合 LeJOS 團隊開發的韌體,可以用 來模擬 Midstorms 機器人的行為。採行模擬的方式,除了能夠節省傳輸的時間 之外,在經濟的考量上也比機器人的花費低廉。如果讓學生同時運用實體的機 器人和模擬軟體來學習程式設計,先在模擬軟體中除錯,然後再傳到實體機器 人執行,可能會使學習更有效率。 從認知的觀點來看學習,當人們在學習新的事物時,會在內心產生一套知 識的表徵,可以運用來解釋習得的知識,並能夠預測外在系統的行為,這是所 謂心智模型(Johnson-Laird, 1983)。同樣地,學生在學習程式設計時,也會在 內心產生自己的一套心智模型並試著用來解讀及撰寫程式,若學生心智模型有 瑕疵時,就可能無法順利解題。 Pennington(1987)認為程式設計的心智模型主要有兩大部份,一是和問 題相關的知識稱為領域模型(domain model) ,另一是和程式細節相關的訊息稱 為程式模型(program model) 。後來 Wiedenbeck 及 Ramalingam(1999)運用類 似 Pennington(1987)的方法,探討採用程序性(procedual)和物件導向 2.

(10) (object-oriented)派典的初學者,其心智模型的差別,他們發現學習兩種不同 派典的學生,傾向於產生不同的心智模型。Pennington 及 Wiedenbeck 認為,只 具備程式模型是不足的,最佳的程式理解是同時具備領域模型和程式模型的知 識,並能充分的交互運用以瞭解程式。 目前探討使用機器人於程式設計教學可能產生的心智模型,尚未發現有文 獻討論,因此本研究希望探討使用實體機器人和模擬軟體兩種工具的成效,以 及學生使用機器人學習程式設計所可能產生的心智模型,並希望能對未來使用 機器人於程式設計教學提出建議。. 3.

(11) 第二節. 研究目的. 本研究重點在於探討採用機器人、模擬軟體方式,在學習程式設計的成效。 質言之,本研究目的有三: 一、比較使用機器人、模擬軟體、機器人加模擬軟體三種輔助學習程式設計工 具的成效。 二、比較使用上述三種方式與傳統教學方式之成效。 三、探討學生使用機器人學習程式設計可能產生之心智模型。. 第三節. 研究範圍與限制. 本研究之研究範圍與限制如下: 一、本研究所採用之程式設計教材內容包含循序、判斷(if-else)、迴圈(for、 while)、陣列,基本的控制結構,以及循序搜尋法。 二、本研究所採用之機器人為 LEGO Mindstorms RCX 套件,模擬軟體則採用 經曾義智(2007)中文化後的 LEGO Mindstorms Simulator。. 4.

(12) 第二章. 文獻探討. 本章就機器人與程式設計教學、程式設計的心智模型做探討。. 第一節. 機器人與程式設計教學. 以下就程式設計教學的問題、機器人與模擬軟體做探討。. 壹、程式設計教學的問題 程式設計是一項需要邏輯推理能力的認知活動,在學習的過程中能夠培養 學生高層次思考以及邏輯推理的能力(Cañas, Bajo, & Gonzalov, 1994; Costelloe, 2004) 。在撰寫程式的過程中學生必須經歷兩個階段,首先必需了解題目想出解 題的方法 (演算法) ,就是問題解決的階段;再來將問題的解法轉換為程式碼, 意即所謂的程式撰寫與實踐的階段(Costelloe, 2004)。在問題解決階段對初學 程式設計的學生而言是相當困難的,Soloway(1986)認為以往程式設計教學太 過著重語法而忽略教導問題解決能力的重要。Costelloe 所提出的程式撰寫與實 踐階段,學生必需將各種程式的概念組織起來才能完成程式,但教師們常因為 學生不明白某些特定的程式概念而感到沮喪。Manila、Peltomaki 及 Salakoski (2006)認為目前主流的程式語言,雖然功能強大但卻非專為教學設計,過於 複雜龐大的語法結構並不適合初學者。概括上述學者們所提初學者在學習程式 設計時,常面臨的困難有三:(1)問題解決能力不足、(2)某些程式設計的概念難 以學習、(3)程式語言的語法結構過於龐大;因此以下針對學者們如何解決此三 種困難做探討。 一、問題解決能力不足 Linn & Clancy(1992)認為學生已具備一般問題解決的能力,但並不能將 其運用在程式設計的解題方面,因此在教學上應教導學生如何將一般問題解決 能力應用在程式設計方面,而過去的程式教學過於著重程式語法的教學,忽略. 5.

(13) 了規劃程式的技巧。他們採用「個案研究(case study)」的方式,將專家解題 的範例程式分成好幾個重要的區塊,然後加上文字說明、虛擬碼、演算法、概 念圖、範例程式、除錯及測試技巧等,稱之為「板型(template)」 ,加以整理之 後教给學生。讓學生研讀專家的個案,從各式板型中學習程式語法及用法,更 重要的是學到如何規劃的技巧,並希望能用以解決更高難度的程式問題。 Soloway(1986)也認為應該教導學生如何規劃程式的技巧,他認為程式設計的 專家,在解題時能夠靈活運用其知識與策略。因此他建議可以採取 goal/plan 的 教學策略,讓學生以 top-down 的方式學習規劃程式。開始解題時依題目的要求 來確立目標(goal),然後細分有哪些已學過的策略(plan)可以達成目標,再 逐步精化、合併每一個策略,就可以順利解題。Soloway(1986)認為程式設計 的專家在閱讀程式時是以程式的區塊來記憶,專家會將程式碼區塊的功能抽象 化以方便記憶,這和初學者記憶程式是以逐行記憶不同。所以他認為在教程式 策略的時候也應該將每種策略的抽象概念以直接的方式教给學生。從上述內容 可以發現,學者們認為程式設計教學中教導學生如何規劃程式相當重要。 二、特定程式概念難以學習 Astrachan(1998)認為 C++中的參數傳遞、鏈結串列、指標等概念,初學 者學習效果不佳,他採用生活化的道具呈現程式設計概念,讓學生可以動手操 作,親自體會這些概念。他在傳統的課堂上,運用便利貼、飛盤、繩索、紙卡 等道具,這些和學生過去經驗相關的具體道具,讓學生能夠將新的概念與舊有 的經驗相連結,學習這些對初學者較難學習的抽象概念。例如:以貼上便利貼 的飛盤做為要傳遞的參數,當飛盤從一位學生手中丟到另一位學生的手中,即 完成了參數的傳遞;以帶有黏性的繩索喻為指標,一端握在學生手上,另一端 黏到寫有資料的紙卡(比喻為物件) ,代表有指向物件的指標,反之若另一端沒 有黏紙卡,代表指向空物件(NULL) 。這種結合生活化及動手操作的教學方式, 不但能表現出抽象的程式概念,也能幫助初學者加深學習的印象及學習效果. 6.

(14) (Astrachan, 1998) 。有些學者認為使用視覺化的方式呈現一般初學者較難學習 的概念,有助於他們瞭解程式。Myers(1986)以視覺化方式呈現資料結構的 概念,他以畫在黑板的圖像呈現程式的資料結構,結果能更有效幫助學生理解 程式。 三、程式語言的語法結構過於龐大 有些學者認為目前主流的程式語言(如:C++、Java)功能強大,然而其 龐大的語法結構並非專為教學而設計(Manila, Peltomaki, & Salakoski, 2006) 。Manila 等人認為若是採用比較簡單的程式語言(如:Python),會讓學生 學得更輕鬆。但是對於教簡單的程式語言也有許多批評,認為初學者入門的程 式語言如果是比較簡單的,可能會造成日後在學習其他程式語言的阻礙。因此 Mannila 等人(2006)以行動研究的方式針對高中生學習兩種不同的程式語言, Java 及 Python,在程式中出現的錯誤分析與比較,以及追蹤 8 位學習 Python 的學生未來就讀大學學習不同程式語言的情形。程式的錯誤不論是在語法與邏 輯上的錯誤或是例外處理方面,採用 Python 的錯誤都比 Java 少很多。入門程 式語言學習 Python 的學生,日後在學習新的程式語言方面,受訪的 8 位追蹤學 生中,只有一位表示在學習新的程式語言有困難。 在高中階段程式設計的教學目標是:(1)學習基本的程式設計及演算法式思 考,(2)為學生未來的學習做準備。而高中的授課時數相當有限。在短時間內要 教程式語言,若是採用比較簡單的程式語言,如 Python,可以省去許多繁雜的 語法,也就能夠讓學生有比較多的時間專注在演算法的思考上。而且經由 Mannila 等人(2006)的研究證明,大部分先學 Python 的學生在未來學習其他 的程式語言也可以學得很好。 Papert(1980) 在 Mindstorms 一書中以 LOGO 這套視覺化的程式語言, 以及所謂「微世界(microworlds) 」的觀念。LOGO 程式語言運用簡單的語法 操控螢幕上的小海龜完成指定的任務,可以用以學習數學、物理等各種學科的. 7.

(15) 觀念。他以學習牛頓運動定律為例說明, 「動者恆作等速度運動」這個定律學生 一開始學習時很難接受,因為在現實的情境之中的經驗相違背,我們在搬桌子 時要用力推桌子才會動,當停止施力時桌子就停下不動了,幾乎沒有辦法觀察 到物體一推就動而要停下來還要再反向施力的現象,這和學生過去的經驗沒有 辦法聯結,學習上也比較困難。因此,透過 LOGO 建造一個單純的微世界,在 這個微世界中除去了一些在現實世界可能存在的磨擦力、空氣阻力等的干擾, 只有教學者希望學生學習的新知識內容,例如:將操控小海龜前進、轉彎等的 指令,視為力學中的力,讓學生透過操縱小海龜前進、轉彎,學習牛頓的運動 定律,因為只有在學生對小海龜下達前進或轉彎的指令時,小海龜才會做出動 作,在這個 LOGO 構成的微世界中免除不必要的干擾,能夠讓學生更能夠專注 在學習及解題上。. 貳、機器人與模擬軟體 本小結所討論之機器人為具有實體可讓使用者操控,而模擬軟體為不具實 體僅呈現在電腦螢幕上者。以下分為二部份:實體機器人、機器人模擬軟體討 論。 一、實體機器人 在程式設計教學亦有整合微世界與視覺化觀念的教學設計,1990 年代美國 麻省理工學院電腦教育學者們,設計出一套可程式化的實體積木(tangible programming bricks),並可以結合感應器讓可程式化的積木和外界的環境互 動,也就是後來的 Lego Mindstorms(McNerney, 2004)。採用實體的機器人於 程式設計的教學,Fagin 等人(2001)採用 Lego Mindstorms 於程式設計導論的 課程中,教學生循序、變數及常數的概念。首先要運用機器人教學生循序的概 念,只要將要機器人執行的程式碼依序寫好,當機器人執行的時候自然就會依 照先前寫好的順序執行;而在變數的概念,採取一個會讓機器人會根據某些狀. 8.

(16) 況變動的變數來教學生,會是比較好的策略;要讓學生學習常數的概念,是以 讓機器人轉九十度為例,要讓機器人轉彎是只讓其中一個輪胎繼續轉動,另一 個輪胎不動一段時間,來達到轉彎的動作,在此要讓輪胎不動的那段時間就是 一個常數的概念。要教學生這三個概念運用機器人是直覺的,因為當學生在解 機器人的問題時,學生會把他們看到的問題先設想成機器人的動作,再對應到 動作應該有的程序是如何,然後寫下程式碼,而且學生們的程式可以表現在機 器人的行為上,讓學生可以實際看到程式的運作使 Design-write-run-redesign 的 循環能流暢進行。採用機器人於程式設計教學,因為其具有實體的特性,學生 能藉由撰寫程式操控機器人,除了可以讓學生有動手實作的經驗之外,也富含 趣味性(Fagin, 2001)。 Klassner(2002)讓學生以 LEGO Mindstorms 為基礎來設計人工智慧的專 題,因為 Mindstorms 套件包括了觸碰、光線兩種感應元件,以及直流馬達及燈 泡可做為輸出,所以能夠做到與環境互動的功能適合做為人工智慧專題的教學 工具。在 Klassner 的課程當中,讓學生充份應用各種零件組裝發展出符合老師 要求的專題,從評量的結果也顯示採用機器人的教學方式的確增進學生對於人 工智慧概念的瞭解,以及發覺學生採用機器人之後對多執行緒(mulithreading) 的程式設計方式比較有自信。但是在文中也指出採用 Mindstorms 有不足之處, 例如多數的學生指出感應器可能不準確,以及 Mindstorms 套件本身並沒有包含 轉角感應器(angle sensor) ,使用馬達控制轉角較不便,須要另外添購,但是這 種感應器可以用來設計許多有趣的專題。 二、機器人模擬軟體 以機器人為比喻輔助學生學習問題解決能力、演算法式思考已經不是新的 方式(Goldweber, Congdon, Fagin, Hwang, & Klassner, 2001)。由 Papert 及 MIT 於 1969 年人工智慧實驗室所開發出來的 LOGO 程式語言,在畫面上模擬一隻 小海龜可以透過程式碼來操控,藉此教導學生程式及問題解決的概念,這是最. 9.

(17) 早使用於教學的機器人模擬軟體。後來由 Hartmann 等人(2001)所開發的 Kara, 也包含有 LOGO 的概念,也是透過撰寫程式來控制畫面上的小瓢蟲,但整體操 作都更簡單,瓢蟲的動作只有前進、左轉、右轉、拾起樹葉、放下樹葉。Kara 更加入圖形化的程式撰寫界面,將瓢蟲的動作及偵測環境的動作都以圖示表 示,使用者可以拖曳的方式直接編輯小瓢蟲的動作,使用者亦可採用傳統的撰 寫方式輸入程式碼。Kara 機器人模擬軟體建造出一個只有瓢蟲、枯樹、樹葉的 微世界,讓使用者操縱瓢蟲判斷枯樹的位置找到正確前進的方向或是收集樹 葉,透過這樣的活動讓使用者學習能專注在問題解決或是邏輯思考的能力。 Fagin 及 Merkle(2003)比較使用實體機器人學習程式設計和傳統程式設 計的學生,共計有 800 位學生在同樣學習一年的程式設計課程之後,接受相同 的測驗,結果發現使用實體機器人的學生測驗成績較傳統程式設計的學生低。 Fagin 認為造成差異的主要原因為缺少一套模擬軟體,用來模擬他們的機器人 教學系統。Fagin 所採用的實體機器人是 Lego Mindstorms RCX,在實作時程式 從電腦傳輸到機器人的時間較長,學生在除錯時常要重複「傳輸、執行、修正、 傳輸」這樣的循環,較傳統程式設計會花費更多的時間,因此造成學習效果不 佳。Fagin 建議未來使用機器人於程式設計教學,可以配合模擬軟體,讓學生 先在模擬軟體執行、除錯之後,再傳輸到實體機器人執行,如此一來可以省下 許多傳輸花費的時間。德國 Paderborn 大學針對 Lego Mindstorms 開發了一套模 擬軟體 Lego Mindstorms Simulator(LMS),曾義智(2007)將 LMS 加以精簡 並中文化後,用於高中程式設計教學,探討使用實體機器人和機器人模擬軟體 之學習成效,結果發現兩者間沒有顯著差別。雖然 Fagin 對模擬軟體配合實體 機器車的教學方法提出了建議,但是目前尚未有文獻指出此運用方式是否真的 比較有效。. 10.

(18) 參、小結 綜合諸位學者認為程式設計教學的問題,主要可分三種:(1)問題解決能力 不足、(2)某些程式設計的概念難以學習、(3)程式語言的語法結構過於龐大。針 對上述三種問題,使用機器人於程式設計教學提供可能的解決方案,機器人提 供的微世界,讓學生可以專注於解決機器人世界的問題,又較容易讓學生想像 理解程式概念,而且語法結構單純。有學者也建議在使用實體機器人時,應有 配合的模擬軟體才會有比較好的效果,但是否真的如此目前仍沒有定論。. 11.

(19) 第二節. 程式設計的心智模型. 以下就心智模型、程式理解之心智模型、程式概念之心智模型,三方面做 討論。 壹、心智模型與程式設計 心智模型是存在人們心中可以運作用來解釋事物或是預測現象的一種表徵 (Johnson-Laird, 1983)。Johnson-Laird 所述和皮亞傑所提的認知發展論有相當 類似的程度,心智模型一詞源自於知識建構理論,認為人透過觀察、思考建構 出自己的知識。心智模型運用在教學上,必須有四點要釐清: 1 學習者所要學習的「標的系統(target system)」 2 標的系統的「概念模型(conceptual model)」 3 學習者心中存有對標的系統的「心智模型(mental model)」 4 科學家所認為的學習者心中的心智模型 這四者間互相關聯,學習者所要學習的標的系統,透過科學家、專家設計 的概念模型輔助,與標的系統互動、學習得到自己對標的系統的心智模型,而 科學家心中也會想像學習者所可能會具備的心智模型。也可以用函式的方式來 解釋,若將標的系統設為 t,則 M(t)代表學習者心中的心智模型,C(t)代表概念 模型,在使用者學習標的系統的同時,科學家為了要加強學習的效果也會揣測 使用者所形成的心智模型以改進教學效果,C(M(t))就代表科學家所認為學習者 所具有的心智模型;M(t)和 C(M(t))之間是有區別的,若透過觀察或實驗得到的 C(M(t))能較貼近使用者真正產生的心智模型,這對於設計概念模型 C(t)會有幫 助。 科學家和專家設計出的概念模型,主要目的就是為了讓使用者能形成科學 家或專家所希望的心智模型,特別是像程式語言這類的人造知識,這種知識的 特色就是人為創造出來的,所以知識本身就是專家的心智模型,若是能夠在學 習之初就產生和專家一樣的心智模型,在這方面的知識就能順利學習。. 12.

(20) 許多學者將心智模型的概念運用在程式設計教學上,因為程式語言本身也 是一種人造的知識,若學習者在學習程式語言的概念和專家相同時,在往後的 程式語言學習方面會有較佳的表現。Dehnadi (2005)測驗學生對變數及參數 傳遞的概念,用測驗的結果來預測學生在程式設計課程的成就,他認為了解初 學者所具有的心智模型將會是預測學生學習程式設計之成就的關鍵。所以探討 程式語言中的重要概念可能隱含的心智模型,有助於了解學生所可能碰到的困 難之外,也可以藉由了解學生可能具有的心智模型來改進教學時的策略(Ma, Ferguson, Roper, & Wood, 2007)。程式語言有許多重要的基本概念,能否建立起 初學者對程式語言基本概念,如:變數、參數傳遞、遞迴等,正確的心智模型, 決定了學習者未來在程式語言學習的成敗。 Lui 等人(2004) ,以知識建構及心智模型的觀點,認為程式設計課程中成 就比較弱的學生,他們在初學程式設計時會碰到五種困難:(1)沒有自信、(2) 缺乏抽象思考能力、(3)不熟悉程式編輯環境、(4)先備知識不足、(5)易落入無法 重新建構知識的情況。為改善他們的學習情況,Lui 等人在教學上採取以下六 種策略:(1)直接呈現程式的行為,不用類比、(2)先教程式概念,再教術語,(3) 不斷重覆重要的概念、(4)確保學生具備足夠的先備知識、(5)建立關鍵程式(key program)讓學生可以藉此複習重要的概念、(6)先用紙筆寫程式,避免電腦的 程式編輯環境所帶來的壓力。這種方式他們將之取名為 Perform 的方式,Perform 的教學策略施行在大學程式設計課程,以變數的概念為例,得到了很好的效果, 學生覺得這樣的教學方式有幫助,該課程的不及格的比例也較往年有顯著改善。 貳、程式理解之心智模型 Pennington(1987)探討專家研讀程式文本(program text)來理解程式的 心智模型。他認為程式的文本中隱含有兩種訊息,一是控制流(control flow) 泛指程式文本中的文句順序或關鍵字,能指出程式如何進行者;另一是資料流 (data flow)指的是程式中變數的改變與否及變數和程式中各物件之關係。透. 13.

(21) 過將程式文本中的訊息抽象化粹取出來就可以理解程式,他將訊息粹取的技巧 分為功能(function)、資料流(data flow)、控制流(control flow) 、調節行為 (conditionalized action) ,四種。他認為人們在理解程式會運用到程式的知識主 要有文字結構的知識和規劃的知識兩種。文字結構的知識是指將文句的細節、 文法結構組織起來以瞭解程式。規劃的知識是將程式設計者已理解的程式片段 組織起來以完成某些功能。 Pennington(1987)讓具有三年以上程式設計經驗的專家 80 位,40 位專家 使用的程式語言為 COBOL、另外 40 位專家使用的是 FORTRAN,讓專家們閱 讀總計 8 個簡短的小程式,然後回答六個程式理解的問題,包含前述的四種訊 息抽象化的類型以及順序性(sequence)及詳細操作(detailed operation)共六 種類型,藉此了解採用這兩種不同語言的程式理解方式的差別。研究的結果發 現二組的參與者在回答程式理解的問題時,對控制流及操作這兩類的問題所花 費的時間及正確率的表現都比資料流及功能這二類的題目好。跟據研究的結果 Pennington 歸納出二種不同的程式理解的方式,第一種就是由訊息抽象方式的 資料流及功能二方面組成,另一種是以控制流和操作組成。Pennington 認為若 能具備這二種程式理解的方式就能有最好的程式理解。 Wiedenbeck 及 Ramalingam(1999)將 Pennington(1987)所歸納出來的第 一種類型稱為「領域模型(domain model)」 ,第二種稱為「程式模型(program model)」 。Widenbeck 採取類似 Pennington 的分類方式,研究初學者對於小程式 的理解是否會因為程式設計的派典不同而有所不同,他們比較程序性的程式 (procedural)和物件導向(object-oriented)的程式。他們將參與者分為程序性 和物件導向兩組,讓參與者研讀三個小程式,研讀完之後再回答五個程式理解 的問題,這五個問題別分為:操作(operations) 、控制流(control flow) 、資料 流(data flow)、狀態(state)、功能(functions)。實驗進行時,他們將程式分 別列印在紙上讓參與者閱讀,一次閱讀一個小程式 2 分鐘,隨後有 1 分 15 秒時 間回答上述五個程式理解問題,回答時不可再看程式,依照參與者回答的正確 14.

(22) 率,來區別學習兩種不同程式語言派典在程式理解的心智模型的不同。結果發 現以物件導向學習程式設計的初學者比較傾向以領域模型的方式理解程式,而 以程序性方式學習程式的初學者則比較傾向以程式模型來理解程式。 參、程式概念之心智模型 程式設計是一門人造的知識,許多的概念對初學者而言是比較難學習的, 因此也有許多學者對比較難學的程式概念之心智模型做討論。以下就以變數及 遞迴的心智模型做討論。 一、變數的心智模型 Ma 等人(2007),採用 JAVA 做為教學用的程式語言,探討初學者對於 JAVA 語言變數的心智模型,學生在一學期二十堂課約五十小時的課程結束後,接受 一次以考試方式進行的問卷調查以了解學生對 JAVA 中「定值(value assignment)」及「定址(reference assignment)」觀念的心智模型。問卷分為兩 部份,第一部份為選擇題,主要測驗學生預測一段程式執行的結果,選擇題的 選項包含有正確的答案以及事先預想好學生可能會具有的不正確的心智模型; 第二部份是開放式的問答題,讓學生運用他們自己的方式(用文字或是圖示) 描述一段程式的執行過程。從開放式問卷得到的結果,Ma 等人(2007)將初學者 對於 Java 中「變數的指派(value assignment)」所可能形成的不適當 (inappropriate)的心智模型分成以下幾種: 1. 由左指派到右(assign from the left to right) 這類的學生將等號左邊的值指派到右邊,如 a=b 會以為是將 a 的值指派給 b。 2. 將等號視為是「比較」的運算符號(compare operator) 學生將原本是指派的意思的等號誤解為「比較」,b=a 就成為「b 等於 a」 3. 將等號視為是繼承的概念(inheritance & instance of) 也有學生將 b=a 解釋為「b 為 a 的一個子集(subclass) 」,或是「a 為 b 的. 15.

(23) 一種(a instance of b)」 。這類的學生似乎是因為對 JAVA 語言的概念僅有 零碎的了解,像是對指派(assignment) 、物件(object) 、繼承(inheritance) 的觀念不清,因此具備了很模糊的心智模型。 另外在「reference assignment」方面,reference 是 Java 常用的資料型態, 其概念類似於 C++中的指標(Pointer) ,宣告時是以 ClassName VarableName 的 方式,例如:String s = “John”其意義為以 s 來指向存有”John”的 String 的位址。 但是這個概念在 Ma 等人的研究中,學生能正確表達這個概念的很少,大多都 是具有以下錯誤的心智模型: 1. ”Stored at” model 具有這種模型的學生在解釋 a = new Person(“Jack”)時,誤將 a 這個 reference variable 視為是存放 Person 物件的記憶體空間,而事實上 a 只存放了一個 記憶體的位址而已。 2. “Is” model 這是最多人存有的錯誤的模型,認為只是為物件命名而已,忽略 reference 本身只是代表一個位址的意義,所以 a = new Person(“Jack”)會被解讀成 是:產生一個新的 Person 物件,並將它命名為 a。 3. “Assign” model 受到先前變數指派的概念的影響,這一類的學生認為 reference variable 也 只是把物件複製一份傳給它而已,因此會把 a = new Person(“Jack”)解釋為 產生一個新的物件,給予”Jack”的值,然後複製一份傳給 a。 4. “Set equals to” model 具有這類模型的學生也相當多,而這個模型也和”Assign”相當類似,他們 將 a= new Person(“Jack”)解釋為:產生一個新的 Person 物件,然後把 a 設 定成等於這個新的物件。 5. “Component assignment” model 具有這種模型的學生將 b = a 解釋為:具有某些屬性的物件 a,將其所有的 16.

(24) 屬性取代了原本物件 b 所有的屬性。 Ma 等人所討論的初學者的心智模型,是針對於特定的程式語言 JAVA 中特 定的概念「定值」與「定址」以及一些其他的概念的結果,另外也有探討遞迴 的心智模型。 二、遞迴的心智模型 遞迴的概念,有許多研究都指出遞迴對初學者而言是很難學習的,但是它 卻是在程式設計當中是相當重要的概念(Götschi, Sanders, & Galpin, 2003; Haberman, 2004; Zmuda & Hatch, 2007)。Kahney(1983)假設初學程式設計的 學生和專家具有對遞迴的心智模型是不同的,他假設學生所擁有的是 looping model;而專家則是 copies model。Kahney 利用問卷訪問學生,他給受訪學生看 一個關於感冒傳染的程式範例,題目中假設只要是被感冒的人親到(kiss)就 會被傳染。在問卷中提供了兩個可能的解法,要求受訪的同學指出這兩個解法 是否是對的,並且說明為何是對的。 這是相當早期對於遞迴心智模型的探討,主要分出了 Copies model、Loop model、Null model、Odd model、Syntactic or magic model 等模型後來 Götschi、 Sanders 及 Galpin(2003)對遞迴的心智模型做深入的探討,將遞迴的結構分為 三部份:Active flow、Base case、Passive flow,Active flow 指的是遞迴在開始 時一直會向前複製自己,直到碰到中止條件 Base case 後,轉為 Passive flow 往 回推到開始的進入點,完成遞迴。Götschi 等人(2003)作出來的編碼表,用來 將學生的心智模型分類,例如:copy/switch/copy 的類別組合指的是 copies model,looping/stop/none 指的是 looping model。最後 Götschi 等人共整理出八 種初學者可能具有的遞迴心智模型:(1)Copies Model、(2) Looping Model、(3) Active Model、(4) Step Model、(5) Return Value Model、(6) Magic or Syntactic Model、(7) Algebraic Model、(8) Odd Model。 學者們對於遞迴的心智模型做了深入的研究,歸納得到許多種初學者可能. 17.

(25) 具備的遞迴的心智模型,如:不可行的 Loop model、Odd Model、Null model 等;以及專家所具有的遞迴心智模型 Copies model(Götschi, Sanders, & Galpin, 2003) 。教學者了解初學者具有遞迴的心智模型後,採取不同的教學方式,藉以 提升學生的學習效果,所謂概念模型(conceptual models)就是專家、教學者設 計出來,希望能夠透過概念模型來協助學習者產生正確可行的心智模型。 Haberman(2004)在高中的程式設計課程中先以 Logic programming 教導學生 遞迴的概念,相較於採用傳統的 Procedural programming 學習遞迴概念的學生, 以 Logic Programming 學習遞迴概念的學生有較佳的理解以及心智模型。 肆、小結 Johnson-Laird(1983)在 Mental model 書中提到,心智模型是存在人們心 中可以運作用來解釋事物或是預測現象的一種表徵。透過了解學生學習程式設 計的心智模型,有助於教師瞭解學生學生學習的情況以及可能出現的問題,藉 此可以改進教學品質(Götschi, Sanders, & Galpin, 2003; Lui, Kwan, Poon, & Cheung, 2004; Dehnadi, 2005)。 程式理解的心智模型可分為領域模型和程式模型兩種,使用不同的教學方 式,學生所形成的心智模型可能有所不同(Pennington, 1987; Wiedenbeck & Ramalingam,1999)。 對於特定程式概念的心智模型,學者們分析初學者可能形成之心智模型, 特別是不正確的心智模型,其目的在於瞭解初學者為何會形成錯誤的心智模 型,並以此為借鏡希望能改進未來之教學,促使初學者形成正確之心智模型及 矯正初學者錯誤之心智模型。 前一節探討使用機器人於程式設計教學,這種不同於以往的方式初學者是 否會因此對程式的理解或特定程式概念產生不同於傳統的心智模型,尚未發現 相關文獻。透過本研究希望能有所發現,為未來運用機器人於程式設計教學做 出貢獻。. 18.

(26) 第三章 研究方法 第一節. 研究設計. 本研究採準實驗設計,目的在瞭解採用機器人程式設計教學成效與態度之 差異,教學方式轉換之後的學習成效與態度以及心智模型。本研究分兩階段實 施,第一階段比較採用不同的機器人(實體機器人、機器人模擬軟體、實體加 模擬)學習程式設計之成效與態度之差異,第二階段比較採用機器人的三組轉 換回傳統程式設計後,與傳統程式設計組之學習成效與態度之差異,以及探討 學生的心智模型。參與實驗的學生分組如下: 1. 實體機器人組(LMR) :以實體機器人為程式設計學習工具,簡稱實體組。 2. 模擬軟體組(LMS) :以機器人模擬軟體為程式設計學習工具,簡稱模擬 組。 3. 實體加模擬組(LMRS) :以實體機器人及模擬軟體為程式設計學習工具。 4. 傳統組(TRA) :施以傳統 Java 程式設計課程。 以下就第一階段及第二階段之研究設計進行說明。. 壹、第一階段研究設計 教學內容以程式設計之基本概念循序、變數、迴圈為主,四組的差別在於 使用的教學工具不同,第一階段使用機器人的三組教材內容完全相同,傳統組 的教材則盡量和機器人三組相呼應,但使用之程式範例則不同。教學活動共計 六個單元(第六單元為程式專題) ,共進行 8 週,每週授課 2 小時。於教學活動 完成後進行學習活動問卷調查及第一階段成就測驗。. 貳、第二階段研究設計 教學內容為較進階的程式設計概念陣列、搜尋。第二階段四組皆使用相同 的傳統程式設計學習環境,但第一階段使用機器人的三組再加上 1 小時的銜接. 19.

(27) 課程。第二階段共進行 3 週共 5 小時,教學活動完成後進行第二階段態度問卷 調查及第二階段成就測驗。於成就測驗結束後,依據二階段測驗結果挑選學生 進行個別訪談。. 第二節. 研究參與者. 本研究之參與者為台北市某高中,未具程式設計經驗之高一學生四班共 145 人,以班為單位分派為實體機器人組(37 人) 、模擬軟體組(37 人) 、實體 加模擬組(35 人) 、傳統組(36 人) 。參與實驗的學生正修習「計算機概論」課 程,絕大多數均未學習過程式設計。該屆學生之學測成績大約在 230 分左右(96 學年入學成績) ,入學後均為常態分班。授課教師為師大資訊教育研究所碩士畢 業,具多年教學經驗及三年的樂高機器車程式教學經驗。課堂觀察者為研究者 本人及本所研究生 2 名。. 第三節. 教學規劃. 以下就本研究所使用之教學環境及教材內容作說明。 壹、教學環境 本研究以教授學生基本程式設計觀念為主,選用 Java 做為教學用的程式語 言,因為 Java 是目前常用的程式語言之一,已有龐大的函式庫可供使用。且 Java 具備物件導向程式(object-oriented)設計的功能,且越來越多的學校選用 Java 作為初學者入門的程式語言(Duke, Salzman, Burmeister, Poon, & Murray, 2000)。雖然 Java 具有物件導向程式設計的功能,但在本研究中教授給學生的 程式設計觀念未涉及物件導向程式設計的觀念,而是使用基本的程式控制結構 來解題。 Java 程式編輯環境採用 Eclipse,因為 Eclipse 是一套 Open source 的程式編 輯環境,而且能夠再依照使用者不同的需求加入各種外掛套件(Plug-in) 。配合. 20.

(28) LEGO Mindstorms 以及模擬軟體皆有對應的資料傳輸及編譯的套件可以選用, 而且已有中文化的介面(曾義智,2007)。圖 3-1 為 Eclipse 程式編輯環境,學 生在解題時僅撰寫程式範例中程式主體的部份,從「程式開始」到「程式結束」 的區域。. 圖 3-1. 程式編輯環境(Eclipse). 貳、教材內容 本研究分二階段進行,以下針對二階段所使用之教材做說明。 一、第一階段教材內容 本階段教授的程式概念包括循序、變數、運算子、判斷、迴圈等,共分為 六個單元,各單元教材內容概要如表 3-1 所示。第一階段使用機器人的三組, 所採用的機器人事前由研究者組合成車子的形狀並已安裝觸碰感應器及光感應 器各一個於固定的位置,在教學活動中不讓學生再自行改裝機器人。由於機器 人三組在第一階段的教學活動中沒有學過程式的輸入及輸出指令,因此在第二. 21.

(29) 階段開始前機器人三組先接受 1 小時的銜接課程。. 表 3-1. 第一階段各單元教材概念表 二組差異. 單元. 概念. 時數. 機器人組. 傳統組. 1. 程式編輯環境 (Eclipse). 2. 傳輸程式到機器車、 程式的基本輸出與輸入 模擬軟體. 2. 循序結構 變數. 2. 機器人基本控制指令 (前進、轉彎). 3. if...else 結構 比較運算子 while 迴圈. 4. 觸碰感應器. 4. while 迴圈. 2. 光感應器. 5. while 與 if…else 綜合應用. 2. 光感應器進階應用. 6. 專題. 4. 機器車走迷宮. JAVA 骰子樂賭場. 二、第二階段教材內容 本階段教授的程式概念包含 for 迴圈、陣列及循序搜尋法,教材內容概要 如表 3-2 所示。教學進行分為三部份:重要觀念介紹、範例題、練習題。教師 先講解重要觀念及範例,然後由學生做練習題。練習題共有 3 題,第 1 題為範 例題的類似題,規定每位學生都應完成,而第 2 題練習題和第 1 題不同,是與 範例題不同的練習題,難度不高,也是規定每位學生都應完成,而第 3 題練習 題比較難的挑戰題,學生完成第 1、2 題後可試做此題,但不要求所有學生都要 做完。 表 3-2 單元. 概念. 第二階段各單元教材概念表 時數. 教學內容. 1. for 迴圈. 2. 應用 for 迴圈做運算. 2. 陣列. 2. 陣列的存入、取出. 3. 循序搜尋法. 1. 循序搜尋法的應用. 22.

(30) 第四節. 研究工具. 本節說明在本研究中所使用的相關研究工具。. 壹、LEGO Mindstorms 機器人 本研究所採用 LEGO Mindstorms RCX 的教育基本組為工具,該組包含的 配件有:1 台 RCX 主機、2 個直流馬達(DC motor)、2 個觸碰感應器(touch sensor)、1 個光感應器(light sensor)、1 具紅外線傳輸器(tower)、1 顆燈泡、 齒輪組及各式積木。整組的售價為 169 美元,目前台灣代理已不再進口因此以 樂高教育網(LEGO Education)美國網站價格表示 (http://www.legoeducation.com/store/)。 RCX 主機全名為「Robotic Command Explorer」為可程化積木(programmable brick)可以接受使用者撰寫的程式,透過紅外線將程式傳輸到 RCX 主機執行。 原廠設定 RCX 可接受 LEGO 公司開發之 ROBOLAB 軟體所撰寫的程式。另有 LeJOS 團隊(http://lejos.sourceforge.net/)開發 RCX 的軔體,讓使用者可以 Java 開發 RCX 的程式。本研究使用 Java 語言,因此 RCX 的軔體採用 LeJOS 的軔 體。 圖 3-2 為 RCX 主機,其上有三組輸入(上方灰色方塊印有 1, 2, 3)及三組 輸出(下方黑色方塊印有 A, B, C) ,輸入部份可連結各種感應器將訊息傳給 RCX 主機,輸出部份可連結直流馬達或燈泡。 本研究中用於輸入的感應器有觸碰感應器(touch sensor)及光感應器(light sensor),輸出部份使用直流馬達。觸碰感應器可以回傳有撞到(true)或沒有 撞(false)到的布林值。光感應器能感測環境的亮度回傳 0~100 的整數,0 為 最暗 100 為最亮。圖 3-3 為本研究中採用之機器人裝配,事前已由研究者裝配 完成,在教學活動進行中不會讓學生變更。. 23.

(31) 圖 3-2. RCX 主機. (a) 側視圖. (b) 俯瞰圖 圖 3-3 機器人及其感應器配置. 貳、Lego Mindstorms Simulator 模擬軟體 機器人的模擬軟體採用由曾義智(2007)中文化並簡化原本由德國 Paderborn 大學開發的模擬軟體 Lego Mindstorms Simulator(LMS)。LMS 能接 受用 Java 程式語言開發的機器人程式(編譯後的 jar 檔) ,配合模擬環境的設定 檔(地圖檔和機器人設定檔)就可以將真實機器車的情境呈現在螢幕上。教師 可將各設定檔連結包裝成一個專案檔,當使用者開啟該專案檔所有相關的機器 24.

(32) 人程式、機器人設定檔、地圖檔,就會自動載入。 圖 3-4 為本研究採用之模擬軟體,授課前教學者需事先備妥專案,包含地 圖、機器人設定檔及機器人程式檔。在教學活動時,當學生將編譯好的機器人 程式傳輸到此模擬軟體之後,即可從模擬軟體載入專案,選取對應的專題,地 圖和機器人就會自動載入,按下開始後就可以看到機器人執行的結果。模擬軟 體亦提供載入地圖的功能(檔案→載入地圖) ,可以讓學生嘗試同一程式在不同 的地圖上的執行結果。. 圖 3-4. Lego Mindstorms Simulator 模擬軟體(LMS). 參、態度問卷 態度問卷目的在了解學生使用樂高機器人、樂高模擬軟體的使用情況以及 針對學生的學習態度進行了解。共施測 2 次,分別於第一、二階段教學活動完 後進行。問卷問題包含程式學習情況及程式學習態度兩方向,詳細問卷內容參 閱附錄一。 第一階段問卷的程式學習情況方面,詢問學生學習活動中的指令學習情 況、學生自行除錯能力、學生解題思考等,三種問題(傳統組 6 題,機器人組. 25.

(33) 7 題) 。程式學習態度方面,詢問學生對學習程式設計的想法、繼續學習程式設 計的意願(共 5 題)。 第二階段問卷的程式學習情況詢問的題目種類和第一階段相同,但在學生 解題思考類增加了一題詢問學生是否需要參考別組的程式碼的題目(共 7 題)。 因為從課堂觀察發現,教學活動進行到後面的單元,漸漸有學生會參考班上比 較高成就的小組的程式碼來解題,經討論後決定加入 1 題詢問學生參考別組程 式碼之情況。程式學習態度方面,題目種類和第一階段問卷相同,但是在第一 階段採用機器人教學的三組,多 2 題詢問學生對於工具轉換的想法(傳統組 4 題,機器人組 6 題) 。第二階段問卷多設計了開放式的問題,用以收集學生對於 本學期學習程式設計的想法,第一階段採用機器人教學的三組多詢問 1 題學生 對於學習工具轉換的想法(傳統組 1 題,機器人組 2 題) 。收集到的資料用以探 討不同的程式設計教學輔助工具對於學生學習程式情況及學習態度之影響。. 肆、課堂觀察記錄 收集每堂課學生上課情況,主要觀察的內容有:教學流程、學習情況、工 具使用。目的在提供後續教學之改善及資料分析時之佐證或解釋,完整的記錄 表請參考附錄二。教學流程是觀察課堂上課的內容及時間分配,學習情況是觀 察學生的學習氣氛及學生常見的困難,工具使用觀察程式編輯環境及各組不同 的教學工具的使用情況、常見的困難及工具可能發生的意外情況。. 伍、授課講義 本研究使用的講義有:第一階段教學講義、第二階段講義、銜接教材,共 3 種。講義的目的在於讓學生學習解題思考,並非專注於語法或程式技巧的學 習,因此講義將學生可能會運用到的語法及技巧都列出來,讓學生可以參考並 運用於解題,詳細講義內容請參考附錄三。 在第一階段四組採用的講義,程式設計的概念都相同(請參考教學規畫), 26.

(34) 依照使用的教學工具不同而有差別。機器人三組的講義以圖片及文字呈現問 題,而三組的講義差別只有在機器人的圖片及迷宮圖(圖 3-5) ,實體機器人組 是實體機器人的圖和實體迷宮圖(圖 3-5(a)) ,模擬軟體組是模擬軟體的機器人 和迷宮圖(圖 3-5(b)) ,實體加模擬組則是兩種圖都呈現。傳統組方面則以文字 及該題要求的輸出結果呈現題目。程式概念在前五單元就全數上完,第六單元 為程式專題。專題的目的是讓學生綜合學習的內容,應用在解題上。. (a) 實體機器人組. 圖 3-5. (b) 模擬軟體組. 機器人組講義圖片之差異. 銜接教材是為了讓第一階段使用機器人的三組,能補足傳統程式設計環境 的輸入及輸出指令而設計。題目的呈現方式和第一階段的方式相同,都是以文 字和預期輸出結果來呈現。 第二階段四組都採用同樣的講義,題目呈現方式以文字及輸出的結果,詳 細講義內容請參考附錄四。. 陸、成就測驗 本研究共進行二次的成就測驗,分別於各階段進行完之後。測驗卷題目的 設計,主要分為兩個部份,第一部份為理解程式,測驗學生是否能正確瞭解題 目的程式碼;第二部份為設計程式,要求學生撰寫程式碼解題。 一、第一階段成就測驗 依照各組使用的教學方式設計題目,機器人三組是針對樂高機器人情境的. 27.

(35) 問題,而傳統組是以傳統程式設計問題,四組所測驗的程式設計概念都相同。 本階段僅分析機器人三組之成績,傳統組同樣進行測驗但不進行分析。 機器人組的測驗的總分為 26 分,第 1 至 3 題為理解程式的題目共 12 分, 第 4、5 題為設計程式的題目共 14 分,測驗題目的概念及給分方式如下表 3-3 所示(詳細的測驗題目請參考附錄五)。. 表 3-3. 第一階段成就測驗命題概念及給分標準對照表. 題號. 概念. 給分標準. 1. 變數. 轉的角度正確+1 轉的方向正確+1 完全正確+1. 2. if… else. 使用 if 結構正確+2 圖形正確+1 完全正確+1. 3. while 迴圈. 執行次數正確+2 完全正確+1. 4. if else 判斷式實作. 每行 if… else 正確+1 每個 if…else 的內容正確+1 while 使用正確+2. 5. while 及 if else 的綜合應用 能走黑色軌跡+2 能走碰撞迷宮+2 能走完全程+3. 二、第二階段成就測驗 在第二階段四組的教學都相同,因此測驗卷相同。測驗卷的總分為 24 分, 前面第 1~3 題為理解程式題共 11 分,第 4、5 題為設計程式題共 13 分,各題的 設計概念及給分標準如下表 3-4 所示(詳細的測驗題目請參考附錄六)。. 28.

(36) 表 3-4 題號. 第二階段成就測驗命題概念及給分標準對照表. 概念. 給分標準. 1. if…else、while、for 的應用 每子題答對給+1. 2. 陣列的操作. 每子題答對給+1. 3. for 迴圈 變數的累加. 第一子題正確+2,執行次數只差一次+1, 其餘 0 分 第二子題輸出正確給+2,其餘 0 分. 4. if…else 的程式實作. 輸入正確+1 變數宣告正確+2,有小瑕疵+1 變數運算正確+1 輸出正確+1 程式能正確執行+2. 5. 陣列的操作 循序搜尋法. 正確輸出+2,有小瑕疵+1 正確使用 for 迴圈+2,臨界值有誤+1 程式能正確執行+2,有小瑕疵+1. 柒、個別訪談問卷 在所有教學活動進行完之後,針對成就測驗中及課堂觀察可能具有特別心 智模型的參與者進行 5~10 分鐘的個別訪談。受訪者在接受訪談時同時會填寫 一份訪談問卷,詢問受訪者對於特定程式設計概念,while 迴圈、if else 判斷式、 變數等,關於以上概念的所有想法,且訪談的對話皆錄音。. 29.

(37) 第五節 實施步驟 本研究教學實驗分二階段,共計 24 小時,詳細的實施流程如下圖 3-5 所示。. 實體機器人組. 模擬軟體組. 實體加模擬組. 傳統組. 機器人程式設計教學. 傳統 Java 教學. 第一階段態度問卷與成就測驗實施 (機器人程式設計). 第一階段 態度問卷與成 就測驗實施 (傳統程式設計). 銜接課程. 傳統 Java 教學(進階内容). 第二階段態度問卷與 成就測驗實施. 個別訪談. 圖 3-5. 教學實驗實施步驟. 壹、機器人程式設計教學 本研究中實體組、模擬組、實體加模擬組,三組採用機器人程式設計教學 共進行 16 小時 6 個單元的教學活動。三組的講義範例及習題皆完全相同。. 30.

(38) 貳、傳統 Java 教學 傳統組採用傳統 Java 教學與機器人三組同樣進行 16 小時 6 單元的教學活 動,各單元講授的觀念皆與機器人程式設計教學相同,但程式範例不同。. 參、第一階段態度問卷與成就測驗實施 態度問卷於第一階段的最後一堂課結束前 10 分鐘進行,詢問研究參與者對 機器人程式設計或傳統程式設計學習活動的態度。第一階段的教學活動結束 後,進行 1 小時的成就測驗。. 肆、銜接課程 此部份針對採用機器人程式設計教學的三組,於成就測驗後加上 1 小時的 銜接教材,主要內容為傳統 Java 使用的 Eclipse 介面、鍵盤輸入方法、螢幕輸 出方法,以補足與傳統組之差別。. 伍、傳統 Java 教學(進階內容) 至此,各組所學的程式設計概念都相同,四組開始學習相同的 Java 教材, 共計進行 5 小時的學習活動。. 陸、第二階段態度問卷與成就測驗實施 在進階內容最後一堂課結束前 10 分鐘進行,先學習機器人程式設計教學的 三組在問卷中會多出 2 題和機器車有關的題目及多 1 題開放式題目。於第二階 段教學及問卷結束後,進行 1 小時的成就測驗,四組題目皆相同。. 柒、個別訪談 在所有教學活動及測驗結束後,根據二次成就測驗的結果,挑選可能具有 特別心智模型的參與者進行每人 5~10 分鐘的個別訪談。 31.

(39) 第六節 資料分析 本研究收集的資料包括二階段成就測驗成績、二階段態度問卷結果、個別 訪談的錄音及問卷記錄、程式專題的程式碼。各項資料的分析方式描述於下。 本研究統計考驗均採用 α= .05 的顯著水準。. 壹、成就測驗分析 第一階段成就測驗,機器人程式設計教學的三組測驗題目相同,而傳統組 所測概念雖相同,但題目則不同。故而,本階段僅比較機器人三組成就的差異。 分析時,分別針對理解程式、設計程式、總分三部份進行變異數分析(ANOVA) , 若達顯著差異再進行事後考驗分析(Post hoc) 。第二階段成就測驗四組題目皆 相同,分析時針對理解程式、設計程式、總分等成績進行變異數分析若達顯著 差異再進行事後考驗分析。此二階段成就測驗的設計程式題也用來分析學生可 能具有的心智模型。. 貳、態度問卷分析 第一、二階段問卷結果都採變異數分析檢定四組之間的差異,其中機器人 三組特有的問題,則僅對三組的資料進行變異數分析。第一階段、第二階段態 度問卷相同的題目則採用 t 檢定考驗各組在前、後二階段態度的差異。 第二階段態度問卷中的開放式題目則用以佐證成就測驗及學習態度分析所 得結果。. 參、個別訪談的錄音及問卷分析 錄音部份轉換為逐字稿後,配合個別訪談問卷、專題程式碼、第一及第二 階段成就測驗考卷,用來解釋受訪者對於特定程式設計概念的心智模型。. 32.

(40) 第四章 結果與討論 本章分機器人程式設計、傳統程式設計、心智模型三方面的實驗結果來討 論。於實驗過程中發現實體機器人組一名參與者在實驗前已具備程式設計概 念,因此其成就測驗、問卷皆不採用。機器人程式設計針對第一階段使用機器 人的三組進行分析。傳統程式設計針對四組於第二階段進行之傳統程式設計, 以及機器人三組之工具轉換進行分析。心智模型針對使用機器人或傳統程式設 計的學生,其具有之特別的心智模型進行分析。. 第一節. 機器人程式設計. 本節針對第一階段機器人三組的成就測驗及學習活動問卷進行分析。. 壹、成就測驗 使用機器人程式設計的三組(實體機器人組、模擬軟體組、實體加模擬組) 之成就測驗變異數分析結果如表 4-1。. 表 4-1. 機器人程式設計成就測驗變異數分析結果 N. M. SD. 實體加模擬組. 35. 19.800. 3.802. 實體組. 35. 18.200. 4.458. 模擬組. 35. 17.229. 4.869. 組別. F 3.050. p .052. 各組成就測驗的表現並未達顯著差異,以平均分數來看實體加模擬組的表 現最佳(19.8),其次是實體機器人組(18.2),最後是模擬軟體組(17.229)。 測驗卷滿分為 26 分若以 100 分為滿分的觀念說明,實體加模擬組平均為 76 分, 實體組平均為 70 分,模擬組為 66 分。針對各組在理解程式及設計程式成績進 一步分析,變異數分析結果如表 4-2 及表 4-3。在程式理解部份,各組間並未. 33.

(41) 達到顯著差異;但是在程式實作部份有顯著差異,因此對程式實作部份再進行 事後考驗,採用的是 Tukey's method,結果如表 4-4。. 表 4-2. 機器人程式設計成就測驗變異數分析結果─理解程式 N. M. SD. F. p. 實體加模擬組. 35. 10.114. 2.083. .627. .536. 實體組. 35. 9.514. 2.454. 模擬組. 35. 9.571. 2.831. 組別. 表 4-3. 機器人程式設計成就測驗變異數分析結果─設計程式 N. M. SD. F. p. 實體加模擬組. 35. 9.686. 2.988. 3.752. .027*. 實體組. 35. 8.686. 3.123. 模擬組. 35. 7.657. 3.180. 組別. 表 4-4 組. 設計程式部份之事後考驗結果(Tukey's method) 別. 實體加模擬組. 實體加模擬組. 實體組. 模擬組. -. 實體組. .371. -. 模擬組. .020*. .350. -. 從事後比較的結果發現,在程式實作部份實體加模擬組的表現(平均 9.686) 優於模擬組(平均 7.657),但與實體組無顯著差異(平均 8.686)。設計程式部 份滿分為 14 分,若以滿分 100 分的觀念來看,實體加模擬組為 69 分,模擬組 為 54 分。此結果並未獲得具體之結論,由實體加模擬組優於模擬組,且實體加 模擬組未明顯優於實體組看來,顯然實體機器人發揮其功效。然而實體組無顯 著優於模擬組又顯示只採用模擬軟體並不一定有效,顯然實體機器人有其功 效,但採用實體機器人配合模擬軟體之功效更佳。 從課堂觀察發現,實體加模擬組及實體組在執行程式時,必需將程式傳輸 到機器人然後集中在教室前方或後方的迷宮實測,在實測過程中學生之間會互. 34.

(42) 相討論。模擬組在機器人程式執行都是在自己的電腦上,所以討論的情況相較 於實體加模擬組及實體組明顯較少。. 貳、學習活動問卷 問卷分為 2 部份,第 1~7 題主要詢問學生程式設計學習情形,第 8~12 題 為學生學習態度的問題。以下就以此二部份來呈現機器人三組的問卷結果。 一、學習情形 表 4-5 為程式設計學習情形部份的變異數分析結果。其中瞭解活動中的機 器車指令(第 1 題)及可以找出程式的錯誤(第 7 題)達到顯著差異,因此再 進行事後考驗。第 1 題事後考驗的結果如表 4-6,三組間並無顯著差異。. 表 4-5. 第一階段學習情形變異數分析結果 N. M. 實體加模擬組. 33. 4.394. .659. 實體組. 35. 3.971. .857. 模擬組. 32. 3.969. .861. 實體加模擬組. 33. 3.636. .895. 實體組. 35. 3.457. .950. 模擬組. 32. 3.156. .847. 實體加模擬組. 33. 3.879. .650. 實體組. 35. 3.486. .853. 模擬組. 32. 3.469. .842. 實體加模擬組. 33. 3.212. .696. 實體組. 35. 2.743. .852. 模擬組. 32. 2.969. .695. 實體加模擬組. 33. 3.636. .699. 後,我比較知道程式的錯誤. 實體組. 35. 3.400. .946. 在哪裡. 模擬組. 32. 3.406. .911. 實體加模擬組. 33. 3.394. .704. 實體組. 35. 3.286. .750. 模擬組. 32. 3.219. .792. 實體加模擬組. 33. 3.364. .603. 實體組. 35. 3.086. .818. 模擬組. 32. 2.969. .695. 問題 1.我能夠瞭解學習活動中機器 車相關的指令. 2.我能瞭解學習活動中的 java 指令. 3.由閱讀程式碼我就可以想像 出機器車可能的執行結果. 4.我可以自己找出程式的錯誤. 5.看了機器車執行我的程式. 6.我能夠想出問題的解法. 7.我能夠將解法寫成程式碼. 組別. 35. SD. F. p. 3.115. .049*. 2.358. .100. 2.869. .062. 3.288. .042*. .814. .446. .454. .637. 2.646. .076.

(43) 表 4-6 第一階段問卷第 1 題之事後考驗結果(Tukey' method) 組. 別. 實體加模擬組. 實體組. 模擬組. -. 實體加模擬組 實體組. .080. -. 模擬組. .086. 1.000. -. 第 4 題「我可以自己找出程式的錯誤」事後考驗結果如表 4-7。實體加模 擬組(3.212)對找出程式中的錯誤比實體組(2.743)更有自信,達顯著差異, 但兩者與模擬組(2.969)之間並無顯著差異。研究者對於此題的結果感到訝異, 雖然實體組學生自覺比較較沒有自信找到程式的錯誤,但是從成就測驗的成績 看來,實體加模擬組的成績和實體組成績在總分、理解程式、設計程式方面都 未達顯著差異。為何在問卷會有差異,仍有待進一步探討。. 表 4-7. 第一階段問卷第 4 題之事後考驗結果(Tukey' method) 組. 別. 實體加模擬組. 實體加模擬組. 實體組. 模擬組. -. 實體組. .032*. -. 模擬組. .398. .442. -. 二、學習態度 學生學習態度部份的問題為第 8 題到第 12 題,變異數分析結果如表 4-8 所 示。學生學習態度部份各題均未達到顯著差異。在第 8 題「看到機器車執行我 的程式,我覺得很有成就感」各組的平均分數都在同意(4 分)以上,表示機 器車程式設計能帶給學生成就感。第 11 題「我覺得機器車程式設計學習活動很 有挑戰性」各組的平均分數(3.9 分以上)均屬同意,表示學生普遍覺得程式設 計具挑戰性。. 36.

(44) 表 4-8. 第一階段問卷學生學習態度各組平均分數及變異數分析結果. 問題 8.看到機器車執行我的程式,我覺 得很有成就感. 9.碰到有點難度的問題我會想要 嘗試解題. 10.我覺得機器車程式設計很好玩. 11.我覺得機器車程式設計學習活 動很有挑戰性. 12.我希望學更多的程式設計. N. M. SD. 實體加模擬組. 33. 4.333. .692. 實體組. 35. 4.200. .994. 模擬組. 32. 4.469. .915. 實體加模擬組. 33. 3.364. .742. 實體組. 35. 3.314. 1.022. 模擬組. 32. 3.219. .941. 實體加模擬組. 33. 3.545. .666. 實體組. 35. 3.514. 1.173. 模擬組. 32. 3.313. .998. 實體加模擬組. 33. 3.939. .659. 實體組. 35. 3.943. .938. 模擬組. 32. 3.906. .893. 實體加模擬組. 33. 3.606. .864. 實體組. 35. 3.629. 1.215. 模擬組. 32. 3.125. .833. 組別. F. p. .782. .460. .212. .810. .550. .579. .019. .981. 2.685. .073. 第 8 題(4.2 以上) 、第 11 題(3.9 以上)的分數都在同意附近,而且第 12 題實體加模擬組和實體組的分數也在 3.6 以上,表示使用實體機器人的學生學 習程式設計的態度相當正向。但是從第 1 題(3.9~4.4)學生瞭解機器人的程式 指令,但第 4 題(2.7~3.3)和第 7 題(2.9~3.4)學生除錯能力及演算法思考能 力沒有很好,表示學生信心不足。研究者認為可能的原因在於練習時間不足, 從課堂的觀察發現,越後面的單元學生做練習題的完成度下降,在前三單元半 數以上的學生都可以做完所有習題,但是到單元四、五,僅剩少數的學生能完 成所有習題。若能增加時間,排除課業的壓力,有可能因為學生學習的成就感、 趣味性和挑戰性,產生不一樣的學習結果,增進學生的信心。. 參、小結 整體而言,成就之總分及理解程式部份差異不大,但在設計程式方面實體 加模擬組(9.686)的成績優於模擬組(7.657)達顯著差異。對活動之看法包括. 37.

(45) 自己的學習情形及學習態度方面也無顯著差異,唯一的差異在於「我可以自己 找出程式的錯誤」實體加模擬組(3.212)比實體組(2.743)更有自信。 綜合學習活動問卷的結果發現,學生對於機器人程式設計持正向的態度, 但對程式設計的信心不足。此一現象可能原因來自於學生程式設計的練習不 足,若能增加學生練習的時間或是排除學生本身課業考試等因素,利用機器人 帶給學生的成就感、趣味性、挑戰性,可能會有不一樣的結果。. 38.

(46) 第二節. 傳統程式設計. 本節討論各組學習傳統程式設計的成就與態度差異,主要可以從第二階段 的成就測驗、態度問卷、二階段問卷的前後比較來說明。. 壹、成就測驗 在第二階段的教學各組所學習的內容皆相同,採用的測驗試題也都相同。 以下就以總分、理解程式、設計程式三部份進行比較。各組的傳統程式設計成 就測驗變異數分析結果如表 4-9。總分滿分 24 分的成就測驗,若以 100 分的觀 念來看,實體加模擬組為 53 分,實體組為 47 分,模擬組為 57 分,傳統組為 65 分。變異數分析結果達到顯著差異,因此再進行事後考驗,結果如表 4-10。. 表 4-9. 傳統程式設計成就測驗變異數分析結果 N. M. SD. F. p. 實體加模擬組. 35. 12.943. 5.313. 4.933. .003*. 實體組. 35. 11.400. 4.622. 模擬組. 35. 13.886. 4.255. 傳統組. 35. 15.629. 4.602. 組別. 表 4-10 組. 傳統程式設計成就測驗事後考驗結果(Tukey's method). 別. 實體加模擬組. 實體加模擬組. 實體組. 模擬組. 傳統組. -. 實體組. .521. -. 模擬組. .837. .127. -. 傳統組. .085. .001*. .413. -. 事後考驗的結果發現傳統組(15.629 分)高於實體機器車組(11.400 分) 並達顯著差異,這樣的結果可能和教材轉換有關。傳統組所採用的程式設計環 境二階段都相同,對 Java 程式的輸入輸出指令也較熟悉;而機器人三組雖然有 加上一小時的銜接課程,讓學生熟悉傳統 Java 的輸入輸出部份,但是仍不如傳 39.

參考文獻

相關文件

This study focuses on the need of walking to school for middle-grades students and designs related teaching plans.This study firstly conducts a questionnaire

Lin-ya Hong (2009), “Effects of Enterprise Resource Planning (ERP) Systems Adoption on Production Performance in Manufacturing Industry -- using A Multinational Plastic

(計畫名稱/Title of the Project) 提升學習動機與解決實務問題能力於實用課程之研究- 以交通工程課程為例/A Study on the Promotion of Learning Motivation and Practical

This study aimed to establish the strength models of High-Performance Concrete (HPC) at different ranges of water binder ratio (W/B) using Genetic Operation Trees (GOT),

By using Balanced Scorecard (BSC), the purpose of this study is to construct indicators of school management with Analytic Hierarchy Process (AHP) for L junior high school in

This research investigated the effects of frequency and lifting/lowering heights on the maximal acceptable weight of handling (MAWH) and perceived exertion when wearing

Therefore, in this project, to explore whether using Perusall combined with Zuvio IRS can help to strengthen the learning effect of flipped teaching and improve students'

The purpose of this study was to explore the effects of learning organization culture on teachers’ study and teaching potency in Public Elementary Schools.. The research tool of