第三章 研究方法
第三節 研究工具
本研究所使用的工具包括LEGO mindstorms機器車、程式設計編譯軟體-
eclipse、程式設計教學講義、態度問卷、成就測驗、受試者撰寫程式時的螢幕錄 製片段及個別訪談問卷。本節將詳細說明本研究中所使用到的各工具。
壹、 LEGO Mindstorms機器車
坊間販售的機器人眾多,其中以LEGO Mindstorms接受度最高,也最為人們 所知曉,因為LEGO Mindstorms的前身即為靜態積木產品(LEGO),透過適當 的組合,兒童可創造出許多不同形狀的物品,展現學童的想像與創意,反應出對 真實世界的揣摩(田耐青,1999),因此。本研究採用的型號為LEGO Mindstorms
23
RCX(Robotics Command Explorer)。LEGO Mindstorms RCX整組售價折合台幣 約6000元,尚在可接受的範圍內,但台灣代理目前不再進口,改以功能更高階的 LEGO Mindstorms NXT取代之,但LEGO Mindstorms NXT整組要價超過1萬元台 幣,雖然功能更趨強大,但外型套件已失去樂高積木之原味(如圖3-1所示)。再 者基於成本考量,因此本研究仍沿用LEGO Mindstorms RCX做為研究教學工具。
樂高公司提供一台RCX主機(如圖3-2)、直流馬達、觸碰感應器(touch sensor)、光感應器(light sensor)、紅外線傳輸器(IR Transceiver)以及各式齒 輪組及積木。使用者可自行組裝出心目中的機器人,並可自行撰寫程式,透過紅 外線傳輸器將程式傳輸至機器人以操縱其的動作。所謂的RCX即為可程式化積 木,內部建有一16MHZ的中央處理器Hitachi H8,及32KB的記憶體,可用來處理 與儲存傳入的程式,RCX可透過紅外線傳輸器接受使用者所撰寫的程式,用以操 縱機器人的動作。通過RCX,學生不需要像操作其他機器人一樣,必須先了解硬 體架構再設計電路板,之後才學習設計程式操縱機器人,因此可減少學生認知上 的負荷。
圖3-1 LEGO Mindstorms NXT 組裝範例
24
由於本研究目的主要是了解LEGO Mindstorms前導組織是否能夠提升學生 學習成效,為了能夠使學生專注於程式設計的撰寫而非樂高積木的組裝設計,因 此研究者已在實驗前先行將樂高積木組裝成機器車狀(如圖3-3),在教學活動過 程中不會讓學生自行變更,並排除所有與程式設計無關的學習因素(例如使用前 必須先校正樂高馬達轉速值,但研究者亦於實驗前先行校正之),以將學生學習 程式設計單純化。且未免混淆,爾後本研究將以機器車而非機器人稱呼之。機器 車組裝及感應器的配置詳細說明如圖3-4。
圖 3-2 RCX 可程式控制器 圖 3-3 組裝機器車示例
圖 3-4 機器車及其感應器配置
25
貳、 程式設計編譯環境
雖然機器車可以圖形化的程式設計編譯環境操縱,例如樂高公司所提供的 ROBOLAB軟體,利用拖拉視覺化的圖形指令來操控機器車,此法雖然能夠使學 生很輕易的操縱機器車,但無法讓學生進一步學習程式設計的語法及對程式語言 有先修的認識,也會造成學生在往後銜接到傳統Java程式語言時,會有在學習兩 種語言、兩種軟體的錯覺。因此本研究希冀採用一般程式語言環境來操控機器車 再者由於Java為目前最常用的程式語言之一,且為多所大學資訊相關科系之入門 語言,因此採Java做為本研究教學用的程式設計語言。
本研究採用eclipse做為Java程式語言的編譯環境,因為eclipse是由IBM所釋 出的一套免費且開放源碼(open source)的程式設計編譯環境。並且使用者只要 根據eclipse的架構,透過外掛程式(plug-in)即能擴充到任何語言的開發,甚至 能成為圖片繪製的工具。因此,LEGO Mindstorms的編譯相關套件及對應的資料 傳輸皆可透過外掛程式與之結合。以往學生撰寫機器人程式後,無法直接將程式 編譯為適用於RCX上的Java程式及直接驅動RCX的韌體,因此學生必須透過繁瑣 的傳輸步驟搭配特定介面軟體(例如LeJOS)以編譯Java語言並驅動機器車。而 曾義智(2007)已整合LEGO Mindstorms的開發、傳輸套件於eclipse之中,學生 可於其開發的Eclipse編譯環境中直接將所撰寫的程式傳輸至機器人中,而不需像 以往經過兩個以上的傳輸介面才能夠將程式傳輸至機器車;且本編譯環境不只用 於機器車程式撰寫,亦可做為一般Java撰寫編譯的環境,因此實驗組進入傳統程 式設計時亦使用相同介面,不需轉換編譯環境,降低學生學習兩套軟體的學習負 擔以利教學內容銜接;再者,曾義智(2007)將eclipse中文化以利學生使用,因 此本研究採用其所開發的中文化eclipse做為程式設計編譯環境。為了將指令單純 化,使學生學習基本的程式控制結構,原先物件導向程式必須設定類別(class)
及呼叫函式庫的指令研究者皆已先行建置於程式中,學生在解題時,學生僅需要 從「程式開始」到「程式結束」進行程式撰寫,意即程式主體架構的部分。Eclipse
26
程式編譯環境介面及重要操作介紹如圖3-5所示。
參、 程式設計講義
本研究使用的講義有機器車前導組織講義及傳統Java程式設計講義。講義僅 作為輔助課程教學並歸類為參考用,因此講義將學生可能會用到的所有語法及技 巧皆條列出來,當學生未跟上教學進度,或是未熟記語法指令時可供參考。
機器車前導組織講義僅用於實驗組,使用時間為第一週共兩節課的時間,講 義上詳列所有課堂中會使用到操控機器車的指令,並以圖示加上敘述,條列出教 師指派的迷宮任務,且提供想法撰寫區,教師將帶領學生先思考解題步驟在進入 程式撰寫的過程。詳細的講義內容可參考附錄D。
傳統Java程式設計講義用於實驗組及控制組。控制組在教學過程的1到7週皆 使用本講義。而實驗組則是在第2周開始才使用本講義,使用時間為6週,較控制
程式撰寫區
編譯過程中若有 bug 將顯示於此 按下此功能紐可直接 將程式透過紅外線傳 輸器傳輸至機器人。
圖 3-5 程式編譯環境
27
組少1週。而兩組使用的傳統Java程式設計講義內容完全一樣,但為了平衡兩組 教學時間,控制組的講義多了1題變數及循序結構的綜合隨堂練習題。詳細的講 義內容可參考附錄E。
肆、 態度問卷
問卷的發放時間為實驗的最後一週(第8週)。問卷問題包含學生程式學習情 況及學習態度兩方面。兩組問卷有12題重覆,主要是詢問學生對於傳統程式設計 的想法,在學習情況方面分為3大類,詢問學生對於指令學習情況(1題)、除錯 能力(2題)、是否有能力自行規劃程式(3題);在學習態度方面,主要是想了解 學生對於學習程式設計的想法以及是否具備繼續學習程式設計的意願(共5題)。
並且,研究者刻意於態度問卷設計相同題目但是問法相反(我覺得程式設計很好 玩、我覺得程式設計一點也不好玩),以檢驗學生填寫問卷的一致性。而實驗組 較控制組多了4題,此部分主要是針對學生對機器車的看法、了解學生觀感以及 機器車是否有助於其學習程式設計。詳細問卷題目請參閱附錄A、B。
伍、 成就測驗
成就測驗於實驗第八週進行。實驗組及控制組皆採用完全相同的成就測驗題 目,詳細的測驗題目請參考附錄C。測驗的目的主要是學生為了瞭解學生學習程 式設計的成就,以及用以探討學生所形成的心智模型。成就測驗分成兩個部分,
第一部分為理解程式,主要是了解學生是否能正確的理解程式的執行過程,及每 一行所代表的涵義。第二部分為設計程式,主要是要看學生是否能針對題目設計 演算法並撰寫程式碼。測驗題目的概念及評分標準如表3-1所示。
28
29
生中,兩組各挑選出來8-10名學生,利用其課餘時間進行個別焦點訪談,時間為 成就測驗後一週。且在訪談過程中會請學生填寫一份訪談問卷,內容包括詢問學 生在對於程式設計的概念,以及機器車對於該生在學習程式設計上扮演了何種角 色,並配合其成就測驗答案卷及專題程式碼,深入了解該生在成就測驗以及教學 過程中是因具備何種心智模型使其撰寫不同於正確解答的特殊答案。