• 沒有找到結果。

程式設計課程融入體驗學習之探究

N/A
N/A
Protected

Academic year: 2021

Share "程式設計課程融入體驗學習之探究"

Copied!
132
0
0

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

全文

(1)國立臺灣師範大學教育學系 課程與教學領導碩士在職專班 技術報告. 指導教授:郝永崴. 博士. 程式設計課程融入體驗學習之探究. 研究生:張茵婷. 撰. 中華民國 107 年 8 月.

(2) 致謝詞 在這兩年修讀碩士的歷程相當辛苦但也相當寶貴,在最後一年撰寫論文的過 程更是收穫良多,許多回憶也都歷歷在目,非常感謝師長與同學們的鼓勵與陪伴, 這都是讓我持續下去的動力。 其中最要感謝的是我的指導教授—永崴老師,老師對於學術上的嚴謹態度, 時常給予我專業的建議,每一次與老師的討論都給我莫大的信心,因為有老師耐 心的指導與關心,讓我有一直往前的動力。另外,我也相當感謝我的兩位口試委 員—忠謀老師與秀玲老師,因為有你們的專業建議與悉心指導,讓我的論文可以 更加完善。 還有研究所一起奮鬥的同學柏萱與紫雲,謝謝妳們的關心與鼓勵,我們時常 互相勉勵、互相幫忙,在遇到低潮時也總能互相安慰,我們在研究所一起修課的 回憶,以及一路的相伴,這一切都是這麼的美好。 另外,我也很感謝學校的文昌主任與同事們,因為有你們的體諒與幫忙,讓 我可以兼顧工作與課業,也時常關心我論文撰寫的進度,讓我可以時時督促自己, 論文進度才不至於落後,真心覺得有你們真好! 最後,要感謝我的家人,你們的支持與鼓勵成就了今天的我,每一次需要你 們的時候,你們總是給我最大的幫助,謹此論文獻給我最愛與最溫暖的倚靠,我 的父母與我的家人。 茵婷 謹致 2018 年 8 月.

(3) 中文摘要. 本研究以探究研究者自行建構之高中職程式設計融入體驗學習課程架構,並 於實施五堂課程後,進行運算思維學習成效的評估,進而探討程式設計融入體驗 學習課程架構是否完善與學生的學習成效成果,且同時分析學生不同背景變項與 高中職程式設計融入體驗學習之運算思維變化的關係。研究對象為研究者本身任 教學校學生,高一 71 人,高二 33 人,高三 13 人(共 117 人)。於課程實施前先 進行運算思維前測,接著施行由研究者自行設計之五堂程式設計融入體驗學習課 程,在課程結束後實施運算思維後測與學習態度問卷量表。資料分析以量化資料 分析為主、質性資料為輔,根據學生學習問卷量表與五堂課的形成性評量,探討 課程架構是否完善,接著透過運算思維前測、後測的成績,進行 t 檢定與變異數 分析。研究結果發現,根據程式設計融入體驗學習五堂的課程架構,普遍學生喜 愛實作或遊戲式課程。在實施五堂程式設計融入體驗學習課程後,學生的運算思 維能力(包括:抽象化、資料表示、樣式辨識/一般化、問題解析、演算法思維) 中,除了「資料表示」無明顯進步外,其餘四項能力皆有明顯進步。學生不同背 景變項(包含:性別、年級、在班級成績、居住地、學制、是否曾接觸過程式設 計課程)對於學生運算思維學習狀況,皆無顯著的影響。預期本研究成果未來讓 程式設計課程的教師與研究人員在設計課程上,能有所依據並更加完整,讓學生 運算思維能力的培養更加順利。. 關鍵詞:程式設計教學、體驗學習、運算思維、學習成效、個別差異。. ii.

(4) Abstract. The thesis is based on writer’s research : The Inquiry of Programming Curriculum Delivered through Experiential Learning. After five classes, the researcher evaluates the result of Computation Thinking to know how about the effect of inquiry of programming curriculum delivered through experiential learning for high school students.The target of the research is 117 high school students, including grade one to three. Before the lesson, they made some pretests about Computation Thinking and took effect to five lesson of the inquiry of programming curriculum, designed by the researcher. The data analyses mainly rely on quantization, based on student’s questionnaire and test to know about the infrastructure of the lessons.After the reseach, most students like practical course and game-based learning. After five lessons, student’s. Computation. Thinking. (abstraction,. data. representation,. pattern. recognition/generalization, decomposition, and algorithmic thinking)are improved. There is no distinguished affect between student’s individual differences (gender, grade, class performance, place of residence, school system, whether or not contacting with the process design course)and learning Computation Thinking lesson.This reaeach is aim to help teachers who want to do inquiry of programming curriculum, and make students effective in learning Computation Thinking. Key words: programming instruction, experiential learning ,computational thinking, learning effectiveness, individual differences.. iii.

(5) 目錄 致謝詞. .................................................................................................................... i. 中文摘要. ................................................................................................................... ii. 英文摘要. .................................................................................................................. iii. 目錄. .................................................................................................................. iv. 圖目錄. .................................................................................................................. vi. 表目錄. .................................................................................................................. vi. 第一章. 緒論 ........................................................................................................... 1. 第一節. 研究背景與動機 ...................................................................................... 1. 第二節. 研究目的與問題 ...................................................................................... 4. 第三節. 名詞解釋 .................................................................................................. 5. 第四節. 研究方法與步驟 ...................................................................................... 6. 第五節. 預期成果 ................................................................................................ 17. 第六節. 研究限制 ................................................................................................ 18. 第七節. 研究架構 ................................................................................................ 18. 第二章. 文獻探討 ................................................................................................. 21. 第一節 運算思維相關研究 .................................................................................. 21 第二節 第三章. 體驗式學習相關理論 ............................................................................ 26 歷程結果與討論 ..................................................................................... 31. 第一節. 課程實作情形 ........................................................................................ 31. 第二節. 程式設計對於學生運算思維能力之影響 ............................................ 54. 第三節. 學生不同背景變項與運算思維之關係 ................................................ 64. 第四章. 結論與建議 ............................................................................................. 85. 第一節. 結論 ........................................................................................................ 86. 第二節. 建議 ........................................................................................................ 91 iv.

(6) 參考文獻. ................................................................................................................. 94. 附錄. ................................................................................................................. 99. 附錄 A:2015 國際運算思維挑戰試題內容 ....................................................... 99 附錄 B:2016 國際運算思維挑戰試題內容 ..................................................... 109 附錄 C:程式設計課程學習態度問卷 ...............................................................119 附錄 D:排序法 Sort 學習單.............................................................................. 121 附錄 E:0-1 背包問題 Knapsack problem 學習單 ............................................ 122. v.

(7) 圖目錄 圖 1:程式設計五堂課架構 ........................................................................................ 12 圖 2:研究架構圖 ........................................................................................................ 20. 表目錄 表 1-1:2015 教育部推動國內運算思維測驗內容架構 ............................................ 13 表 1-2:2015 國際運算思維全國學生答對率總表 .................................................... 13 表 1-3:2016 教育部推動國內運算思維測驗內容架構. ......................................... 15. 表 1-4:2016 國際運算思維全國學生答對率總表 .................................................... 13 表 1-5:Bebras 各組別分數計算方式 ......................................................................... 16 表 2-1:運算思維內涵整理 ......................................................................................... 25 表 3-1:抽象化能力分析 ............................................................................................. 32 表 3-2:資料表示與樣式辨識/一般化的能力分析 .................................................... 33 表 3-3:問題解析能力分析 ......................................................................................... 33 表 3-4:演算法思維能力分析 ..................................................................................... 34 表 3-5:演算法思維實作能力分析 ............................................................................. 35 表 3-6:學生學習態度問卷-課程教材對學生學習的助益分析................................ 36 表 3-7:學生學習態度問卷-學生學習興趣與意願分析............................................ 37 表 3-8:學生學習態度問卷-學生對於課程和教材的建議分析................................ 38 表 3-9:學生學習態度問卷-課程活動比較困難度分析............................................ 44 表 3-10:運算思維之學習成就測驗前測成績敘述統計 ........................................... 55 表 3-11:運算思維之學習成就測驗後成績測敘述統計 ........................................... 56 表 3-12:運算思維之學習成就測驗前測、後測成績之差異 t 檢定 (N = 117) . 56 表 3-13:運算思維之學習成就抽象化測驗前測成績敘述統計(答對率) ........... 57 vi.

(8) 表 3-14:運算思維之學習成就抽象化測驗後測成績敘述統計(答對率) ........... 57 表 3-15:運算思維之學習成就抽象化測驗前測、後測成績之差異 t 檢定 (N = 117) ................................................................................................................................ 58 表 3-16:運算思維之學習成就資料表示測驗前測成績敘述統計(答對率) ....... 58 表 3-17:運算思維之學習成就資料表示測驗後測成績敘述統計(答對率) ....... 59 表 3-18:運算思維之學習成就資料表示測驗成績前測、後測之差異 t 檢定(N = 117)59 表 3-19:運算思維之學習成就樣式辨識/一般化測驗前測成績敘述統計(答對率) ................................................................................................................................ 60 表 3-20:運算思維之學習成就樣式辨識/一般化測驗後測成績敘述統計(答對率) ................................................................................................................................ 60 表 3-21:運算思維之學習成就樣式辨識/一般化測驗成績前測、後測之差異 t 檢定 (N = 117) ........................................................................................................... 61 表 3-22:運算思維之學習成就問題解析測驗前測成績敘述統計(答對率) ....... 61 表 3-23:運算思維之學習成就問題解析測驗後測成績敘述統計(答對率) ....... 62 表 3-24:運算思維之學習成就問題解析測驗成績前測、後測之差異 t 檢定 (N = 117) ................................................................................................................................ 63 表 3-25:運算思維之學習成就演算法思維測驗前測成績敘述統計(答對率) ... 63 表 3-26:運算思維之學習成就演算法思維測驗後測成績敘述統計(答對率) ... 63 表 3-27:運算思維之學習成就演算法思維測驗前測、後測之差異 t 檢定 (N = 117) ................................................................................................................................ 64 表 3-28:就讀年級次數分配表 ................................................................................... 68 表 3-29:進步分數與就讀年級 ANOVA .................................................................... 68 表 3-30:抽象化測驗進步答對率與就讀年級 ANOVA ............................................ 68 表 3-31:資料表示測驗進步答對率與就讀年級 ANOVA ........................................ 69 表 3-32:樣式辨識/一般化測驗進步答對率與就讀年級 ANOVA ........................... 69 vii.

(9) 表 3-33:問題解析測驗進步答對率與就讀年級 ANOVA ........................................ 69 表 3-34:演算法思維測驗進步答對率與就讀年級 ANOVA .................................... 70 表 3-35:居住地區次數分配表 ................................................................................... 70 表 3-36:進步分數與居住地區 ANOVA .................................................................... 71 表 3-37:抽象化測驗進步答對率與居住地區 ANOVA ............................................ 71 表 3-38:資料表示測驗進步答對率與居住地區 ANOVA ........................................ 71 表 3-39:樣式辨識/一般化測驗進步答對率與居住地區 ANOVA ........................... 72 表 3-40:問題解析測驗進步答對率與居住地區 ANOVA ........................................ 72 表 3-41:演算法思維測驗進步答對率與居住地區 ANOVA .................................... 73 表 3-42:班級排名次數分配表 ................................................................................... 73 表 3-43:進步分數與班級排名 ANOVA .................................................................... 73 表 3-44:抽象化測驗進步答對率與班級排名 ANOVA ............................................ 74 表 3-45:資料表示測驗進步答對率與班級排名 ANOVA ........................................ 74 表 3-46:樣式辨識/一般化測驗進步答對率與班級排名 ANOVA ........................... 75 表 3-47:問題解析測驗進步答對率與班級排名 ANOVA ........................................ 75 表 3-48:演算法思維測驗進步答對率與班級排名 ANOVA .................................... 75 表 3-49:性別次數分配表 ........................................................................................... 76 表 3-50:進步分數與性別 ANOVA ............................................................................ 76 表 3-51:抽象化測驗進步答對率與性別 ANOVA .................................................... 76 表 3-52:資料表示測驗進步答對率與性別 ANOVA ................................................ 77 表 3-53:樣式辨識/一般化測驗進步答對率與性別 ANOVA ................................... 77 表 3-54:問題解析測驗進步答對率與性別 ANOVA ................................................ 77 表 3-55:演算法思維測驗進步答對率與性別 ANOVA ............................................ 78 表 3-56:就讀學程次數分配表 ................................................................................... 78 表 3-57:進步分數與就讀學程 ANOVA .................................................................... 78 viii.

(10) 表 3-58:抽象化測驗進步答對率與就讀學程 ANOVA ............................................ 79 表 3-59:資料表示測驗進步答對率與就讀學程 ANOVA ........................................ 79 表 3-60:樣式辨識/一般化測驗進步答對率與就讀學程 ANOVA ........................... 80 表 3-61:問題解析測驗進步答對率與就讀學程 ANOVA ........................................ 80 表 3-62:演算法思維測驗進步答對率與就讀學程 ANOVA .................................... 80 表 3-63:程式課程次數分配表 ................................................................................... 81 表 3-64:進步分數與程式課程 ANOVA .................................................................... 81 表 3-65:抽象化測驗進步答對率與程式課程 ANOVA ............................................ 82 表 3-66:資料表示測驗進步答對率與程式課程 ANOVA ........................................ 82 表 3-67:樣式辨識/一般化測驗進步答對率與程式課程 ANOVA ........................... 82 表 3-68:問題解析測驗進步答對率與程式課程 ANOVA ........................................ 83 表 3-69:演算法思維測驗進步答對率與程式課程 ANOVA .................................... 83. ix.

(11) 第一章. 緒論. 本研究旨在,探究高中職程式設計課程融入體驗學習實施之歷程,以及程式設計 課程融入體驗學習對學生運算思維的影響,以及學生不同背景變項對於運算思維學習 過程之影響。研究者將發展高中職程式設計融入體驗學習之課程內容架構,透過高中 職程式設計融入體驗學習 5 堂課的教學,以蒐集與分析學生運算思維學習成就、學生 學習態度問卷以及學生學習成果。並針對不同學生在學習程式設計融入體驗學習的課 程中,運算思維能力指標之變化加以分析,最終並提出具體建議,以提供給資訊科技 教師及相關單位做參考。本章共分六節 : 其第一節為研究背景與動機、第二節為研究 目的與問題、第三節為研究方法與步驟、第四節為預期成果、第五節為研究限制、第 六節為研究架構,茲詳述如下。. 第一節. 研究背景與動機. 教育築基於未來人才之培育,其根源在於未來社會所需人才之需求的素質,因此 預測與判斷未來社會人才需求進而給予教育方向是重要的。聯合國經濟合作與發展組 織(OECD, 2010)指出,21 世紀應具備之關鍵能力為:學習與創新能力、數位素養、 工作與生活能力。世界經濟論壇(World Economic Forum)預測面對第四次工業革命 所需的十大能力,2020 年應具備的能力應包括:複雜問題解決、批判思考、創意、人 員管理、與他人協調、情緒管理、判斷和決定、服務導向、談判與認知彈性等。另外 根據鳳凰城大學未來研究所(Institute for Future the University of Phoenix Research)提 出 2020 未來工作能力應包括:意義化、社會智商、新奇和適應性思考、跨文化能力、 電腦資料應用及思考、新媒體素養、跨領域、設計思維模式、認知負荷管理、虛擬合 作。21 世紀關鍵能力於 2009 提出如:批判性思考與問題解決、有效溝通、團隊合作、 創造與創新等,而以上所述不論是聯合國經濟合作與發展組織、世界經濟論壇所提出 之數位素養與問題解決、鳳凰城大學未來研究所研究中所提出電腦資料應用及思考之 能力,抑或 21 世紀關鍵能力,有多數都能透過資訊科技能力來培養,因此資訊科技培.

(12) 養在世界各國的教育欲培養之能力指標上皆受到重視與關注,歐盟更提出之核心素養 第四項便是數位能力之培養。 綜觀其他國家資訊科技教育之發展脈絡,例如美國二十一世紀學習架構中包含訊 息、媒體和科技能力,2011 的美國電腦科學教師學會(Computer Science Teacher Association,簡稱 CSTA)便修訂了 K-12 電腦科學課程標準,明列了所需的能力及學 習內容,美國白宮更於 2016 年提出的 Computer Science for all 計畫(WhiteHouse, 2016) 便投入了 40 億美元的教育經費給從幼兒園到高中階段的學生,培養資訊科學與創造數 位經濟的能力,也在全美最大的七個學區推動程式設計課程,美國大學委員會也推出 了高中先修電腦科學課程 AP Computer Science Principles(College Board, 2014)課程 著重於資訊科技與程式設計解題之應用。另外,新加坡的二十一世紀素養中最外層之 素養項目為:公民素養、全球化的覺知與跨文化技能,批判性思考與創造性思考,溝 通、合作與資訊技能;芬蘭於 2016 年實施的新課程,旨在培養學生廣泛基礎素養 (broad-based competence)包括下列七種素養:思考學習、文化素養互動與表達、自 我照顧、多元識讀、資訊科技素養、必備工作生活素養和創業家精神、創意、授權與 責任,英國在 2012 年便啟動了老虎計畫(Proge Tiiger),讓小學生從一年級便開始學 習程式設計、網頁架設與應用,藉此培養學生的邏輯思考、創造力與數學能力。到目 前為止,全世界已經有包括歐洲 15 國、澳洲與台灣共 17 個國家,正式將程式設計納 入課綱。另外,南韓、以色列、荷蘭等國,程式設計沒有進入課綱,卻直接成為中小 學課程。由此可知,許多先進發展中國家都已經將資訊科技中程式設計能力列為教育 欲培養之能力重要指標,因此在資訊快速發展的時代,提高國民數位之能力便是發展 國家之關鍵所在,但如何培養國民程式設計能力便是教育之重要課題。 反觀台灣資訊科技教育方向訂定,2001 年教育部頒布的「中小學資訊教育總藍圖」, 揭示了「資訊隨手得,主動學習樂,合作創新意,知識伴終生」等四大資訊教育願景, 2008 年教育部頒布的「中小學資訊教育白皮書 2008-2011」中提到三大願景: 「學生能 運用資訊科技增進學習與生活能力、教師能善用資訊科技提升教學品質、教室能提供. 2.

(13) 師生均等的數位機會」,四個核心理念:「善用資訊科技、激發創意思考、共享數位資 源、保障數位機會」 。再從現行之九年一貫課程綱要所述重點,可以得知九年一貫資訊 教育的課程設計,首先著重在使學生瞭解資訊科技與生活的關係,認識電腦硬體及操 作環境,學習基本應用軟體的操作,以及網際網路的使用,其次強調如何使用資訊科 技工具有效的解決問題,並進一步養成學生運用邏輯思維的習慣(教育部,2008a)。 教育部民國 102 年人才培育白皮書則指出,未來十年我國人才應具備 6 項關鍵能力, 分別為:全球移動力、就業力、創新力、跨域力、資訊力、公民力(教育部,2013)。 另外,在教育部十二年國民基本教育課程綱要中的三大面向九大項目中的核心素養中 也加入了「科技資訊與媒體素養」 ,十二年國教科技領域課程包含資訊科技與生活科技 兩門科目(教育部,2014);另外,ITSA 與國立台灣師範大學所辦理的大學程式先修 檢測(Advanced Placement Computer Science,簡稱 APCS) ,也是因程式設計在資訊科 學當中扮演著基礎但也非常重要的角色。我國教育也因而開始重視程式設計中運算思 維的重要性,因此教育部也實施了運算思維推動計畫,透過計劃的推行可以達到紮根 程式學習、培養運算思維、接軌國際活動。資訊科技課程在我國的發展上歷經數次變 革,十二年國教總綱中已將「資訊科技」列為國、高中之必修課程,課綱草案亦已將 運算思維列為重要理念,希冀由運算思維之培養,提升學生善用運算思維與資訊科技 工具解決問題、合作共創、溝通表達等高階能力(林育慈、吳正己,2016)。 在資訊教育中程式設計是相當重要之一環,各國在推行「程式設計」課程上,主 要著重於「聽、說、讀、寫、算」以外的素養,透過程式符號去推理、解決問題,就 像是生活中用各種方法去推敲並有邏輯地解決問題,蘋果電腦創辦人 Steve Jobs 曾說: 「在這個國家中,每個人都應該學習如何使用電腦編寫程式,因為它能教你如何思考」 , 這也是資訊科技強調的「運算思維」 。程式設計課程中最重要的能力培養項目乃為運算 思維(Computation Thinking,簡稱 CT) ,電腦科學學者 Wing 所提出: 「運算思維是運 用電腦科學基本概念來解決問題、設計系統、以及了解人類的行為。」透過程式設計 課程的學習,培養學習者邏輯思考、系統化思考等運算思維,並藉由程式設計與實作,. 3.

(14) 增進運算思維的應用能力、解決問題能力、團隊合作以及創新思考的能力(Wing, 2006)。 Wing 更進一步定義運算思維「架構及解決問題之思考流程,將其以訊息處理者可以有 效執行之形式呈現(Wing, 2011) 。」另外,美國電腦科學教師協會將運算思維定義為 電腦可執行的問題解決策略,包括使用抽象化、遞迴、重複等概念,處理及分析資料, 和製作虛擬或實際的成品(CSTA, 2011a) 。美國國際教育科技協會(International Society for Technology in Education,簡稱 ISTE)認為運算思維是問題解決的過程,它包括: 架構問題、邏輯化、抽象化、自動化、效率化、及一般化等特性(ISTE, 2011) 。Grover 及 Pea 彙總相關文獻後提出,目前廣為人知的運算思維內涵包含:模式一般化與抽象 化(包括建模及模擬) 、系統化處理資訊、符號系統及表示方法、流程控制的演算法概 念、結構化分解問題(模組化) 、條件邏輯、效率及執行限制與除錯及系統性錯誤偵測 等(Grover & Pea, 2013)。 程式設計中培養運算思維能力之重要性已漸漸備受重視,Wing 在 2006 年所發表 的一份報告中就曾提到: 「電腦運算思考的技巧,並非電腦科學家的專利,而是每個人 都應該具備的。」目前教育部推動的十二年國民基本教育,就是希望能將運算思維的 能力培養整合到程式設計課程中,透過程式設計課程之具體規劃與實施,使學習者能 夠具備運算思維的能力,但在高中職程式設計課程實施上較缺乏有架構性之規劃與研 究方案,研究者本身為資訊教師,在高中任教資訊課程 5 年的時間中可以發現,在臺 灣程式設計教育課程的規劃上,目前較缺乏一套有架構的系統,資訊教師大多以自己 的習慣與喜好教授資訊相關課程,此外,對於學生學習程式設計後所產生之運算思維 之變化,及學生不同背景變項與學習運算思維之關係皆沒有相關研究。本研究將發展 高中職程式設計融入體驗學習之課程內容架構,並針對不同學生在學習程式設計融入 體驗學習的課程中運算思維能力指標之變化,加以分析最終並提出具體建議,以提供 給資訊科技教師及相關單位做參考。. 第二節. 研究目的與問題. 在程式設計課程中最重要的能力培養項目乃為運算思維(CT),電腦科學學者 4.

(15) Wing(2006)所提出:「運算思維是運用電腦科學基本概念來解決問題、設計系統、 以及了解人類的行為。」然而國內外目前對於發展程式設計課程與培養學生運算思維 能力之相關實證研究並不多,且電腦科學的培養不只是課本上的知識傳授,更應是運 算思維能力的培養,對於一位教授程式設計課程的教師在教學上,因為沒有部定版本 的教材,也較少有其他教師的經驗可以參考,對於自己所設計的課程與學生學習成效 的關係都無相關實證可以依據,因此,本研究旨在發展高中職程式設計融入體驗學習 之課程內容架構,以培養學生運算思維能力,並探究程式設計融入體驗學習的課程中 運算思維能力指標之變化,最後針對學生的個別差異性,以學生性別(男、女) 、學生 年齡(高一、高二、高三)、學生居住地(都市、偏遠地區)、學生班級成績(分為三 個群體,以在班級成績分為三分個子體、含高分群:班級成績前三分之一、中分群: 班級成績中間三分之一、低分群:班級成績後三分之一) 、學制(專門學程資訊群、專 門學程應用外語群、高一未分類) 、過去是否接觸過程式設計相關課程(有接觸過、完 全無接觸過)作為個別差異的依據,並與程式設計融入體驗學習的課程後運算思維能 力指標之變化加以分析並提出建議。 具體而言,本研究目的有下列三項: 一、發展高中職程式設計融入體驗學習之課程內容架構。 二、探究高中職程式設計融入體驗學習課程對學生運算思維能力之影響。 三、探究學生不同背景變項與高中職程式設計融入體驗學習課程運算思維學習之 關係。. 第三節. 名詞解釋. 壹、 程式設計課程 程式設計課程的學習目標就是讓學生透過學習程式撰寫的方式用以解決問題,進 而培養學生思考的能力。本研究將以程式設計包括四個主要步驟:瞭解問題的需求、 擬定解題的計畫、撰寫程式碼及測試與除錯。讓學生透過學習程式設計進而促進思維 能力。 5.

(16) 貳、 體驗學習 體驗學習是指學習者透過實際參與、操作中學習,並透過做中學的體驗過程進而 反思,最終轉化為自己的知識與價值。因此本研究的體驗學習將定義為讓學生透過親 身體驗、互相對話、進而思考,最後內化為個人意義與價值的過程。. 第四節. 研究方法與步驟. 本研究旨在,發展體驗式程式設計課程架構,並評估課程實施後學生運算思維之 變化,與探討學生差異性與運算思維變化之關係。研究對象為新北市某公立綜合高中 學生三個年級的學生,合計 117 位學生,實驗期為 5 堂課,資料蒐集方式為量化為主 質性為輔之資料。本章便說明研究對象、研究場域、研究設計、研究工具、以及資料 蒐集與分析方法。. 參、 研究方法 本研究主要為了瞭解研究者自行設計的程式設計課程內容架構是否完善,並在施 行完五堂程式設計課後,學生的運算思維變化與學生不同背景變項與運算思維學習之 間的關係,因此本研究方法採用個案研究(case study)對於一個或多個個人、團體、 社群、企業或機構之背景、現況、環境和發展歷程予以觀察、記錄、分析,就其內部 和外部的諸種影響而言得出某些階段性的變化模式來。. 肆、 研究對象 本研究對象為新北市某公立綜合高中學生,高一兩個班不分組共計 71 位學生,屬 於常態編班;高二、高三各一班專門學程班級,共計 46 名學生,故全校合計 117 位學 生。. 6.

(17) 伍、 研究場域 本研究學校位於新北市地處偏遠區,是一所完全中學兼綜合高中的學制,國中部 一個年級三班,高中部一個年級 5 班,高二開始有所謂的專門學程(包括資訊學程與 應用外語學程二種) ,因此高二及高三一樣各有 5 班,其中 4 班為學術學程(即指社會 學程與自然學程),另 1 班則為專門學程。 本研究學校資訊教育情形,本校師資編制資訊教師 1 人、資訊組長 1 人,生活科 技教師 1 人,電腦教室共三間:2 間為高中部電腦教室、1 間為國中部電腦教室。在資 訊教育推廣上也在持續努力中,並期待能資訊科技融入各領域,因此推行行動教學並 有各項行動載具之教學用具。高一學生上下學期皆有 1 學分的資訊科技概論課程,高 二則提供學生資訊相關多元選修課程。. 陸、 研究設計 課程實驗期程 5 堂課的時間全程使用本研究所發展之體驗式程式設計課程,授課 教師為研究者本身,研究者擔任此高中資訊科技教師。本課程實施時間不含前測與後 測時間共計 5 堂課,每次上課時間為一節 50 分鐘。前測時間與後測時間,將於此實驗 課程開始前一周實施前測,與結束後一周實施後測。教材、課程設計與問卷的編制, 經過教育專家與同領域資訊科技教師及研究者本人等共同討論後進行編制。 一、程式語言工具選用: 本研究所選用之程式語言工具為 Scrach 與 Visual Basic。Scrach 是一套圖形化程式 設計軟體,主要目的是幫助八歲以上的中小學生發展二十一世紀的學習技能。使用者 不太需要使用鍵盤來輸入各項指令,而是用滑鼠拖曳程式區塊到腳本區,以組合積木 的方式來撰寫程式碼。學習者可使用 Scratch 創造故事、動畫、遊戲、或音樂等,並透 過 Scrach 的體驗,加強學習者對程式流程的認知,當你對程式邏輯有直覺性的了解後, 將更有能力使用不同的軟體,提昇自己的問題解決能力。因研究者所研究的對象對於 7.

(18) 程式設計都未有基礎,因此選用 Scrach 程式工具幫助學生在不需要懂太多程式語法的 同時,也可以了解撰寫程式語言的思維過程,進而幫助學生在生活中能思考與解決問 題。Visual Basic 是由微軟公司開發的包含環境的事件驅動程式語言。它源自於 BASIC 程式語言。VB 擁有圖形化使用者介面(GUI)和快速應用開發程式(RAD)系統, 可以輕易的使用 DAO、RDO、ADO 連線資料庫,或者輕鬆的建立 ActiveX 控制項。 主要讓學生除了使用圖形化程式設計軟體外,也可以使用程式語法加以實作程式設計 過程。 二、程式設計課程規劃: 本研究課程節數總共實作五堂課,課程目標為幫助學生提升運算思維的能力,此 研究在此依據 2017 年台灣教育部所定義之五項內涵為課程目標:1.抽象化(abstraction)、 2.資料表示(data representation) 、3.樣式辨識/一般化(pattern recognition/generalization) 、 4.問題解析(decomposition)、5.演算法思維(algorithmic thinking)。以下為五堂程式 設計課程之架構如圖 1,茲分述如下: 第一堂課:在第一堂的目標為讓學生了解何謂抽象化(abstraction),並且讓學生能理 解文字與圖示之關係與能從題目中擷取出重點。此堂課將透過前測學生測驗的運算思 維 10 道試題進行二度思考與討論,透過前測試題讓學生可以再一次對於問題進行釐清, 並學習如何在文字中找到問題重點並以組別為單位繪製解決問題的流程圖(flow chart) ,此課程活動會採用合作學習與翻轉教學的模式,讓學生可以自己主導自己的學 習歷程,試著自己建構自己的思維模式,進而反思過去思考邏輯。 1.. 合作學習:合作學習的分組採用異質性分組,每組大約 5-6 人,分組方式將依據 運算思維前測成績將學生高分組與低分組放在同一組別,根據 Vygosky 於 1976 年所提出的鷹架理論,即指學習者內在心理能力的成長有賴成人或能力較強的同 儕的協助,因此期待同組中有能力不同的學生互相合作與學習。. 2.. 翻轉學習:此教學活動將利用平板進行遊戲闖關活動,透過小組合作討論前測運 算思維的試題,教師透過平板與網路蒐集學生們討論的結果,並進而協助學生去 反思學習過程。 8.

(19) 3.. 流程圖(flow chart):流程圖就是利用各種方塊圖形、線條及箭頭等符號來表達 問題的解決問題的步驟及進行的順序;是演算法的一種表示方式。一般而言,從 這些符號本身的形狀,就可以看出記載資料的媒體,使用機器的種類、處理的方 法及工作程序等特殊意義;此外,在符號內也可以加入一些運算式或說明文字, 增加它的可讀性。. 第二堂課:在第二堂課中主要幫助學生了解何謂資料表示(data representation)與樣 式辨識/一般化(pattern recognition/generalization) ,即是讓學生能有邏輯的組織和分析 資料、了解不同資料格式、預測問題的規律、找出樣式做測試、歸納與辨識解題元素、 歸納條件結構的指令樣式、了解條件結構的解題樣式與特性、歸納迴圈內重複的指令 樣式、了解迴圈的解題樣式與特性。因此在此堂課會讓學生使用 Scrach 程式工具,並 透過 hour of code 網路學習平台搭配遊戲 minecraft 工具幫助學生了解程式的邏輯思維 以及程式語言的基本架構語法,程式語言基本架構與法如下所述: 1.. 循序結構:從上而下,依序執行的結構。. 2.. 選擇結構(if…then…else) :測試某一條件,並按其結果來改變執行的路徑的結構。. 3.. 重複結構(for…next) :測試某一條件是否成立,以決定是否重複執行某一段程式。. 第三堂課:在第三堂課中主要幫助學生了解何謂問題解析(decomposition) ,即是讓學 生能將大問題分解成組以解決的小問題與分析解題步驟。因此在此堂課程中讓學生試 著從資料結構有名的 0-1 背包(knapsack problem)問題中去解題與分析步驟,並以動 態規劃去解決之,最終試著將此問題的解題步驟以程式表示之。 1.. 背包問題(knapsack problem) :是一種組合優化的 NP 完全問題。問題可以描述, 給定一組物品,每種物品都有自己的重量和價格,在限定的總重量內,我們如何 選擇,才能使得物品的總價格最高。問題的名稱來源於如何選擇最合適的物品放 置於給定背包中。. 2.. 動態規劃(Dynamic programming,簡稱 DP) :若要解一個給定問題,我們需要解 其不同部分(即子問題) ,再根據子問題的解以得出原問題的解。通常許多子問題. 9.

(20) 非常相似,為此動態規劃法試圖僅僅解決每個子問題一次,從而減少計算量:一 旦某個給定子問題的解已經算出,則將其記憶化儲存,以便下次需要同一個子問 題解之時直接查表。這種做法在重複子問題的數目關於輸入的規模呈指數增長時 特別有用。. 第四堂課:第四堂課中主要幫助學生了解何謂演算法思維(algorithmic thinking),即 是讓學生能設計出能夠解決類似問題,並且能夠執行重複的指令流程。因此在此堂課 程中讓學生試著從演算法的排序方式去學習演算法的概念。本堂課所教學的排序方式 選用選擇排序(selection Sort)、插入排序(insertion sort)、泡沫排序法(bubble sort) 三種排序法,讓學生對於基本的排序方式有一定的認識後,再讓學生使用 VB 程式工 具撰寫選擇排序(selection sort) 、插入排序(insertion sort) 、泡沫排序法(bubble sort) 三種排序法的程式碼。 1.. 選擇排序(selection sort):是排序演算法的一種,也是一種簡單容易理解的演算 法,其概念是反覆從未排序的數列中取出最小的元素,加入到另一個的數列,結 果即為已排序的數列。. 2.. 插入排序(insertion sort):是排序演算法的一種,他是一種簡單容易理解的排序 演算法,其概念是利用另一個數列來存放已排序部分,逐一取出未排序數列中元 素,從已排序數列由後往前找到適當的位置插入。. 3.. 泡沫排序(bubble sort):是一種簡單的排序演算法。它重複地走訪過要排序的數 列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工 作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個演算 法的名字由來是因為越小的元素會經由交換慢慢「浮」到數列的頂端。. 第五堂課:第五堂課中也是接續第四堂課的內容,主要是希望幫助學生了解何謂演算 法思維(algorithmic thinking),即是讓學生能設計出能夠解決類似問題並且能夠執行 重複的指令流程。因此在此堂課程中讓學生試著利用 VB 程式設計實作,讓學生實際. 10.

(21) 體驗程式撰寫的過程,並透過 Visual Studio 整合開發環境程式開發工具去學習程式設 計的操作,從中了解程式設計中的 VB 程式語言的控制項(button, textbo & lable) 、物 件(object)、屬性(property)的關係、事件(event)與方法(method)。 1.. VB 程式語言的控制項:用來獲取使用者的輸入資訊和顯示輸出資訊,包括文字 方塊、指令按鈕、清單方塊、存取其它應用程式並處理資料的控制項。Label 為 使用者顯示使用者不可交談方式作業或不可修改的文字、Text box 提供一個區域 來輸入文字、顯示文字。. 2.. 物件(object):在實際生活中任何實體皆可視為物件,例飛機、汽車、電腦主機 等。 VB 也有類似觀念,表單、按鈕、文字方塊、標籤等皆視為物件。物件將資 料給封裝(encapsulate)起來,只提供屬性和方法改變物件。程式設計師不須知 道物件內部如何運作,只須瞭解如何利用物件所提供的功能,建立物件與物件的 關係,達成程式所要提供使用者功能。. 3.. 屬性(property) :即指描述物件的特性,改變物件的外觀、特性須由屬性的設定。 日常生活活中用到屬性的觀念,例如「那台車是紅色的」轉成「那台車的顏色是 紅色的」;那台車是物件,顏色是車的屬性,紅色是用於設定車的顏色屬性。. 4.. 事件(event):即指對物件所做得到的動作。視窗化應用程式是以事件方式驅動 程式執行,如滑鼠左鍵一下、鍵盤輸入、表單載入等事件。事件方式驅動的動作 是 寫 於 函 式 中 , 函 式 格 式 為 「 控 制 物 件 名 稱 _ 控 制 物 件 的 事 件 」, 例 Command1_Click,Command1 事件偵測到滑鼠按左鍵(Click)一下時,會觸發 函式中的事件動作。常用的控制物件(可分滑鼠、鍵盤、表單等)。. 5.. 方法(method) :即是物件本身已具備功能。物件本身所提供的功能,已內含於 VB 開發環境中,可直接呼叫使用。例如 Form 提供列印字串功能,需由 Form 物件 的 paint 方法達成。程式碼為 Form1.print”Hello”或 print “Hello”。. 11.

(22) 第一堂課:抽象化教學 第二堂課:資料表示與樣式辨識/一般化 第三堂課:問題解析(0-1背包問題、動態規劃) 第四堂課:演算法思維上(選擇排序、插入排序泡 沫排序) 第五堂課:演算法思維下(程式實作) 圖 1 程式設計五堂課架構. 柒、 研究工具 本節將針對本研究將使用的研究工具進行評估與說明,本研究所使用的研究工具 分為三項:第一項以評估學生運算思維之學習成就測驗,第二項為學生學習態度問卷, 第三項則為研究自行設計的程式設計課程教材,教材內容以提升學生以下五項運算思 維內涵為目標: 1、抽象化:能理解文字與圖示之關係與能從題目中擷取出重點。 2、資料表示:有邏輯的組織和分析資料與了解不同資料格式。 3、樣式辨識/一般化:預測問題的規律、找出樣式做測試、歸納與辨識解題元素、歸 納條件結構的指令樣式、了解條件結構的解題樣式與特性、歸納迴圈內重複的指令 樣式、了解迴圈的解題樣式與特性。 4、問題解析:將大問題分解成組以解決的小問題與分析解題步驟。 5、演算法思維:設計出能夠解決類似問題並且能夠執行重複的指令流程。 第一項詳細學生運算思維之學習成就測驗如附錄 A、B(附錄錄為運算思維之學 習成就測驗前測題目、附錄 B 為運算思維之學習成就測驗後測題目)。第二項詳細學 生學習態度問卷如附錄 C。第三項程式設計課程教材學習單如附錄 D、E。以下將以三 項主要研究工具分項進行詳細說明。 一、運算思維之學習成就測驗 國際運算思維挑戰賽(International Challenge on Informatics and Computational. 12.

(23) Thinking)主要是在測試 8 至 18 歲(國小三年級至高中三年級)學生的運算思維能力, 以提升學生利用資訊方法解決問題的能力。自 2004 年開始,挑戰賽於每年 11 月中的 國際 Bebras 週(World-Wide Bebras Week)舉行,我國自 2012 年開始加入,與全球同 步舉辦。 本研究量測運算思維之前測成就測驗工具為「2015 澳洲 Bebras 運算思維挑戰」 試題內容(Schulz, Hobson, & Keane, 2015) ,再由國立臺灣師範大學資工學系運算思維 工作團隊所挑選並翻譯的試題,如附錄 A,試題年齡組挑選九、十年級,試題數量研 究者自選 10 題,難易度分為三級:A 級屬於簡易題、B 級屬於中等題、C 級屬於困難 題,此份前測試題共有 3 題簡易題、4 題中等題、3 題困難題,運算思維元素內容分析 架構由教育專家、同領域資訊教師與本研究者共同分析,難易度與 2015 年國際運算思 維全國學生試題答對率總表,則是由 Beras 運算思維挑戰賽工作團隊提供,2015 年國 際運算思維全國學生試題答對率總表受試對象為高一與高二學生,分析架構如表 1-1 與試題答對率如表 1-2: 表 1-1 2015 教育部推動國內運算思維測驗內容架構 運算思維元素 題 難易度 號. 樣式辨識/ 抽象化. 資料表示. 問題解析. 演算法思維. 一般化 1 2 3 4 5 6 7 8 9 10. A A B B C C C B B A 合計. ● ● ● ● ● ● ● ● ● 9. ● ● ● ● ● ● ● ● ● ● 10. ● ●. ● ● ● 5. 資料來源:教育專家、同領域資訊教師、研究者共同分析 13. ● ● ● ● ● ● ● ● ● ● 10. ● ● ● ● ● ● 6.

(24) 表 1-2 2015 國際運算思維全國學生答對率總表 編號. 題目名稱. 全國學生答對率. 1. QB 碼. 63.25%. 2. 剪刀石頭布蜥蜴史巴克. 75.72%. 3. 動畫. 79.24%. 4. 碗工廠. 19.03%. 5. 香辣茄汁雞. 18.45%. 6. 轉彎. 56.95%. 7. 海狸煉金師. 65.06%. 8. 畫線機器人. 65.78%. 9. 劇院. 66.14%. 10. 撿石頭. 27.06%. 資料來源:國立臺灣師範大學資工學系運算思維工作團隊提供。 本研究量測運算思維之前測成就測驗工具為「2016 澳洲 Bebras 運算思維挑戰」 試題內容(Schulz, Hobson, & Zagami, 2016),再由國立臺灣師範大學資工學系運算思 維工作團隊所挑選並翻譯的試題,如附錄 B,試題年齡組挑選九、十年級,試題數量 研究者自選 10 題,難易度分為三級:A 級屬於簡易題、B 級屬於中等題、C 級屬於困 難題,此份後測試題共有 3 題簡易題、4 題中等題、3 題困難題,運算思維元素內容分 析架構由教育專家、同領域資訊教師與本研究者共同分析,難易度與 2016 年國際運算 思維全國學生試題答對率總表,則是由 Beras 運算思維挑戰賽工作團隊提供,2016 年 國際運算思維全國學生試題答對率總表受試對象為高一與高二學生,分析架構如表 1-3 與試題答對率如表 1-4:. 14.

(25) 表 1-3 2016 教育部推動國內運算思維測驗內容架構 運算思維元素 題 難易度 號. 樣式辨識/ 抽象化. 資料表示. 問題解析. 演算法思維. 一般化 A ● ● ● A ● ● ● A ● ● ● B ● ● ● ● B ● ● ● ● B ● ● ● ● C ● ● ● ● C ● ● ● C ● ● ● ● B ● ● ● 合計 10 7 8 10 資料來源:教育專家、同領域資訊教師、研究者共同分析。 表 1-4 1 2 3 4 5 6 7 8 9 10. ● ● ● ● ● 5. 2016 國際運算思維全國學生答對率總表 編號. 題目名稱. 全國學生答對率. 1. 倉庫機器人. 72.49%. 2. 摺紙骰子. 65.55%. 3. 魔法藥劑. 84.06%. 4. 把小偷揪出來. 21.32%. 5. 彩帶派對. 58.63%. 6. 自動駕駛的計程車. 37.65%. 7. 賽格威. 49.98%. 8. 紅藍彈珠遊戲. 31.55%. 9. 木筏牌照. 78.52%. 10. 運送沙包. 45.22%. 資料來源:國立臺灣師範大學資工學系運算思維工作團隊提供。 本研究成就前後測驗分數計算規則採用國際運算思維挑戰賽依題目之難度計分: 答對給分、答錯扣分,略過不答則不給分亦不扣分;為了避免負分,挑戰賽之起始分 數為各題扣分之總和。Benjamin 組每次挑戰賽共 12 題,各難度平均分配 4 題,其他 組別每次共 15 題,各難度平均分配 5 題。各組別分數計算分式如下表所示;各組起始 15.

(26) 分數為 60 分,最低 0 分,最高 300 分。 表 1-5 Bebras 各組別分數計算方式 難度 易. 年齡組. 中. 題 數. 起 始 分. 最 高 分. 難. 正. 錯. 正. 錯. 正. 錯. 確. 誤. 確. 誤. 確. 誤. Benjamin. 五、六年級. 16. -4. 20. -5. 24. -6. 12. 60. 300. Cadet. 七、八年級. 12. -3. 16. -4. 20. -5. 15. 60. 300. Junior. 九、十年級. 12. -3. 16. -4. 20. -5. 15. 60. 300. Senior. 十一、十二年級. 12. -3. 16. -4. 20. -5. 15. 60. 300. 資料來源:Bebras 官方網站 二、自編學生學習態度問卷 自編學生學習態度問卷題目分為三個部分,第一部分主要蒐集學生背景資料(如: 學生性別、居住地區、年級、是否接觸過程式設計課程、在班級成績、就讀學制等…), 用以分析學生不同背景變項與運算思維之關係。第二部分採用李克特五點量表,第三 部分則是開放式問題,第二、三部分主要在了解學生對於課程中所使用的教學工具及 活動之態度,包含學習興趣與意願、對學習的助益以及整體課程的建議與感想,詳細 說明如下: 1.. 課程教材對於學習的助益:主要想瞭解學生在學習過程中,對於教學工具以及教 學活動與內容,在課程學習上是否有幫助。藉以反思本研究之教材內容與工具的 使用是否能幫助學生學習。 (參見附錄 C 學生學習態度問卷第二部份第 1、2、3、 4、5 題). 2.. 學習興趣與意願:欲瞭解學生對於整體課程的興趣、程式設計的認同之感想。藉 以探討整體課程是否能夠引起學習動機以及加深認同程式設計的重要性。 (參見附 錄 C 學生學習態度問卷第二部份第 6、7、8、9、10 題) 16.

(27) 3.. 課程和教材的建議:本題為開放式試題,讓學生依據本研究課程內容和教材自由 回答給予個人意見、看法和建議事項,作為教學後的回饋。(參見附錄 C 學生學 習態度問卷第三部份第 1、2、3 題). 捌、 資料蒐集與分析 本研究將蒐集三項資料:第一項為學生運算思維學習成就測驗前測與後測的成績, 第二項為學生學習態度問卷結果,第三項為本研究各班級五堂課程的學生作業成果。 第一項學生運算思維成就測驗前測與後測結果採用國際運算思維 2015 與 2016 年 考題,前後測各 10 題,前測試題於本研究課程實施前一周進行,給予學生 50 分鐘進 行填答,施測試題依據本研究欲評量之運算思維 5 大元素包含:抽象化、資料表示、 樣式辨識/一般化、問題解析、演算法思維進行分析,後測於本研究課程實行五節課程 後一周進行施測,施測結果也將依據本研究之運算思維 5 大元素和前測結果進行分析 比較,以了解本研究參與學習者在運算思維學習成就的變化。 第二項學生學習態度問卷方面,第一部分主要了解填答學生的個人背景,如:學 生性別、居住地區、年級、是否接觸過程式設計課程、在班級成績、就讀學制等,第 二部分共 10 題採李克特氏五點量表,回答項目依序依照同意程度給予選擇,非常同意 給予 5 分,同意給予 4 分,無意見給予 3 分,不同意給予 2 分,非常不同意給予 1 分。 第三部分以簡答題方式讓學生依照自己對於課程想法給予簡單的質性回應。以上三個 部分之資料以用來探討此研究學校的高中生對於此研究課程的想法與學生不同背景變 項與運算思維之間關係。 第三項學生作業成果,透過五堂課學生在課堂上所寫之學習單(參見附錄 D、E), 透過學生之形成性成績做量化分析,最後研究者再以質性分析瞭解課堂運作之狀況。. 第五節. 預期成果. 本研究計畫預期成果是希望研究者可以發展出程式設計課程融入體驗學習,參與 研究之學習者能透過本研究之課程提升運算思維之能力,並透過課程的實施加以瞭解 學習者在課程前後運算思維之變化。最終期待透過本研究的實施所蒐集之資料加以分 17.

(28) 析進而提供具體建議,讓未來從事程式設計課程的教師在設計課程上能更加完整,並 提供給相關領域的教師與研究人員有所依據,在培養學生運算思維能力上能更加順 利。. 第六節. 研究限制. 本研究限制如下: 1.. 本研究對象學校位於較為偏遠之地區,學生文化刺激較弱,學生在會考成績上平 均為 5B,學習態度上較為被動。因此本研究結果只適合相同背景之對象作為參考, 並不適合過度推論。. 2.. 本研究時間為 5 堂課,故研究期程並不長,因此課程對於學生之影響仍有限。. 3.. 本研究對象樣本數量大約 117 位學生,樣本數量上並不算多,因此研究結果只適 合作參考。. 4.. 本研究之前、後測考題,未來宜進一步分析其鑑別度、難度。. 第七節. 研究架構. 本研究架構程序分「準備」、「正式施測與教學」及「結果分析」三個階段,如圖 1,茲分述如下:. 壹、 準備階段 由於研究者對高中職程式設計課程對學習者運算思維之影響及學習者個別差異 與運算思維變化之關係感到興趣,因此,從程式設計課程融入體驗學習來探究對學生 運算思維學習成效的影響。 初步與指導教授決定研究方向後,確定研究主題,為「程式設計課程融入體驗學 習之探究」。本研究所選定的研究工具為「運算思維之學習成就測驗」與「學生學習 態度問卷」。選定研究工具後,接著進行問卷與量表的編制,並編製教學時所使用教 材內容。. 18.

(29) 為了比較不同學制對程式設計課程融入體驗學習,影響學習者的學習成就與學習 態度之差異,因本研究者任教學校為綜合高中,故選定研究對象分別為高中部一年級 兩班及高職部兩班的學生。. 貳、 正式施測與教學階段 在本階段初期,首先針對所有參與研究的學生進行「運算思維之學習成就測驗」 前測,欲測量之運算思維 5 大元素為抽象化、資料表示、樣式辨識/一般化、問題解析、 演算法思維,然後,依據運算思維 5 大元素進行分析,接著讓參與研究之學生進行本 研究者所設計之程式設計課程融入體驗學習的教學策略,課程結束後對參與研究的學 生進行「運算思維之學習成就測驗」後測與「學生學習態度問卷」,以了解課程實施 後學生學習成就與學習態度之變化。. 參、 結果分析階段 研究者根據正式施測與教學期間所蒐集的相關資料,包括運算思維之學習成就測 驗、學生學習態度問卷、教學日誌與學生作業成果等進行分析。量化分析所使用的軟 體為 SPSS(Statistical Package for Social Sciences)進行 t 檢定與變異係數分析,質性 分析則以學生作業成果與問卷調查等文件分析為主。最後,進行論文撰寫工作。. 19.

(30) 形成研究問題. 參考相關文獻. 確定研究主題. 準 備 階 段. 運算思維之學習成就測驗. 確定研究工具 學生學習態度問卷 編製教材及研究工具. 選定施測對象及施測時間. 實施前測. 正 式 施 測 與 教 學. 實施教學. 實施後測. 蒐集資料. 結 果 分 析 階. 分析資料 撰寫論文 圖 2 研究架構圖. 20.

(31) 第二章. 文獻探討. 本章針對相關理論與研究進行探討,本章分為二節,第一節探討運算思維相關研 究,第二節探討體驗式課程之發展與運用,分述如下:. 第一節 運算思維相關研究 運算思維乃為程式設計課程中欲培養之重要能力,本節就運算思維相關的理論與 研究加以分析、探討。. 壹、 運算思維定義 運算思維(computation thinking)是由卡內基梅隆大學教授 Jeannette M. Wing 在 2006 提出: 「運算思維是除了閱讀、寫字、算術基本能力外,每個人也該具備的能力, 而非電腦科學家才需要的能力。因為運算思維是一個人在處理問題時,採取方法所思 考的歷程,所以運算思維包含問題解決能力、設計及能了解人類的行為。」 (Wing, 2006)。 Wing 指出運算思維是種分析式思維,包含以數學思維來解決問題、以工程思維來設計 與評估複雜系統及以科學思維來理解人類行為(Wing, 2008) 。Wing 在 2011 年再重新 定義運算思維是架構問題(formulating problem)及解決問題之思考過程,將其以訊息 處理者可以有效執行之形式呈現(Wing, 2011)。 在 Jeannette M. Wing 提出了運算思維的觀點後,陸續開始有許多學者也提出了他 們的看法與相關研究。Lu 及 Fletcher 認為運算思維是用來解決問題及設計系統的一個 方法,使用不同等級的抽象化與演算法概念,以達到有效發展與解決問題的方案(LU & Fletcher, 2009)。Cuny 與 Snyder 定義運算思維是個包含找出問題與解決問題的思考 過程(Cuny, Snyder, & Wing, 2010)。Google(2010)認為運算思維適合任何一個學 科,是一系列問題解決的方法。Brennan 和 Resnick 提出運算思維的三個維度: 1.運 算概念(computational concepts):在程式設計過程中所使用到的概念,例如變數。2. 運算實作(computational practices):程式設計過程中解決問題的方法,例如除錯。3. 運算觀點(computational perspectives) :學生可以了解自己與其他人和這世界連結,例. 21.

(32) 如表達自己的想法(Brennan & Resnick, 2012)。因此透過以上學者對於運算思維之論 述,我們發現各學者對於運算思維皆有一個共同定義就是問題解決的思考歷程,因此 本研究將探討之重點著重於程式設計課程對於學習者問題解決思考歷程之提升加以研 究,然而問題解決思考歷程將包含哪些元素,我們將於運算思維具體操作方式再加以 定義。. 貳、 運算思維特性 綜觀 Wing 所提出之觀點,我們可以知道運算思維有以下特性: 1.. 運算思維是一種概念化的過程,而非只是撰寫程式的工具。. 2.. 運算思維是一種基本能力,而非死記硬背的技能。. 3.. 運算思維是人類解決問題的方法,並非只適用於電腦應用上。. 4.. 運算思維結合了數學及工程的思維。. 5.. 運算思維是一種想法或者概念,並非只是作品的呈現。. 6.. 運算思維適用於每個地方與每個人,並沒有特定領域。 華東師範大學课程與教學研究所學者任友群在 2016 年時,以 2011 年美國國際教. 育技術協會(ISTE)聯合計算機科學教師協會(CSTA)的問卷調查結果與 2012 年英 國學校電腦课程工作小组(Computing at School Working Group,簡稱 CAS)在研究報 告中闡述再加上 2013 年南安普頓大学 John Woollard 研究者在計算機科学教育創新與 技術(ITiCSE)會議報告等研究。综合已有的研究成果,整理出運算思维是一種特殊 的解决問題的過程,反映出電腦科學的基本思想方法。通過運算思维人們可以更好地 理解和分析複雜問題,形成具有形式化、模組化、自動化、系统化等電腦特徵的問題 解决方案。 根據任有群的整理,運算思維主要包括以下特徵:(1)採用抽象和分解的方法將 複雜問題具體化,建立結構模型,形成具備更高效能、可執行的解決方案; (2) 運用 計算機學科之基本概念與工具方法,判斷、分析、綜合各種資訊,強調個體與資訊系 統的交互思考過程; (3)是一種獨特的問題解決能力組合,融合設計、演算法、批判、 22.

(33) 分析等多種思維工具,綜合運用可以形成系統化的問題解決方案。(任友群,2016). 參、 各國教育在運算思維之發展 美國 CSTA「電腦科學」認為資訊課程一種能利用電腦解決問題的思維,包含使 用如抽象化、遞迴、迭代等概念來處理與分析資料,並產出實體與虛擬作品的能力 (CSTA, 2011a)。澳洲「數位科技」課程利用數位科技設計與實作演算法解決問題的 思維(ACARA, 2013) 。英格蘭「運算」課程一種凌駕於電腦軟硬體之上,能針對系統 與問題提出思考架構的思維模式(DOE, 2013) 。我國「資訊科技」課程具備運用運算 工具之思維能力,藉以分析問題、發展解題方法,並進行有效的決策(國教院,2015)。 2011 年美國國際教育技術協會(ISTE)聯合計算機科學教師協會(CSTA)基于 運算思维的表現性特徵,给出了一個操作性定義: 「運算思维是一種解决問題的過程, 該過程包括明確問題、分析數據、抽象、設計算法、评估最優方案、遷移解决方法六 個要素。」 (CSTA, 2011b) 2012 年英國學校電腦课程工作小组(CAS)在研究報告中闡述:運算思维是識別 計算,應用計算工具和技術理解人工信息系统和自然信息系统的過程,是邏輯能力、 算法能力、遞歸能力和抽象能力的综合呈現。(CAS, 2015) 2013 年,南安普頓大学 John Woollard 研究者在計算機科學教育創新與技術 (ITiCSE)會議報告中提出運算思维是一項活動,與問題解决相關(但不限于問題解 决) 。它是一個認知或思维過程,能夠反映人們的抽象能力、分解能力、算法能力、評 估能力和概括能力,其基本特徵包括思维過程、抽象和分解。 (Selby & Woollard, 2013) 而台灣的資訊教育在 2017 年對於運算思維之定義為:抽象化、 資料表示、樣式 辨識/一般化、問題解析、演算法思維。 因此就各國的資訊教育發展來看,許多國家都已將程式設計課程作為運算思維之 培育相當重要的一環,因此如何透過程式設計課程有效促進學生運算思維的提升將是 資訊教育中迫切需要研究之問題,故本研究將試圖建構一套程式設計課程以研究學生 運算思維之變化情形。 23.

(34) 肆、 運算思維具體操作定義 運算思維的應用並非只是存在於電腦範疇中,而是在我們的日常生活中都處處可 見,而許多學者也陸續將運算思維具體化,使運算思維有具體化的操作型定義。 Kazimoglu 等人歸納多位學者的論點,提出五點運算思維具體核心技能:(Kazimoglu, Kiernan, Bacon, & Mackinnon, 2012) 1.. 問題解決(problem solving):定義問題、分解問題、評估適當方法解決問題。. 2.. 建立演算法(building algorithm):有結構且逐步執行流程解決特定問題,並可以 使用相似情境中。. 3.. 除錯(debugging):分析問題中的錯誤,屬於批判性和程序性的思考。. 4.. 模擬(simulation):已預先設計好的模組來幫助解決問題 。. 5.. 社交(socializing):指上述過程中與他人進行協調、競爭與合作的行為。 美國國際教育技術協會 ISTE 與計算機科學教師協會 CSTA 合作,透過問卷調查. 的方式蒐集了與電腦科學相關工作的人員對於運算思維的想法,给出了一個操作性定 義: 「運算思维是一種解决問題的過程,該過程包括明確問題、分析數據、抽象、設計 算法、評估最優方案、遷移解决方法六個要素。」 ,運算思維的具體性操作型定義如下 (ISTE & CSTA, 2011)將問題以可用電腦或其他工具解決的方式呈現 1.. 有邏輯組織、分析資料. 2.. 採抽象化方式表示資料內容. 3.. 建立演算法並使解決方案能自動化. 4.. 分析各種解決方案後,找到最佳解決方案. 5.. 將問題解決方案能一般化以解決其他相似問題 人們在日常生活中的很多做法其實都和運算思維不謀而合,也可以說運算思維從. 生活中吸收了很多有用的方法。以下便是運算思維應用於日常生活中之具體範例: (賴 和隆,2016) 1.. 算法(或程序化) :食譜,將一道菜的烹飪方法一步一步地羅列出来,即使不是專 24.

(35) 業廚師,照着菜譜的步驟也能做出可口的菜肴。 2.. 模組化: 「勾芡」這個步驟,與其說是一個基本步驟,不如說是一個模組。勾芡本 身代表一組操作序列:取一些澱粉類的粉末,加點水,攪拌均匀,在適當時候倒 入菜中。由於這個操作序列經常使用,為了避免重複,也為了使食譜結構清晰、 易讀,所以用「勾芡」這個術語簡明地表示。這個例子同时也反映了在不同層次 上進行抽象的思想。. 3.. 緩衝:整理書包的方式:學生隨身攜帶所有的教科書是不可能的,因此每天只能 把當天要用的教科書放入書包,第二天再換入新的教科書。. 4.. 搜尋:如果現在老師說請將本書翻到第 8 章,讀者會怎麼做呢?目錄可以幫助我 們直接找到第 8 章所在的頁碼。這正是電腦中廣泛使用的索引技術。. 5.. 多工及優先性:同時預備多款宴客菜餚的方法。. 6.. 回溯:試圖走出一個陌生的大公園。. 根據各文獻所提出的運算思維內涵整理出以下表件: 表 2-1 運算思維內涵整理表 Abstraction Simulation Algorithm design & procedure Data analysis Data representation Problem decomposition Automation Modelling Problem solving Parallelization Data colloction Pattern generalization Transformation Conditional logic Connection to other fields Debug & error detection Efficiency & performance constraint Pattern recongnition Reduction Systematic Processing Visualization. Wing (2006)  . . Google (2010) . Barr & Stephenson (2011)  . CSTA (2011a)  . CSTA (2011b)  . . . . . .    . . . .    .    . ISTE and CSTA (2011)  . Lee et al. (2011) .  . .   . . .  . .   .  . . Grover & Pea (2013)  .  .       . 資料來源:教育部運算思維推動計畫(2017) 25.

(36) Google for Education 認為運算思維的概念元素是解決計算問題相關的心理過程 和實質的成果,其中共包含 11 個概念元素。心理過程包括:抽象化、演算法、資料 分析、資料收集、分解、模型識別;而實質的結果則是:自動化、資料表示、並行化、 模型類化、模擬。 在臺灣 2017 年教育部推動運算思維推動計畫中揭示運算思維導向教學的 5 大架 構: 1、抽象化(abstraction):能理解文字與圖示之關係與能從題目中擷取出重點。 2、資料表示(data representation):有邏輯的組織和分析資料與了解不同資料格式。 3、樣式辨識/一般化(pattern recognition/generalization):預測問題的規律、找出樣式 做測試、歸納與辨識解題元素、歸納條件結構的指令樣式、了解條件結構的解題樣 式與特性、歸納迴圈內重複的指令樣式、了解迴圈的解題樣式與特性。 4、問題解析(decomposition):將大問題分解成組以解決的小問題與分析解題步驟。 5、演算法思維(algorithmic thinking) :設計出能夠解決類似問題並且能夠執行重複的 指令流程。 研究者專注於發展高中職運算思維,將依據 2017 年教育部運算思維推動計畫所揭 示的五大內涵架構作為本研究方向指標、並依據此五項內涵架構,作為此研究的程式 設計課程的教學目標與評量向度。. 第二節 體驗式學習相關理論 體驗式學習又稱為經驗學習係指一個人直接透過體驗而建構知識、獲得技能和提 升自我價值的歷程(Association for Experiential Education, AEE 1995)。因此體驗式 一種活動也是活動後的產物,透過課程活動的經驗讓學習者在親歷某個學習歷程中進 行反思,並從學習過程中的反思獲得新的價值的過程。 在 1984 年,大衛·庫伯(David Kolb)曾在他的著作《體驗學習:體驗——學習 發展的源泉》 (Experiential Learning: Experience as the source of learning and development) 一書中提出了頗具影響的體驗學習概念。並且提出了體驗式學習的本質中,有以下四 26.

(37) 個主要特性: 1.. 具體的經驗(concrete experience) :學習者可以具體的察覺正在發生的學習過程。. 2.. 經驗可以被觀察與反思(observation of and reflection on that experience):學習者. 是投入於學習過程省思的體驗中,並且將過去經驗與當下的學習做連結。 3.. 根 據 經 驗 形 成 自 己 的 價 值 觀 ( formation of abstract concepts based upon the. reflection) :那些體驗和內容是獨具個人意義的,對當事人而言,學到了什麼和如何學 到的,對個人而言有特別的重要性,並且根據自己學習過程中的經驗反思進而形成自 己的觀念。 4.. 嘗試新的觀念(testing the new concepts) :學習者在學習過程中所反思的新觀念可. 以在未來中被應用。 另外,Kraft and Sakofs(1985)認為體驗學習的過程必須包含下列要素: 1.. 學習者在學習過程中是參與者而非旁觀者。. 2.. 學習活動中個人動機需予以激發,以表現主動學習、參與和責任感。. 3.. 學習活動以自然的結果方式呈現給學習者,所以是真實有意義的。. 4.. 學習者的反思內省(Reflection)是學習過程的關鍵因素。. 5.. 情緒變化與學員及其隸屬群組之目前及未來皆有關聯。 另外,1993 年 Miller 和 Boud 於「運用經驗進行學習(using experience for learning)」. 一書中,歸納出了體驗學習的五項基本元素: 1.. 經驗是學習的基礎,也可以刺激學習。. 2.. 學習者主動的建構其理論。. 3.. 學習是整體的(holistic)。. 4.. 學習是社會的、文化的經驗建構。. 5.. 學習是受到社經脈絡的影響。 Kolb(1984)的四階段經驗學習圈,他把體驗學習闡釋為一個體驗迴圈過程:具. 體的體驗——對體驗的反思——形成抽象的概念——行動實驗——具體的體驗,如此. 27.

(38) 迴圈,形成一個貫穿的學習經歷,學習者自動地完成著反饋與調整,經歷一個學習過程, 在體驗中認知: 1.. 體驗階段(experiencing) 體驗學習是以活動(activity)為媒介來促進參與者利用本身既有的能力,建構團隊. 的分工合作、人際溝通協調、領導與被領導,以及面對挑戰或壓力的問題解決能力, 即使參與者有不同的專業背景、不同的想法,可是因為所有夥伴共同參與一套針對團 隊特性設計的體驗式課程,學員當場聽到、看到、想到,團隊間有了共通的語言,所 以彼此可以馬上交融、對談,這樣產生的課程具體經驗,是許多講授式課程達不到的 效益。 2.. 反思內省階段(reflecting) 從體驗式課程實務操作來講,參與者會比較過去的活動和經驗,並與團隊成員討論. 達成目標的方法,確認團隊的分工細節,活動時間的考量,以發展出突破規則的限制 與創新的想法。 但訓練過程中傳遞的課程目標,必須從抽象化的概念,以不同角度做類比,將概 念的型態具體化,參與者便足以在具體化的過程中找到跟自我的連結。其次,對參與 者而言即便完成活動,但這個過程對我有什麼意義?如果課程設計或課程帶領者找不 出來,對參與者而言可能會是負面的影響,參與者會認為這堂課是浪費時間的,甚至 有可能感受到那是製造紛爭與衝突的,因為他沒有找到那個最終意義,所以這個過程 之間怎麼讓他 make meaning 產生意義其實是很重要的。 課程引導必須讓參與者在活動體驗的過程中,藉由省思與檢視問題產生的核心意 義所在,對課程活動中所看到、聽到、想到的,能夠連結過去既有的概念架構與經驗, 找到問題最終的解決方法。 3.. 歸納階段(generalizing) 透過體驗與反思內省兩個階段,好處是在這個階段會發現一些現實工作環境的事. 實狀態,即便參與者在體驗課程中產生意義了,可是學員的身、心、想法在此階段停. 28.

參考文獻

相關文件

School year setting is designed for defining current school year of the system. School should update this information at the beginning of each school year before importing

全方位學習指學生在真實情境中的學習,以達至在課堂

The well-known halting problem (a decision problem), which is to determine whether or not an algorithm will terminate with a given input, is NP-hard, but

說明 入班課程體驗... 說明

• 訓練課程之設計格式,請參用 本分署規範之課程申請相關表件-學、術科

Therefore the existing transportation system has not been considering the characteristics of female users.This is an original study trying to investigate the differences

(3) There was no significant difference regarding out of school traffic guidance staff with different gender, job title, guidance counselors seniority and age in the

This paper aims to study three questions (1) whether there is interaction between stock selection and timing, (2) to explore the performance of "timing and stock