• 沒有找到結果。

第四章 結論與建議

第一節 結論

第一節 結論

壹、 高中職程式設計課程融入體驗學習課程架構

一、第一堂程式設計課程-繪製流程圖

在第一堂程式設計課程繪製流程圖的活動中,主要目的是希望學生透過此次課程 可以了解何謂抽象化,並且讓學生能理解文字與圖示之關係與能從題目中擷取出重點。

此堂課將透過前測學生測驗的運算思維 10 道試題進行二度思考與討論,透過前測試題 讓學生可以再一次,對於問題進行釐清並學習如何在文字中找到問題重點,讓學生可 以自己主導自己的學習歷程,試著自己建構自己的思維模式,進而反思過去思考邏輯 方式。但就課程實際實施情形來說,狀況較不甚理想,大多學生在將自己的思維轉化 為抽象化的過程中都遇到瓶頸,透過分組討論也並未解決大多數無法了解抽象化過程 學生的問題,另外,學生由於是第一次接觸相關課程,因此對於流程圖繪製的相關細 節規定不是那麼熟悉,這也可能導致他們無法完整學習的主因,也因為如此有些學生 可能在第一次課堂中就遇到挫折而對程式設計不感興趣。

二、第二堂程式設計課程-minecraft 程式積木遊戲

在第二堂程式設計課程 minecraft 程式積木遊戲的活動中,主要目的是希望幫助學 生了解何謂資料表示與樣式辨識/一般化,即是讓學生能有邏輯的組織和分析資料、了 解不同資料格式、預測問題的規律、找出樣式做測試、歸納與辨識解題元素、歸納條

87

件結構的指令樣式、了解條件結構的解題樣式與特性、歸納迴圈內重複的指令樣式、

了解迴圈的解題樣式與特性。在第二堂課程中學習的三大程式結構重點為:1.循序結 構、2.判斷結構、3.重複結構。在課程上的實作上透過 Scrach 程式撰寫工具配合學生 熱愛的 minecraft 遊戲為設計此課程的重點,讓學生利用玩遊戲寫成是去闖關的方式進 而了解三大結構的重點與差異。在此次課程的架構上學生的滿意度甚高,透過遊戲實 作更能讓學生投入於學習中,且每一遊戲關卡都有其學習重點,這樣的學習過程不只 是好玩外,更可以引發學習動機與提高學生寫程式的興趣。

三、第三堂程式設計課程-水果放入背包

在第三堂程式設計課程水果放入背包的活動中,主要目的是希望幫助學生了解何 謂問題解析,即是讓學生能將大問題分解成組以解決的小問題與分析解題步驟。因此 在此堂課程中讓學生試著從資料結構有名的 0-1 背包(knapsack problem)問題中去解 題與分析步驟,並試著將此問題的解題步驟以程式表示之。此課程以學習單做導入引 導學生思考背包最大價值的問題如何解決,透過團體討論與分享進行個人自我價值的 建立,接著教師以動態規劃的方式帶領學生解決背包問題,從中了解如何將大問題分 解成組以解決的小問題與分析解題步驟,最終進而將此解決過程加以轉化為程式碼。

在第三堂課程中學生普遍認為數字過多的計算會造成他們的學習困擾,另外學習單過 多的撰寫也是會讓他們在學習過程感到沒興趣的原因,但課程的內容取材設計上以生 活化的水果放入背包問題讓他們比較有親切感,也會覺得學習的內容與生活貼近,因 此比較有學習動力。

四、第四堂程式設計課程-我們這一班身高排序

在第四堂程式設計課程我們這一班身高排序的活動中,主要目的是希望幫助學生 了解何謂演算法思維,即是讓學生能設計出能夠解決類似問題並且能夠執行重複的指 令流程。因此在此堂課程中讓學生試著從演算法的排序方式去學習演算法的概念。本 堂課所教學的排序方式選用選擇排序(selection sort)、插入排序(insertion sort)、泡 沫排序法(bubble sort)三種排序法,讓學生對於基本的排序方式有一定的認識後,在

88

讓學生使用 VB 程式工具撰寫選擇排序(selection sort)、插入排序(insertion sort)、泡 沫排序法(bubble sort)三種排序法的程式碼。在課程實際實作上,發現的最大困難點 便是由於此課程學習重點有三種排序法,但在一堂 50 分鐘的課程內,很難將三種排序 法與程式碼教完,也因此課程的最終只完成到學生認識泡沫排序法就結束課程,如此 無法完整性的連結整體課程,讓學生由淺入深的學習,而只是停留在三種排序法的認 識,那此堂課程的難易度便會過於簡單,對於學生來說也會比較不知道學習此堂課程 的重點是什麼,但整體課程的編排以生活化元素作為課程設計的取材,讓學生對於課 程的內容感受上比較親切將大大提高學生學習興趣與動機。

五、第五堂程式設計課程-VB 程式實作

在第五堂程式設計課程 VB 程式設計實作的活動中,主要目的是希望幫助學生了 解何謂演算法思維,即是讓學生能設計出能夠解決類似問題並且能夠執行重複的指令 流程。因此在此堂課程中讓學生試著利用 VB 程式設計實作,讓學生實際體驗程式撰 寫的過程,並透過 Visual Studio 整合開發環境程式開發工具去學習程式設計的操作,

並從中了解程式設計中的 VB 程式語言的控制項(button、textbox、lable)、物件(object)、 屬性(property)的關係、事件(event)與方法(method)。在課程實際實施的情況上,

因為屬於較為進階式的課程,故困難度會較為高,對於程式設計有興趣的學生在此堂 課程都回比較有成就感,但相對於對程式設計興趣缺缺或者學習速度比較慢的學生來 說,這堂課程的難度可能就會讓他們學習興趣降低,但整體而言這樣有難度的課程設 計是可以激發學生學習興趣且可以讓他們在完成作業時獲得成就感,透過讓學生實作 程式設計,透過介面互動產生動態效果都是吸引學生注意的方法,更透過課程實作上 遇到問題進而解決問題的過程,讓學生的思維模式可以更加清晰、有條理,而形成一 套有邏輯的思維系統。

貳、 高中職程式設計課程融入體驗學習對於學生運算思維之影響

一、學習成效-運算思維整體成績

89

在實施高中職程式設計課程融入體驗學習五堂程式設計課程後,國際運算思維總 成績前測和後測平均值有顯著差異,且國際運算思維後測總成績平均值顯著大於國際 運算思維前測總成績,是以學生在本研究所設計的程式設計課程融入體驗學習後可提 高運算思維之學習整體成就測驗。

二、學習成效-運算思維抽象化能力

在實施高中職程式設計課程融入體驗學習五堂程式設計課程後,運算思維抽象化 能力的前測成績和後測成績平均值有顯著差異,且運算思維抽象化能力的後測成績平 均值顯著大於運算思維抽象化能力的前測成績,是以學生在程式設計課程融入體驗學 習後可提高運算思維之學習抽象化能力。

三、學習成效-運算思維資料表示能力

在實施高中職程式設計課程融入體驗學習五堂程式設計課程後,運算思維資料表 示能力的前測成績和運算思維資料表示能力的後測成績平均值有顯著差異,但運算思 維資料表示能力的後測成績平均值顯著小於運算思維資料表示能力的前測成績平均值,

是以學生在程式設計課程融入體驗學習後,學習成效中的運算思維資料表示能力並沒 有顯著進步,因此對於運算思維之資料表示學習尚待於課程中加強相關觀念的導入教 學。

四、學習成效-運算思維樣式辨識/一般化學習能力

在實施高中職程式設計課程融入體驗學習五堂程式設計課程後,運算思維樣式辨 識/一般化學習能力前測成績和運算思維樣式辨識/一般化學習能力後測成績平均值有 顯著差異,且運算思維樣式辨識/一般化學習能力後測成績平均值顯著大於運算思維樣 式辨識/一般化學習能力前測成績平均值,是以學生在程式設計課程融入體驗學習後可 提高運算思維之樣式辨識/一般化學習能力。

五、學習成效-運算思維問題解析能力

在實施高中職程式設計課程融入體驗學習五堂程式設計課程後,運算思維問題解 析能力前測成績和運算思維問題解析能力後測成績平均值有顯著差異,,且運算思維

90

問題解析能力後測成績平均值顯著大於運算思維問題解析能力前測成績 平均值,是以 學生在程式設計課程融入體驗學習後可提高運算思維之問題解析能力。

六、學習成效-運算思維演算法思維能力

在實施高中職程式設計課程融入體驗學習五堂程式設計課程後,運算思維演算法 思維能力前測成績和運算思維演算法思維能力後測成績平均值有顯著差異,且運算思 維演算法思維能力後測成績平均值顯著大於運算思維演算法思維能力前測成績平均值,

是以學生在程式設計課程融入體驗學習後可提高運算思維之演算法思維學習能力。

參、 學生不同背景變項與高中職程式設計課程融入體驗學習之關係

一、學生性別(男、女)

根據學生性別(男、女)之差異性,對於學生在實施完高中職程式設計課程融入 體驗學習五堂課程後,對於學生運算思維五項能力:1.抽象化、2.資料表示、3.樣式辨 識/一般化、4.問題解析、5.演算法思維的學習變化皆無明顯影響。

二、學生年級(高一、高二、高三)

根據學生年級(高一、高二、高三)之差異性,對於學生在實施完高中職程式設

根據學生年級(高一、高二、高三)之差異性,對於學生在實施完高中職程式設