• 沒有找到結果。

第四章 結果與討論

第一節 教學實施結果

本節主要介紹單元一至單元六的教學實施情形。各單元描述的重點,包含教 學概要、課堂觀察、實施結果以及教學省思與調整等項目。而各單元的教學觀察,

以學生操作 LEGO NXT 機器人 3D 模擬軟體撰寫程式的過程為紀錄重點。

壹、單元一教學 一、教學概要

單元一的教學目標為學習如何撰寫程式,藉由機器人的移動指令,來了解程 式執行的基本觀念與流程,並且熟悉程式語言的基本語法。設定的問題情境是:

設計程式讓機器人可以在地板上前進、後退共折返 2 次,並且嘗試改變它行走的 速度。在說明完教學目標與問題情境後,進行示範以及講解解題方法與程式設計 的概念。在教學過程中,因為學生是第一次撰寫程式,因此在循序結構的概念,

程式指令語法的使用上,給予逐步引導與解釋,務必要讓學生充分了解。並且也 藉由實際操作,熟悉使用模擬軟體進行程式設計的步驟。

二、課堂觀察

在實作過程中有部分學生遭遇到問題如:指令語法錯誤、看不懂錯誤訊息、

對指令用法不夠熟悉,以致於發生誤用指令,與模擬軟體不明原因突然當掉,導 致電腦需要重新啟動等情形。大多數的學生反應熱烈,能夠投入在學習活動中,

甚至有學生在完成基本練習之後,嘗試使用更多指令或修改參數,觀察程式執行 的結果有什麼變化,例如:學生對模擬環境感到好奇,調整視野進行探索;有學 生嘗試修改指令,令機器人故意去撞環境中的物品,製造有趣的事件;也有學生 使用老師尚未講解的指令,使用轉彎指令讓機器人改變前進方向,引起同學間的 注意與討論。

三、實施結果

依據實作心得紀錄,學生完成解題的實作情形如表 4.1。

表 4.1 直線折返車實作結果統計(N=84)

單元名稱 正確執行 程式有誤

直線折返車 98% 2%

從學生的心得紀錄中發現,大部分的學生對程式設計有正面的第一印象,例 如:

「第一次寫程式,一開始還蠻多錯誤的,不是一直前進就是不會動,不過完 成之後就有莫名的成就感,希望之後可以學到更多有挑戰性的東西。」

「好興奮,第一次寫程式,還想嘗試看看更多動作喔!」

「第一次撰寫程式設計,雖然感覺蠻簡單的,但後來可能會漸漸複雜化吧!

不過這次的程式設計體驗還是很好玩很有趣!」

「以前的老師沒教過,所以很新奇,今天學的難度也不會太高,很適合初學 者,本來一聽程式設計就覺得是很複雜的東西,完全提不起興趣,但覺得看機器 人動起來的樣子其實很有趣,希望以後可以學更多,但也不要教太難的啊!」

總結而言,大部分的學生覺得課程活動很有趣;看到機器人正確運作時覺得 有成就感;對電腦下達指令而機器人就會動起來覺得很神奇;發現程式設計沒有 原先想像的那麼困難等。

四、教學省思與調整

分析學生的課程反應與回饋,研究者認為使用 LEGO NXT 機器人 3D 模擬軟 體進行程式設計教學給予學生的第一印象是正向的。範例難度以第一支程式而言 是合適的,可以達成學習基本觀念的學習目標,過程中也能掌握學習進度,學生 有時間透過修改程式與調整模擬軟體的視野,進行探索學習,同時亦展現了對程 式設計的好奇心。

研究者進行以下的調整來降低學生在學習過程中遭遇的困難。一是在講解指 令的過程中,實際帶領學生撰寫一遍,讓學生比較不同指令的差異,例如同樣是 移動指令,forward()沒有帶參數,而 travel(x)則需要有參數。二是提醒語法的正確 性,因為學生第一次寫程式,對程式的指令語法不熟悉,因此在講解過程中,向 學生說明要特別留意加入分號的時機與括弧是否有成對,如此一來學生在實作時 遇到此類問題的情形會比較少。三是學生對程式的錯誤訊息不了解,因此老師可 以故意製造一個程式錯誤,示範如何除錯,如何透過錯誤訊息發現語法錯誤的位 置並進行修改。

貳、單元二教學 一、教學概要

單元二的學習目標為如何使用機器人的移動指令-轉彎以及程式設計的重複 結構。設定的問題情境是,設計程式讓機器人可以在地板上前進、右轉,走一個 正方形的軌跡回到原位。為了引導學生感受到迴圈指令的功能,先採用一個指令 一個動作的方式,循序完成機器人的動作。接著講解在有規律的情況下,可以利 用重複結構簡化這個過程,因此帶入 for 迴圈的概念。要求學生在完成基本練習之 後,修改程式,例如嘗試調整指令的參數大小,改變行走的距離與旋轉角度,讓 機器人可以在房間裡自動進行巡邏。

二、課堂觀察

學生在實作過程中,學習氣氛是輕鬆的,能夠投入學習活動,並且跟老師與 同學進行討論。例如有學生故意使用轉彎指令,設計大角度轉彎並加速前進的動 作,造成機器人甩尾翻車,引來同學的好奇與笑聲。部分學生也能在完成基本練 習之後,嘗試修改程式,不再只是受限於老師原先給予的操作示範,能夠自行發 揮創意,以自己的設計方式,令機器人進行巡邏。由於在講解指令時,特別比較 不同指令的差異,以及說明錯誤訊息如何閱讀,學生在撰寫程式時發生的錯誤比 較少。

三、實施結果

學生實作情形如表 4.2。

表 4.2 自走巡邏車實作結果統計(N=84)

單元名稱 正確執行 程式有誤

自走巡邏車 96% 4%

從學生的心得紀錄中發現,學生對於程式設計的感受逐漸加深,例如:

「要是不清楚自己要什麼樣的程式,就沒辦法確實完成任務,僅僅是一個符 號或字母,整個程式就會錯誤無法執行。終於打出正確的程式時,有種成就感。」

「新學的迴圈跟上次比起來就有趣多了,變化比較多。有了上次的體驗,感 覺這次就變的比較容易上手,而且我隔壁的同學還能讓車子跌倒真是太厲害!有 不同的想法想試試看,會不會有出乎意料的事發生!非常有趣~」

「for 好好用,車子也可以繞長方形的,改角度還會到處跑,指令變得很簡單,

很方便使用,不用複製貼上一大串。」

「用了兩種不同的方法執行了同一個動作,原來可以用不同的方式完成,而 不是只有唯一一種方法,對程式設計有更多的了解。」

另外,有學生覺得使用重複結構很聰明,可以減少步驟,也令機器人增加智 慧,可以做更多的事情。也有學生認為,從設計到執行的過程,可親自體驗程式 設計的感覺,相當新鮮且有成就感。甚至有學生表示,想要學習更多程式設計。

四、教學省思與調整

從教學過程中發現,機器人模擬軟體有助於學生理解重複結構的概念,可以 讓教學者藉由學習活動,很自然地把重複結構引導出來,並且從實際觀察機器人 的執行過程中,了解重複結構抽象的運作步驟。在撰寫程式方面,由於採用傳統 撰寫程式碼的方式,指令的語法結構對於初學者而言,有一定的複雜度,因此必 須小心謹慎地講解說明,例如運用變數控制迴圈的執行次數,會涉及到變數與運 算概念,如果有充分的時間,最好加強說明這些概念,雖然不見得要全盤托出(例 如變數型態可以只講整數),但至少與學習目標相關的部分,應該盡量說明清楚。

也因如此,在教學內容與時間的掌握上,教學者必須特別留意,教學內容的難度 與份量,以及教學現場裡可能會有的意外影響因素,例如在示範時,等待模擬器 執行所造成的時間消耗等,都必須納入課程規劃的考量中。

另外,可以在實作中增加開放性問題,讓學生自行設計問題,描述問題情境 並說明如何解決,增加實作的變化性,激發學生的創意與樂趣。

参、單元三教學 一、教學概要

單元三的學習目標為如何使用機器人的光源感應器,以及程式設計的選擇結 構(條件判斷)。首先說明問題情境,由教師示範執行的結果,幫助學生理解問題。

接著對於問題情境進行分析與思考:機器人是如何沿著黑線前進,以至於可以繞 行整個橢圓形軌道。引導學生使用光源感應器,並講解指令與用法,以及選擇結 構的語法與用途。其中,光源感應器在偵測到黑色時數值約為 0,而白色時數值約 為 80,若要進行條件判斷,則需要加入臨界值的觀念。講解完畢,讓學生進行實

作練習,可以提示學生,嘗試改變機器人行走的速度與方法,使得它能夠走得越 順暢、花越少時間越好。

雖然程式碼只有短短幾行,但是這支程式包含了理解機器人沿著黑線前進的 方法,以及選擇結構的抽象概念,有一定的複雜度,因此教學時,可試著運用流 程圖幫助學生理解程式的邏輯結構。

二、課堂觀察

由於上個單元實作經驗的收穫,能夠將講解與實作的時間分配,掌握得更恰 當。本單元不如前兩個單元容易,因為加入選擇結構的觀念,學生需要時間進行 思考與理解。大多數的學生雖然可以了解老師所提的解題方法,但是卻無法直接 地運用指令來描述解題方法,也就是學生對於要如何把解題概念轉換成程式碼,

產生了學習困難。

學生對於語法結構不熟悉,儘管已經提醒括號要成對,還是有部分學生在實 作過程中,發生少了右邊括弧的錯誤,導致程式錯誤無法執行,不過當發生錯誤

學生對於語法結構不熟悉,儘管已經提醒括號要成對,還是有部分學生在實 作過程中,發生少了右邊括弧的錯誤,導致程式錯誤無法執行,不過當發生錯誤