• 沒有找到結果。

目標導向回饋與配對程式設計對國中生Alice程式設計學習之影響

N/A
N/A
Protected

Academic year: 2021

Share "目標導向回饋與配對程式設計對國中生Alice程式設計學習之影響"

Copied!
121
0
0

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

全文

(1)國立臺灣師範大學資訊教育研究所 碩士論文. 指導教授:陳明溥 博士. 目標導向回饋與配對程式設計 對國中生 Alice 程式設計學習之影響. 研究生:陳婉寧 撰. 中華民國 一百 年 一 月.

(2) 目標導向回饋與配對程式設計 對國中生Alice程式設計學習之影響 摘 要. 本研究藉由實驗教學使用強調不同目標導向的學習回饋來進行教學活動,並 以個人或配對的方式分組,探討對學習Alice程式設計概念之學習成效與學習態度 的影響。自變項包含目標導向回饋方式與分組方式,目標導向回饋方式依照正規 目標理論將學習回饋分為精熟導向回饋、績效導向回饋兩種模式;分組方式將學 生區分為個人組或配對組來進行程式的撰寫。研究設計採因子設計之準實驗研究 法,研究對象為國民中學七年級學生。研究結果顯示:(1)精熟導向回饋方式有助 於提升學生在程式設計概念的學習成效表現;(2)精熟導向回饋學生在學習態度之 回饋接受度面向上表現優於績效導向回饋組學生;(3)配對組學生在學習態度之回 饋幫助度面向上表現優於個人組學生。. 關鍵詞:目標導向理論、回饋、配對程式設計. i.

(3) The Effects of Goal Orientation Feedback and Pair-Programming on Novices’ Learning Alice Programming. By Wan-Ning Chen. Abstract. The purpose of this study was to investigate the effects of type of goal orientation feedback and type of groupings on novices’ learning Alice programming. Two types of goal orientation feedback, mastery and performance, and two types of groupings, Pair group and individual group, were employed in this study. There were 176 junior high students participated in the 8-week programming learning activity. The analysis for learners' learning performance including operation skills, basic conception and advanced conception, whereas the analysis for learners' learning attitudes included three aspects, which were learning motivation, feedback acceptance and feedback Help degrees. The results revealed that (a) the mastery object orientation feedback was helpful to novices in programming learning performance; (b) the mastery object orientation feedback had better performance on feedback acceptance than performance object orientation feedback; (c) pair group had better performance on feedback help degrees than individual group.. Keywords: goal orientation theory; feedback; pair-programming. ii.

(4) 誌 謝. 時光轉眼即逝,兩年多的研究生活已接近暫告一段落,一路走來受到許多人 不厭其煩的關懷與支持,由衷感謝各位陪伴我一同走過這段旅程,讓我的研究生 活充實而喜悅。 首先,感謝我的指導教授陳明溥老師,在授課解惑、研究設計直至論文撰寫 的過程中,您耐心給予學生諄諄教誨與殷切關懷,一步步引導學生渡過每個階 段,老師的指導建議與不斷鼓勵讓學生得以順利完成論文,學生受益良多,非常 感謝老師!您辛苦了。 感謝蕭顯勝老師與沈俊毅老師百忙之中撥空參加學生的口詴與審閱論文,在 論文撰寫上給予我許多指導與建議,讓學生的論文能夠更臻完善。 感謝施青秀老師在實驗中給予我相當多的協助、鼓勵與建議,讓我更容易掌 握實驗進行的情況,教學實驗得以如期完成,非常感謝您的幫助。 感謝麗君學姐、曉嵐學姐、明娟學姐、貴徽學姐、瑋芷學姐、如詵學姐,無 論在實驗室的生活或是論文研究上都給予我很大的幫助與鼓勵;感謝實驗室的同 學們,宜娣、毓筑、哲宇、宗霖,閒暇時一起談天說地、衝刺時彼此互相激勵, 有你們真好!感謝實驗室的學弟妹們,韻婷、皓伶、靖怡、登智,以及裕芬、怡 帆、寶萱、承俞、京翰、欣垚,大家的幫助與陪伴點滴在心。也感謝所上的學長 姐、同學們以及我的好友們,你們親切的問候與支持讓我倍感溫暖。 特別感謝宜娣和毓筑的傾力相助,鼓勵我擺脫低潮突破障礙,幫助我跨越重 重難關,感謝你們!特別開心有宜娣的相依相持,完成論文的一路上波折風雨不 斷,能夠走到這一步多虧有你。 最後,非常感謝我親愛的爸爸、媽媽和姐姐,總是賦予我無微不至的關懷、 體諒與照顧,讓我能夠毫無後顧之憂完成學業,你們是我最珍愛的寶藏。. iii.

(5) 目 錄 附表目錄……………………………………………………………………………vi 附圖目錄……………………………………………………………………………vii 第一章. 緒論……………………………………………………………………… 1. 第一節. 研究背景與動機…………………………………………………… 1. 第二節. 研究目的與待答問題……………………………………………… 4. 第三節. 研究範圍與限制…………………………………………………… 5. 第四節. 名詞釋義…………………………………………………………… 7. 第二章. 文獻探討………………………………………………………………… 9. 第一節. 程式設計教學……………………………………………………… 9. 第二節. 目標導向回饋………………………………………………………20. 第三節. 配對程式設計………………………………………………………26. 第三章. 研究方法…………………………………………………………………31. 第一節. 研究對象……………………………………………………………31. 第二節. 研究設計……………………………………………………………32. 第三節. 研究工具……………………………………………………………34. 第四節. 研究程序……………………………………………………………43. 第五節. 資料分析……………………………………………………………46. 第四章. 結果與討論………………………………………………………………49. 第一節. 程式設計學習成效分析……………………………………………49. 第二節. 程式設計學習態度分析……………………………………………54. 第五章. 結論與建議………………………………………………………………59. 第一節. 結論…………………………………………………………………59. 第二節. 建議…………………………………………………………………61. 參考文獻……………………………………………………………………………63 iv.

(6) 附錄一. Alice 基礎程式設計單元教材……………………………………………74. 附錄二. 配對程式設計學習記錄…………………………………………………105. 附錄三. 學習態度問卷……………………………………………………………106. 附錄四. 程式設計成尌測驗………………………………………………………107. 附錄五. 實作評分標準……………………………………………………………113. v.

(7) 附表目錄 表 2-1. 目標導向分類表…………………………………………………………22. 表 3-1. 研究對象人數分配表……………………………………………………31. 表 3-2. Alice 基礎程式設計課程架構表………………………………………35. 表 3-3. 程式設計學習態度問卷向度、題數分配及內部一致性………………40. 表 3-4. 程式設計實作評分量表各向度之 Spearman 相關係數………………42. 表 4-1. 程式設計學習成效之平均數、標準差及人數…………………………50. 表 4-2. 程式設計學習成效之共變量矩陣等式之 Box 檢定…………………51. 表 4-3. 程式設計學習成效之多變量檢定………………………………………51. 表 4-4. 程式設計學習成效之受詴者間效應項的檢定…………………………52. 表 4-5. 程式設計學習成效分析摘要表…………………………………………53. 表 4-6. 程式設計學習態度之平均數、標準差及人數…………………………55. 表 4-7. 程式設計學習態度之共變量矩陣等式之 Box 檢定…………………56. 表 4-8. 程式設計學習態度之多變量檢定………………………………………56. 表 4-9. 程式設計學習成效之受詴者間效應項的檢定…………………………57. 表 4-10. 程式設計學習態度分析摘要表…………………………………………58. vi.

(8) 附圖目錄 圖 2-1. Scratch 軟體介面…………………………………………………………14. 圖 2-2. Jeroo 軟體介面……………………………………………………………15. 圖 2-3. Stagecast Creator 軟體介面………………………………………………16. 圖 2-4. Alice 軟體介面……………………………………………………………17. 圖 3-1. 研究設計架構圖…………………………………………………………32. 圖 3-2. Alice 軟體介面圖…………………………………………………………34. 圖 3-3. 學習回饋單………………………………………………………………37. 圖 3-4. 教學實驗流程圖…………………………………………………………39. 圖 3-5. 研究流程圖………………………………………………………………43. 圖 3-6. 程式設計學習成效分析流程圖…………………………………………47. 圖 3-7. 程式設計學習態度分析流程圖…………………………………………48. vii.

(9) 第一章. 緒論. 本章針對研究背景與動機、研究目的與待答問題、研究範圍與限制及重要名 詞釋義分別進行闡述。. 第一節. 研究背景與動機. 為了提高國民對於資訊科學基礎知識的認知,以及培養運用資訊科技的興 趣、觀念與態度,教育部於民國九十二年修訂並公佈國民中小學九年一貫課程綱 要,將資訊教育歸為重大議題之一,指出資訊教育的目的在於培養學生對於資訊 之取得、應用與分析之能力,以及正向的資訊學習態度,而在五大核心能力指標 中,將國中生劃分為第四學習階段,提出此學習階段之學生應瞭解程式語言的功 能並能加以應用,並將授課節數由原本的1節課大幅提升為6~7節,顯示對於程式 設計教學重視程度的提升。 程式設計是高度複雜的思考歷程,需要密集的邏輯思考與良好的問題解決能 力,但也因此使得學習者容易在學習的過程中遭受失敗或挫折。影響程式語言學 習成效的可能因素有:學習者對於程式在電腦中的執行過程有理解上的困難,因 為這個過程是學習者無法直接看到或接觸到的(Shih & Alessi, 1993),例如執行修 改變數值的程式碼時,記憶體中的資料是如何被修改;教師過於著重在講解語法 (syntax)的規則與記憶,導致忽略了培養學習者觀察整體程式架構、思考與問題解 決能力的重要性(Cox & Clark, 1994; Du Boulay, 1989; Mayer, 1988; Pea, 1983);以 及課程中所使用的程式語言與教學目標不相符等。因此,在設計教學活動時,應 以適當的理論架構為基礎來規劃教學策略,並選擇符合教學需求的程式語言作為 學習工具,以改善程式語言之學習成效。 程式設計的教學目標是要培養學生邏輯思考與問題解決的能力,但這也是學 習者容易遭遇困難的地方(Ennis, 1994)。問題解決(problem solving)是指學習者在 解題的過程中整合運用已習得的規則、宣告性知識與認知策略,以達到解決目前 所面臨的問題的最終目標(Smith & Ragan, 1999)。然而在達到最終目標的過程中, 1.

(10) 學習者的目標導向會導致不同的解決方式與途徑,對於問題解決成尌也可能產生 影響。目標導向理論(goal orientation theory)認為目標與動機有重要的關係,其中 心思想是學習者會整合自己的某種信念,並依據信念來逐步完成學習 (Ames, 1992),重視於探討學習者「為什麼(Why)」進行學習行為的理由(Dweck, 1986)。 正規目標理論(normative goal theory)以二分法將學習理由分為「精熟目標」 和「績效目標」,前者以學習本身為焦點,重視學習過程中能夠獲得的知識、技 能或策略,認為能力是可以透過努力加以提升的,在面對失敗時會將原因歸咎於 努力的不足,成功的獎勵是內心的喜悅或滿足感;後者以良好表現為焦點,能夠 獲得好成績的場合會積極參與,反之則逃避以免得到負面的評價,在面對失敗時 表現消極的態度,成功的獎勵是他人的讚賞或肯定。 傳統程式設計教學多為教師講解概念與示範操作,再讓學生進行個別練習, 然而由於學生可能無法跟上老師的講述,容易使得學生的學習進度產生落差,學 生同儕間缺乏交流互動,教師也很難顧全每位學生的個別需求。針對前述問題, 許多研究者使用配對程式設計的方式來進行程式設計教學,讓兩位學習者共同使 用一台電腦,合作寫出一個程式,其中一人負責撰寫程式碼,另一人負責綜觀整 體程式產出,並檢查是否有出錯或可改進的部分。結果發現配對程式設計能夠改 善程式碼的品質,並提高學習者的自信與滿意度(Bevan, Werner & McDowell, 2002; Williams, Wiebe, Yang, Ferzli & Miller, 2002);另一方面,亦有研究者發現使用配 對程式設計的學生之學習成尌並未高於個人程式設計的學生,但配對程式設計的 學生肯定配對有助於學習(黃建庭, 2003)。 一般用途的程式語言(如C、C++或Java等)由於語法複雜繁多,入門門檻較高, 容易造成初學者在程式設計之學習成效與學習興趣上產生負面影響(Felleisen, Findler, Flatt, & Krishnamurthi, 2004),因此需要一個有趣且容易上手的程式設計學 習環境,讓學習者更容易投入學習。本研究採用美國卡內基美隆大學(Carnegie Mellon University)所研發的程式設計軟體Alice作為教學工具,其具備視覺化圖形 操作介面,讓使用者以拖放與組合程式區塊的方式撰寫程式,不僅可以避免語法 2.

(11) 的錯誤,更能集中注意力於語意的理解(Ko, 2004)。Alice將程式執行結果以3D動 畫的形式呈現,可以減少邏輯錯誤與降低學習挫折(Adams, 2007),使用者可以操 作Alice撰寫程式,創作動畫故事或進行互動遊戲,有助於提升學習樂趣與學習態 度,並降低學習門檻,讓學習者對程式設計的感受變得較為平易近人(Cooper, Dann & Pausch, 2000)。 綜合上述,本研究擬使用強調不同目標導向的學習回饋來進行教學活動,並 以個人或配對的方式分組,探討不同目標導向回饋與分組方式對使用Alice學習程 式設計的學習成效與學習態度的影響。. 3.

(12) 第二節. 研究目的與待答問題. 本研究旨在探討不同的目標導向學習回饋(精熟導向回饋、績效導向回饋)與 不同分組方式(個人、配對)對於國中七年級學生在程式設計學習成效與學習態度 上的影響,以提供國中資訊科教師在程式設計教學規劃上之參考。本研究期望透 過教師的教學回饋與分組合作學習的方式輔以Alice視覺化程式設計學習工具的 使用,能夠促進學習者在程式設計學習上的成效表現,並對程式設計持有正向的 學習態度。本研究之研究目的與待答問題分述如下。. 壹、研究目的 本研究之目的在於透過探討不同目標導向學習回饋與不同分組方式,讓國中 生使用Alice程式設計軟體學習程式設計相關概念,培養程式設計問題解決能力與 資訊科技的使用能力,並能對程式設計持有正向的學習態度。因此,本研究之研 究目的如下: 一、探討不同目標導向的學習回饋與不同分組方式對於學習者在程式設計學習 成效上的影響。 二、探討不同目標導向的學習回饋與不同分組方式對於學習者在程式設計學習 態度上的影響。. 貳、待答問題 針對前述研究目的,提出下列待答問題: 一、不同目標導向的學習回饋與不同分組方式是否對學習者之程式設計學習成 效(操作技能、基礎概念、進階概念)產生不同的影響? 二、不同目標導向的學習回饋與不同分組方式是否對學習者之程式設計學習態 度(學習動機、回饋接受度、回饋幫助度)產生不同的影響?. 4.

(13) 第三節. 研究範圍與限制. 本研究為配合教學活動之設計與進行,在研究對象、教學內容與評量、教學 方法、教學時間與地點有以下之研究範圍與限制:. 壹、研究對象 本研究對象為國中七年級學生,研究樣本180人,排除未能全程參與之4人, 因此有效樣本為176人,其中男生114位,女生62位,年齡介於12到13歲之間。為 符合教學模式分組需求,隨機抽取四個班,分派兩班為「精熟導向回饋組」,另 兩班為「績效導向回饋組」,並將兩組其中各一班分配為「配對組」,另一班則分 配為「個人組」。由於本研究之基本假設為不受其他外在因素的影響(如校外的電 腦營),各班學生在校皆未修習程式設計相關之課程,皆為程式設計的初學者,因 此本研究結果只能推論至相似之研究樣本。. 貳、教學內容與評量 本研究的教學內容為研究者自編之「Alice基礎程式設計」單元教材,教材包 含三個單元,內容介紹Alice基本的操作功能並教授物件、類別、屬性、方法、事 件、Do in order與Do together的概念,以及撰寫程式的步驟與註解的功用。本研究 之程式設計學習成效測驗採用上機實作方式,僅著重於授課內容之程式概念,其 餘部分則不做深究及討論,因此研究結果僅能推論至類似的教學內容與評量方 法。. 參、教學方法 教學方法採用不同目標導向回饋方式與分組方式進行,精熟導向回饋組個別 給予各組學習者學習回饋單,績效導向回饋組則公告全班成績;配對組之操作者 負責操作Alice撰寫程式,觀察者則負責綜觀整體程式碼、提供操作者更正建議等 5.

(14) 回饋,並填寫配對程式設計學習紀錄。故研究結果僅能推論至類似的教學方法。. 肆、教學時間與地點 本研究之教學實驗為配合原學校之進度安排,教學實驗時間為八節課,共360 分鐘,各組學習者皆有相同的學習時間,因此本研究結果只能對短時間接受程式 設計教學課程之學習成效與學習態度表現做推論。實驗地點為原課程之電腦教 室,每位學習者都有一部電腦能進行操作。. 6.

(15) 第四節. 名詞釋義. 壹、問題解決 問題解決是指個體在面對問題情境時,綜合運用本身具備的知識或技能,以 尋求達成問題的理解,並解決問題的思維活動歷程(張春興, 1996; Kahney, 1986)。 這段心理的活動歷程涉及個體對於問題的認知、與問題相關的先備知識、資料收 集、產生解決策略、對結果的判斷與評估等。本研究在各教學單元中會給予學習 者任務問題,學習者透過解決任務問題來學習。. 貳、目標導向回饋 目標導向理論關注於個體從事學習行為的動機,認為個體之所以進行學習是 根據其所抱持的信念而行動,其目的可能是想增進自身所具備的知識技能,或是 希望得到來自他人的認同,學習者判斷是否成功的標準會因其所持信念的差異而 有所不同,而不同的判斷標準也會影響其他動機方面的信念,如歸因、情感、實 際的學習表現與行為等(Schunk, 1996)。本研究以目標導向作為教學回饋,區分為 精熟導向回饋與績效導向回饋兩組。精熟導向回饋組由教師在每回單元習題批改 時,針對各組個別提供學習回饋單與成績,說明評分理由,釐清學習者可能的問 題與迷思,並對程式碼給予更正建議,各組學習者只會收到本組的學習回饋單; 績效導向回饋組則提供全班成績及名次,所有學習者皆能看到他人分數,讓學習 者了解自己的成績落點。. 參、配對程式設計 配對程式設計(pair-programming)是指兩個人使用一台電腦,共同合作寫出一 個程式。一個人扮演操作者(actor),負責撰寫程式碼;另一人扮演指揮/觀察者 (director/ observer),負責綜觀整體程式產出,檢查是否有出錯或可改進的部分, 並給予操作者回饋(Bishop-Clark, Courte, & Howard, 2006)。本研究採用配對程式 7.

(16) 設計與個人程式設計,配對組之學生依其偏好分為兩人一組,個人組之學生則獨 自學習。. 肆、程式設計學習成效 本研究之程式設計學習成效係指學習者在接受教學實驗後,針對學習者所完 成之實作任務進行「操作技能」、「基礎概念」及「進階概念」三個向度的評分, 以了解學習者在Alice程式設計上的成尌表現。「操作技能」主要評估學習者能否 適當運用Alice操作面板上的各項功能為動畫場景加入物件,並觀察調整物件位 置;「基礎概念」主要評估學習者能否辨別與使用正確的語法標籤,為程式碼設 定適當的物件、參數值以及附加參數,為屬性設定適當的預設值,並將語法標籤 組合為程式碼;「進階概念」主要評估學習者能否自建方法與事件,適當運用流 程控制標籤讓程式正確執行,並調整動畫進行的流暢性。各向度所得之平均分數 越高,表示學習者之程式設計學習成效越好。. 伍、程式設計學習態度 本研究之程式設計學習態度係指學習者在接受教學實驗後,針對學習者在使 用Alice學習程式設計時,透過不同目標導向回饋與分組方式進行教學活動的看法 與感受進行評估,分為「學習動機」 、 「回饋接受度」及「回饋幫助度」三個向度。 「學習動機」主要檢測學習者在完成Alice基礎程式設計課程後,對於課程的興 趣、學習意願與喜好程度;「回饋接受度」主要檢測學習者對於學習過程中得到 之回饋的理解程度與接受回饋的意願;「回饋幫助度」主要檢測學習者對於學習 過程中得到之回饋對其學習程式設計的幫助程度。. 8.

(17) 第二章 文獻探討 本研究以Alice做為學習工具,探討不同目標導向回饋與配對分組方式,對國 中生學習程式設計的成效表現與學習態度之影響。本章首先尌程式設計教學的意 義與困境進行闡述,並列舉數種程式設計教學工具進行說明;接著針對目標導向 理論的由來、定義與內涵分別闡述,繼而尌回饋的定義與其應用在教學環境中之 情形進行探究;最後針對配對程式設計說明其由來與在教學上的優勢。以下將分 別針對程式設計教學、目標導向回饋與配對程式設計,分別探討相關文獻並進行 整理與歸納,提供資訊學科領域教師於教學設計時,規劃適切教學活動之參考, 以促進學習者之程式設計學習成效,並對程式設計抱持正向的學習態度表現。. 第一節. 程式設計教學. 本節針對程式設計的教學情況進行探究。首先探討學習程式設計的意義與價 值,接著對造成程式設計教學困難的因素進行歸納,最後探討程式設計教學工具 的應用情形。. 壹、程式設計學習意義 教育部於92學年度開始實施之國民中小學九年一貫課程綱要,明確指出國中 階段的學習者應具備「認識程式語言,了解其功能與應用」之資訊能力(教育部, 2003)。程式設計是一個複雜的認知歷程,其目的在於使用程式語言來解決問題; 而學習程式設計的目的,是要培養學習者運用程式的語法或技巧來解決日常生活 各種問題的能力(Schollmeyer, 1996; Volet & Lund, 1994; Winslow, 1996)。 程式設計能訓練學習者問題解決能力,對於設計、創造、溝通、彙整與分析 能力的提升皆有幫助(Ellinger, 2003)。程式設計之問題解決教學歷程大致可以分為 以下四個階段:(1)瞭解問題需求(specification)、(2)擬定解題計劃(planning)、(3) 撰寫程式碼(programming)、(4)測詴與除錯(testing and debugging) (Deek, Kimmel, 9.

(18) & McHugh, 1998; Winslow, 1996),也尌是在撰寫程式前,首先頇讓學習者瞭解問 題的意義並釐清問題所涵蓋的概念,接著根據已知將問題加以分析、分解並提出 解題計劃,依照解題計畫撰寫程式碼,最後執行程式碼並修正錯誤。學習應該是 一個反覆進行(1)增加(additions)、(2)精緻化(refinements)、(3)除錯(debugging)的歷 程(Papert, 1970),而學習者在進行程式設計問題解決時也會經歷此過程,因此學 習程式設計不僅是學會程式概念或技能,在過程中同時也讓學習者更加熟悉學習 的方法。 綜上所述,學習程式設計,不僅增強資訊科學相關的知識與技能,也能培養 學習者問題解決的能力與適當的學習方式,學習者亦可將所學應用到其他學習領 域或日常生活當中。. 貳、程式設計教學困境 在進行程式設計問題解決的過程中,由於程式在電腦內部執行的過程無法以 肉眼觀察,因此學習者必頇依靠想像來撰寫程式碼,而對此類抽象概念的理解往 往是學習者最大的障礙,此外,複雜語法的記憶背誦,也容易造成學習成效與學 習動機低落(Soloway & Spohrer, 1989)。傳統程式設計的教學方式把教學重心放在 程式語法指令與程式邏輯架構的記憶上,而不重視問題解決的歷程,因此學生面 對問題時不了解如何從整體的角度看待問題,往往不知從何著手處理(邱貴發, 1996; McIver, 2000),甚至造成學習挫折(White, 1997)。程式設計教學常見的問題 可以歸類為以下數點:. 一、抽象概念的理解障礙 Lahtinen、Ala-Mutka與Järvinen (2005)的研究指出,學習者認為學習程式設計 很困難的主要原因之一,是難以對學習程式設計時所需要的抽象概念有正確的理 解。傳統程式設計教學方式通常是由教師口頭講解程式概念,然而這些程式概念 往往無法由肉眼得見,只憑口語難以具體描述(Yazici, Boyle & Khan, 2001),特別 10.

(19) 是初學者本身先備知識不足,沒有足夠的具體經驗,便容易對抽象概念有理解上 的障礙。. 二、複雜語法的記憶困難 McIver (2000)研究指出,若將程式設計課程重點聚焦在繁瑣的語法規則上, 會阻礙學習者學習程式設計的基礎概念以及解決問題的能力,不會從整體的角度 去看問題。而程式設計初學者容易專注於記誦程式碼語法,容易因而產生迷思偏 差(Cooke & Schvaneveldt, 1988),若碰到艱深的語法或是必頇根據結果不斷修正的 重複作業,容易使學習者感到挫折(Bishop-Clark et al., 2006)。此外,過度強調語 法的記誦,無法將重點置於問題解決技巧教學上,可能造成初學者在學習策略之 發展上處於弱勢(Howell, 2003)。. 三、理解問題的能力缺乏 Muller (2005)研究指出,學習者在接觸到問題時,不知要從何處開始建構解 決問題方法的情形所在多有。多數程式設計教學方式是由教師進行概念講解,學 習者在教師講授完畢後接著自行實作程式題,然而學習者的解題思考模式容易受 到教師範例的影響而受限,碰到較難或變化性較高的題目,很容易找不出解題的 頭緒,其中初學者更容易將程式錯置,難以進入解題的脈絡(Spohrer & Soloway, 1986)。. 四、難以連結既有知識 既使已突破問題理解上的障礙,學習者常會不知如何將已經學過的知識與問 題進行有意義的連結,因此無法設計出有效的程式碼來解決問題(Bishop-Clark, 1992; Lahtinen, Ala-Mutka & Järvinen, 2005; Robins, Rountree & Rountree, 2003)。其 中初學者傾向於運用某些特定的指令,但亦不清楚如何將已經學過的知識與問題 進行結合成為有效的解題計劃(Lahtinen, Ala-Mutka & Järvinen, 2005)。 11.

(20) 五、缺乏轉化解題計劃為程式碼的能力 Winslow (1996)研究指出,有些程式設計學習者雖然能夠理解程式敘述之語 法及語意,但卻仍不清楚如何將這些敘述進行有意義的結合,把規劃好的問題解 決方案轉化成為程式碼。其中初學者經驗更少,更不容易將已經學過的知識進行 邏輯化的組織(Bishop-Clark, 1992)。. 六、學習回饋的不足 在程式設計學習時,學生需要獲得建設性與矯正性回饋(Bancroft & Roe, 2006),以瞭解自己的程式有哪些缺失、應如何修正。然而在實際課堂上,往往為 顧及課程進度,學習者缺乏足夠的資源和適性的指導(Lahtinen, Ala-Mutka & Järvinen, 2005),教師亦無法針對每一位學習者不同的學習情況一一給予回饋 (Gomes & Mendes, 2007)。. 程式設計教學的主要目的,不在於培養撰寫程式的人才,而應該著重學習者 解決問題的過程(鄭慧娟, 1994)。在程式設計的過程中,有許多不易被初學者察覺 的問題解決內隱歷程隱含在內,而這些內隱歷程是解決問題的重要關鍵(陳明溥, 2007; Govender & Grayson, 2006; Kirsner, 1998)。綜合上述,教師在規劃教學活動 時,是否能考量學習者在初學程式設計時可能遭遇的困難與迷思,適性且適度提 供學習回饋,並將教學重心放在如何將各種程式設計概念進行結合與運用,培養 學習者能應用所學概念來解決問題的能力(Robins, Rountree & Rountree, 2003),將 會是影響程式設計教學成效的關鍵因素。. 參、程式設計教學工具 由於學習上的困難,學習者對於資訊科學相關領域的學習興趣明顯降低(Daly, 2009; Vegso, 2005)。因此在程式設計的教學上,為了幫助學習者獲得較佳的學習 12.

(21) 成效,應依據教學目標選用適切的程式語言來進行教學(Cox & Clark, 1994)。針對 程式設計教學所面臨的困境,坊間已出現許多程式設計軟體,可以促進學生理解 基本的概念(Rodger, 2002)。Powers等人(2006)將適合初學者使用的程式設計教學 工具分為五類:(1)敘事型程式設計工具(narrative tools):能夠建立故事情節,對 於多數學習者較有吸引力;(2)視覺化介面程式設計工具(visual programming tools):使用圖像化的操作環境,學習者透過拖移程式區塊的操作方式來組合程式 碼(3)流程化程式設計工具(flow-model tools):透過連結程式元件的方式來呈現與 發展演算法(4)實體化輸出程式設計工具(specialized output realizations):以機器人 或多媒體的形式展示程式輸出的結果,通常造成學習者較高動機(5)階梯型程式設 計工具(tiered language tools):為初學者和進階學習者提供不同階級的設定,學習 者可根據自身程度調整階級。以下針對數種坊間適用於初學者的程式設計教學工 具進行說明。. 一、Scratch Scratch 是由美國麻省理工學院(Massachusetts Institute of Technology, MIT)的 Media Lab 所開發的程式設計軟體,其介面如圖 2-1 所示。Scratch 軟體同時結合 敘事性與視覺化程式介面兩項特色,學習者可以自行加入角色,將介面左側的程 式區塊拖曳到中央的程式編輯區,依照程式邏輯排列組合為程式碼,並透過右側 的舞台檢視程式碼執行成果。學習者無頇背誦程式語法,即可以說故事的方式來 創造各種故事、動畫、音樂和遊戲,創作作品亦可上傳至網路與其他使用者分享。 Scratch 官方網站 http://scratch.mit.edu 提供軟體免費下載。. 13.

(22) 圖 2-1. Scratch 軟體介面. 二、Jeroo Jeroo 屬於敘事型的程式設計工具,具有整合式的圖形發展環境(Daly, 2009), 在 Windows、Mac OS-X、Solaris 與 Linux 系統平台上皆可執行,學習者可以透過 Jeroo 學習 Java、C++、C#或 Python 等程式語言。Jeroo 介面如圖 2-2 所示,在介 面左方區域顯示原始程式碼,右方區域以圖形化的方式顯示程式執行結果。研究 顯示,Jeroo 可以提高學習者信心,適合作為學習 Java 程式語言的入門工具(Sanders & Dorn, 2003)。Jeroo 官方網站 http://www.jeroo.org/ 提供軟體免費下載。. 14.

(23) 圖 2-2. Jeroo 軟體介面. 三、Stagecast Creator Stagecast Creator 是由美國 Stagecast Software 公司開發,是一種無語言的程式 設計(languageless programming),使用者無頇撰寫程式碼,只需透過建立圖形化 的規則來讓角色做出動作,希望讓使用者能夠以操作一般應用軟體的方式來進行 程式設計(Smith, Cypher, & Tesler, 2000)。使用者創造的每一個角色,皆以圖形化 的規則來定義角色之動作,這些動作規則即為 Stagecast Creator 的程式碼。其介 面如圖 2-3 所示,右方為使用者為角色設定的行動規則,左方則為場景區,用以 呈現執行情況。Stagecast Creator 官方網站 http://www.stagecast.com/ 提供評估版 軟體免費下載。. 15.

(24) 圖 2-3. Stagecast Creator 軟體介面. 四、Alice Alice為美國卡內基美隆大學(Carnegie Mellon University) 所研發的免費軟 體,整合了敘事與視覺化程式設計工具的特性,使用者以拖曳的方式將程式標籤 組合為程式碼,並透過觀察3D動畫情境來瞭解程式碼執行的結果,著重於程式概 念的理解而無頇強記語法(Daly, 2009),因此適合程式設計初學者使用。Alice內含 物件、類別、變數、迴圈與事件等程式語法標籤,可用來教授物件導向程式概念。 Alice之操作介面如圖2-4所示。 Alice內建物件類別庫,包含數百個物件及物件預設方法,可從本機或透過網 路下載取得。使用者可以從中選取想要的物件加入場景區以建立動畫起始場景, 並從物件區、物件詳細資料區、流程控制區與中將程式語法標籤拖曳至程式編輯 區或事件區中,依照邏輯組合為程式碼,程式碼執行結果以3D動畫形式呈現,讓 使用者能夠以視覺直觀理解執行情況,有助於使用者將程式碼與實際運作過程進 行連結(Howard, Evans, Courte, & Bishop-Clark, 2006)。Alice在Windows、Linux、 16.

(25) 和Macintosh等系統平台上皆可執行,最新版本可與Java程式碼連結,官方網站 http://www.alice.org/ 提供軟體免費下載。. 圖 2-4. Alice軟體介面. 肆、Alice 程式設計教學相關研究 對於非主修資訊的學生而言, 學習程式設計概念時常會讓學生感到洩氣 (Bishop-Clark, Courte, Evans, & Howard, 2007),而一般用途的程式語言入門門檻 較高,因此教學者頇要一個能讓學生容易投入學習,並且只需花很短的時間即可 操作的有趣環境。而Alice正是一種適合用於介紹演算法與基礎物件導向概念的教 學工具(Lorenzen & Sattar, 2008),其拖放式的編輯介面可以避免語法的錯誤。此 外,透過Alice學習,也能讓學習者對程式設計的感受變得較為平易近人(Cooper et al., 2000)。以下尌Alice應用在程式設計教學情境中之效用對相關研究進行整理:. 17.

(26) 一、幫助促進學習理解 使用Alice進行程式設計教學,可以提高學習成效(Bishop-Clark et al., 2007)、 促進學習保留(Cooper, Dann & Pausch, 2003; Moskel et al., 2004),且讓學習者對程 式設計的概念有更好的理解(Bishop-Clark et al., 2007)。. 二、減低學習挫折感 Alice涵蓋物件導向的概念,因此Alice的課程中所教導的「類別」與「物件」 概念,可以很容易地轉換Java上面,適合作為學習Java的前導課程。雖然學生在 從拖放式介面轉換到打字的編輯方式時會碰到挫折,但是他們也能夠很快地修正 語法錯誤(Lorenzen & Sattar, 2008),並且提昇學習信心(Bishop-Clark et al., 2006)。 此外,Alice 3D動畫的呈現方式可以減少邏輯錯誤的產生;而由邏輯錯誤造成的 挫折感,也容易被古怪的動作表現引發的歡笑所取代(Adams, 2007)。. 三、提升學習程式設計的意願 相較於學習一般用途的程式語言,Alice對於學習者而言有較高的學習安全 感,也較容易從完成動畫的過程中得到滿足,形成較高的學習動機(Daly, 2009)。 Moskel等人(2004)探究是否使用Alice進行教學對資訊科學一年級的學生程式設計 學習態度的影響,結果發現使用Alice的學生態度分數沒有顯著提升,但沒有使用 Alice的學生其態度分數有顯著的降低。而Cooper等人(2003)研究在大學中使用 Alice進行教學的情況,結果顯示多數學生在CS1課程使用Alice後,願意繼續修習 CS2的課程。表示Alice的使用對於程式設計學習者而言,在學習態度與意願方面 有較正面的助益。. 四、趣味性與易用性 Alice以3D立體的模擬環境呈現執行程式碼所產生的動畫,不僅物件與物件可 以具有高度的互動性,使用者也可以與物件進行互動,運用Alice說故事或創作互 18.

(27) 動遊戲,有助於提升學習樂趣並促進的正向學習態度(Howard et al., 2006)。 Bishop-Clark等人(2007)使用Alice進行教學,研究結果發現大部分的學生認為使用 Alice是有樂趣的。而從性別方面來看,Adams (2007)研究女性學習者使用Alice的 效果,研究發現女學生有高度的學習動機並樂於使用Alice創作動畫,對於學習程 式設計的興趣相對較低的女性而言,Alice動畫呈現方式有助於引起女性學習者的 學習興趣。此外,對於Alice易用性的探究,Rodger (2002)將JAWAA、StarLogo、 Alice與Karel++整合在同一個課程中,讓學生使用每一種環境一小段時間,結果 顯示因為Alice具有較高的易用性與互動性,學生較偏向於使用Alice。. 綜合上述,Alice動畫呈現的方式讓學習者不易因為錯誤的程式而信心低落, 而信心可以轉化為主動嘗詴學習程式設計的自願性(Bishop-Clark et al., 2007),學 習者可以從不斷嘗詴錯誤的過程中學習;此外,Alice對於促進學習者對學習程式 設計有正向的學習表現與學習態度,具備趣味性與易用性,同時圖形化的操作介 面讓初學者容易上手,因此本研究採用Alice作為實驗教學工具,期望能對程式設 計初學者有所幫助。. 19.

(28) 第二節. 目標導向回饋. 本節首先探討目標導向理論之由來,針對其定義與類型分別進行闡述,接著 說明回饋之定義,並針對不同回饋方式對於學習情況的影響進行探討。. 壹、目標導向理論的由來 在近年來針對個體學習動機之研究中,目標導向理論一直被運用在探討理解 個體行為和動機與成尌情境的關聯上,為近代受到重視的一派動機理論(Pintrich & Schunk, 1996)。目標導向著重於個體產生行為動機的原因,並強調個體應重視 自身對自我、任務與表現之間互動情況的認知(Ames, 1992; Dweck, 1986)。目標導 向是動機理論的一種,主張目標能夠影響個體 的學習動機 與學習投入 情 況 (Pintrich, 2000b; Suarez Riveiro, Cabanach, & Arias, 2001)。當代的目標導向理論起 源於成尌動機理論(achievement motivation theory),早期的動機理論主要探討關於 本能需求的分類,著名的包含Murray (1938)的「需求理論」以及Maslow (1954)的 「需求層次論」。 Murray的需求理論將需求的定義為起源於腦中某部位的力量,此種力量能夠 組織知覺、思考、情意與活動,以改變個體目前不滿足的狀態。Murray的需求理 論是將人類需求區分為二十種,並且假設人類一生的行為都會受到這些需求影 響。此二十種需求除去性需求外,多數是由心理因素所引起。Murray認為需求通 常由外在刺激引起,但也可能由內在產生,並通常會伴隨有情緒與解決需求的辦 法產生。 Maslow的需求層次論(need-hierarchy theory)可將人的需求區分為下列七種: (一)生理的需求(physiological need),包括食、衣、住、性等維持生命及延續種族 的基本需求;(二)安全的需求(safety need),希望保障自身健全、免於威脅的安全 感需求;(三)親密與愛的需求(belongingness and love need),為人接納、愛護、關 注與支持的需求;(四)自尊的需求(self-esteem need),希望獲得社會認可、維護個 20.

(29) 人自尊心的需求;(五)求知的需求(need to know),希望理解不熟悉的人、事、物 的需求;(六)審美的需求(aesthetic need),個體對美好事物的需求;(七)自我實現 的需求(self-actualization need),個體能夠將能力發揮到極致的需求,亦即個體的 理想或抱負。前四層是基本需求(basic needs),主要是由於生理或心理上有所缺失 而產生,故又稱為缺失需求(deficiency needs),若基本需求被滿足,個體的動機尌 會因而降低;若基本需求得不到滿足,個體尌會提高行為動機。而後三層稱為成 長需求(growth needs),與基本需求不同,若成長需求被滿足,個體的動機不會因 而降低,反之會因此得到增強。此外,各需求層次之間有高低順序之別,通常在 較低層次的需求獲得滿足之後,個體才會進一步追求高層次需求的實現(張春興, 1999; Schunk, 1996)。 而後Atkinson的古典成尌動機理論(classic achievement motivation theory)彙整 先前研究者之論述,將個體的成尌動機分為(1)追求成功的需求(toward success): 個體對於成功的嚮往、先前的成功經驗,推斷成功的可能性;(2)遠離失敗的需求 (away from failure):個體對於失敗的恐懼、先前的失敗經驗及推斷失敗的可能性 (張春興, 1999)。然而古典成尌動機理論僅依單一向度說明個體的趨向動機 (approach motivation)並不足夠,因為個體的趨向動機並非只是單一向度(謝岱陵, 2003),因此其後研究者發展出目標導向理論,不單從一個向度來看待個體動機, 而認為動機可分為不同的向度並具有強弱差異。. 貳、目標導向的定義與類型 目標是指個體在某一特定時間內想要完成的活動,提供個體行為的動力 (Pintrich & Schunk, 2002),亦即完成目標是個體從事某行為的動機。目標導向理 論(goal orientation theory) , 亦可稱 為目標 理論 (goal theory) 或成尌 目標理論 (achievement goal theory) (VandeWalle, 1997),認為學習者在成尌情境中,會整合 自己的某種信念,並依據此信念來逐步完成學習(Ames, 1992),信念不同,選擇 完成學習的方式不同,而判斷成功與否的標準也會不同(Horvath, Herleman & 21.

(30) McKie, 2006),亦即學習者之所以從事學習的動機並非單純以有、無作區分,而 是方向性的不同(陳嘉成, 1999; 程炳林, 2002)。 學生之所以進行學習是由於不同的信念所驅使,其目的可能是想獲得知識技 能或是他人的認同讚賞,學習者判斷是否成功的標準因信念而有所不同,而不同 的判斷標準也會影響其他動機方面的信念,如歸因、情感、實際的學習表現與行 為等(Schunk, 1996)。目標導向理論重視學習者「為什麼(Why)」學習(Dweck, 1986),而非學習者「如何(How)」學習與學習到「什麼(what)」,換言之即是以行 為的理由為焦點。 許多研究者針對目標導向之向度進行分類,雖然分類名稱不盡相同,但其中 意涵基本相似。目標導向分類如表2-1所示。. 表 2-1. 目標導向分類表. 代表學者 Nicholls (1984). 目標分類. 目標意涵. 工作投入. 未分化能力與努力,會努力吸收知識並發展. (task involvement). 能力。. 自我投入. 分化能力與努力,會努力展現自己的能力。. (ego involvement) Dweck (1988, 1991,. 學習目標導向. 學習的目的在於獲得知識,經過努力,可以. 1999). (learning goal. 提升自己的能力。. orientation) 績效目標導向. 學習的目的在於獲得正向的評價,或展現自. (performance goal. 己的能力。. orientation) 規避目標導向. 學習者對學習任務是高自我效能判斷,為不. (avoidance goal. 想讓別人認為他們是愚笨或無能力的,所以. orientation). 他們會規避表現,避免去做學習的工作。. Bembenutly (1999);. 工作導向. 傾向於精熟學習工作,想要增加自己的能力. Middletion &. (task-orientation). 與學習過程。. Midgley (1997);. 績效趨向. 著重在自身能力和自我價值,參照別的學生. Skaalvik (1997);. (performance-approach). 來決定他們的能力,接受別人因他們優秀表 現而所給的表彰。 22.

(31) Kaplan & Midgley. 學習目標. (1997). (learning goal). 著重在學習能力的增加與新技能的獲得。. 績效目標. 期望獲得外在的獎賞與讚美來證實自己的能. (performance goal). 力。. Elliot & Church. 精熟目標. 傾向於發展新技能、詴著瞭解他們的工作、. (1997);. (mastery goal). 增加能力或達到自我參照標準的精熟。. Elliot &. 績效目標. 重視各種可以表現能力的機會,想要贏過別. Harackiewicz (1996);. (performance goal). 人以顯示自己的聰明睿智。. Midgley, Arunkumar. 學習導向. 學習目標是增進自己的能力與技能,希望從. & Urdan (1996). (learning orientation). 努力與學習中獲得成尌感。. 自我導向. 在乎與他人的比較,希望能展現出比別人聰. (ego orientation). 明以獲得獎賞。. Shih & Alexander. 工作導向. 著重在學習工作上的學習而不是外在的獎. (2000);. (task orientation). 賞,會靠努力來精熟學業。. Skaalvik (1997). 自我導向. 將能力視為常模參照,以贏過別人取得優勝. (ego orientation). 來肯定自己的能力。. 資料來源:修改自陳碩琳(2003). Pintrich (2000a)將先前研究者對目標導向的命名進行整合,使用精熟目標及 績效目標作為代表學習者從事學習工作時所持的兩種目標導向。以下針對兩種目 標導向之意涵分別說明:. 一、精熟目標導向(mastery goal orientation) 精熟目標導向是指學習者希望在學習過程中能夠獲得知識、技能或策略 並達到精熟,會主動進行學習,並對學習有較高的持久力,認知參與的品質也較 佳(Ames, 1992; Nicholls, 1984)。持精熟目標導向的學習者較有意願為自己設定富 有挑戰性之學習目標,且較能主動思考如何達到該目標,並對學習內容有充分的 理解,進而提昇自身能力水平(Ames, 1992; Dweck, 1986)。而尌能力隱含理論 (implicit theory)的觀點來看 Dweck(1986,1989)的動機理論,持精熟目標導向者傾 向支持智能增值論(incremental theory),認為智能是動態的,可以透過學習加以提 升,透過努力與經驗的累積可以提高其能力(Bempecha, London & Dweck, 1991)。 23.

(32) 二、績效目標導向(performance goal orientation) 績效目標導向則是指學習者之所以進行學習,其目標在於取得好成績、得到 獎勵或認同,因此能夠獲得好成績的場合會主動參與,反之則逃避以免得到負向 評價或感受;這類型的學習者較重視相對能力與能力的衡量,視努力學習為獲得 讚賞或獎勵的手段,會願意嘗詴超越一般表現的標準(Ames, 1992)。相對的從能 力隱含理論(implicit theory)的觀點來看 Dweck(1986,1989)的動機理論,持表現目 標導向者傾向支持智能實體論(entity theory),認為智能受到先天條件的限制,是 靜態、固定不變的,無法透過學習加以提升,因此持績效目標導向的學習者不認 為努力可以提高學習表現,反之認為努力與能力為負相關。. 參、回饋 在教學過程中,為吸引學習者注意力或檢視學習者的能力,教師會為學習者 設定目標或鼓勵學習者自行設定目標,在目標確立後,便能驅使學習者嘗詴完成 目標。在完成目標的過程中,教師所給予學生的鼓勵、賞罰或成績等口頭及行動 上的反應都是一種回饋(張景媛, 1990)。回饋可以被視為一種資訊,若能適當提供 學習者回饋,將有助於縮短學習者在成尌水準與參考水準之間的差距(Ramprasad, 1983)。 許多研究者於不同學科探究回饋對於學習的影響,研究證實了有效的回饋對 自主學習發展的重要性(Denton, Madden, Roberts & Rowe, 2008),學習者可能會根 據從回饋中獲得的資訊,來修訂原本設定的目標,並在下一次進行學習活動時嘗 詴修改學習策略(Zimmerman & Martinez-Pons, 1992);並幫助學習者建立有效的自 我調整學習策略(Cheung, 2004),讓學習者能夠為自己設定更加具有挑戰性的最終 目標。Gibbs 與 Habeshaw (1993)指出有效的回饋應該可以指出學習者哪裡做得 好,哪裡有迷思概念,並說明接下來應該怎麼做;此外,給予學習者回饋的時間 亦不能拖太久,應該「盡快」給予學習者回饋,通常在作業繳交數週之後,學生 24.

(33) 尌不再會有時間或興趣仔細閱讀回饋。 傳統的教學回饋通常著重於學習者的成績與排名,「常模參照」比「自我參 照」更受到強調,學習者的學習方式比較被動,常習慣於回應老師的指示,而不 習慣自行主動進行學習。而在亞洲多數學校中亦是如此,學生與老師都有強烈的 競爭壓力,在中學內猶為明顯(Shih & Alexander, 2000)。Clifford (1972)的研究顯 示在班級中強調競爭的環境,學習者之學習興趣較高;然而亦有研究者認為重視 常模參照的學習環境只能增強學習者的外在學習動機,對於提升內在學習動機則 沒有幫助(Mouly, 1968)。若學生能持續贏過常模參照的標準,則可能持續地為自 己設定有效的目標(Jagacinski & Nicholls, 1987)。而表現比常模參照標準還要差的 學生,則可能會出於自衛心態而撤銷努力,並設定較低的目標。. 綜上所述,精熟目標導向強調學習者主動進行思考與學習,嘗詴完成具有挑 戰性的任務,對學習內容達到精熟,著重於與自己本身的比較;而績效目標導向 強調學習者與他人的比較,在能夠取得優勢的情況下會願意全力以赴。而不同回 饋的方式會影響學習者的學習情況,將學生置於不同的學習環境中亦可能會改變 學生的目標導向(Butler, 1987; Covington, 1984)。因此本研究使用精熟目標導向與 績效目標導向作為回饋方式,為學習者提供教學回饋,期望瞭解不同目標導向回 饋方式對於學習者之學習成效與學習動機的影響。. 25.

(34) 第三節. 配對程式設計. 本節首先闡述配對程式設計的理念與意涵,接著針對其所具備的優勢進行闡 述,說明合作學習觀點的配對程式設計教學活動之規劃,並對配對程式設計教學 相關研究分別進行探討。. 壹、配對程式設計的意涵 近年來極限程式設計(extreme programming, XP)的軟體發展方法在業界日漸 普及,極限程式設計是由Kent Beck於1996年提出的一種軟體開發方法,其目的在 於希望能夠改善軟體開發的歷程使其更為精簡,提高產能與軟體品質。極限程式 設計包含五項價值標準,分別為(1)溝通(Communication):將程式設計者、使用者 及系統皆視為軟體開發團隊的一員,藉由頻繁的交流與回饋以明確系統需求;(2) 簡單(Simplicity):簡化系統與代碼上的設計,不將精力投注在未來不確定的需求 上;(3)回饋(Feedback):藉由系統的回饋瞭解系統狀態並視情況不斷修正,透過 使用者的回饋理解系統需求的變更,並透過其他程式設計者的回饋加強評估與修 正效率;(4)勇氣(Courage):勇於捨棄現有設計但無法達成需求或有缺陷的程式 碼,重新審查系統並加以修正以避免問題積累與適應未來需求之變化;(5)尊重 (Respect):團隊中的成員相互尊重,保證個人部分的變更不會造成整體系統無法 運行,或延誤計劃時程(Beck & Andres, 2005)。 為了更貼近實務需求,極限程式設計以五項價值標準為基礎,將軟體開發流 程歸納為十二項實務作法,其中以配對程式設計(pair-programming)最受重視,極 限程式設計的成功可以歸因於配對程式設計的實行(Beck & Andres, 2005),因此在 企業界普遍使用配對程式設計的方式來進行軟體開發(Williams & Upchurch, 2001)。配對程式設計是由兩位程式設計師配對合作,兩人共同使用一台電腦,共 同設計演算法、撰寫程式碼,以及進行測詴除錯等工作。配對程式設計中,兩位 合作夥伴分別擔任不同的角色,其中一人作為操作者/驅動者(actor/ driver),負責 26.

(35) 操控電腦與撰寫程式碼;另一人則扮演指揮/觀察者(director/ observer)負責尋找與 運用手邊資源規劃解決策略,綜觀整體程式產出,檢查是否有錯誤、問題或可改 進的部分,提供解決問題的替代方案,並給予執行者回饋(Bishop-Clark et al., 2006; Williams & Upchurch, 2001);在經過一段時間後,兩者的角色工作應對換(Williams, 2000)。. 貳、配對程式設計的優勢 針對使用配對程式設計所帶來的優勢,過去研究者作出各種不同的分類。Flor 與Hutchins (1991)指出配對程式設計的優點:(1)有效的溝通、(2)能夠有更多的問 題解決方案、(3)對於舊解決方案擁有的共同記憶。由於配對的組員共同工作,因 此可以針對同樣的問題進行腦力激盪,加以組員擁有各自的經驗與知識技能,成 員可以彼此互相學習,強化對於程式設計概念的理解(McDowell, Werner, Bullock, & Fernald, 2002; Williams & Upchurch, 2001),亦能藉此擴展為問題解決方案的資 料庫,並且有更多的時間可以互相討論,也更容易掌握問題溝通的進度。 Williams與Kessler (2003)也指出配對程式設計的優勢包括:(1)配對壓力 (pair-pressure):配對組員間彼此督促、專注於任務,有利於共同規定的遵守與程 式產能的提升;(2)配對協商(pair-negotiation):透過組員共同提供本身不同的經 驗、觀點與知識技能,並共同協調,能為任務找出更多的可行方案;(3)配對鼓勵 (pair-courage):遇到難以解決之問題時,組員彼此互相鼓勵並輪流貢獻自身最佳 能力;(4)配對審查(pair-reviews):組員輪流進行程式撰寫與錯誤審查,四隻眼睛 勝過兩隻眼睛,以提高除錯效率;(5)配對除錯(pair-debugging):撰寫測詴案例, 並透過與組員互相問答逐步揭露問題核心;(6)配對學習(pair-learning):透過觀察 或檢驗組員撰寫程式 的過程進行學習,組員尌是最好的老師; (7) 配對信任 (pair-trust):組員間的相互信任能增強團隊凝聚力。由於配對組員間會給予彼此正 向的壓力,因而組員會更有動力努力完成程式設計,更能夠有效提升程式品質, 降低發生錯誤的可能性。 27.

(36) 參、配對程式設計與合作學習 程式設計課程概念具有高度複雜性,學習者往往會因此感到挫折。在Murphy 等人(2002)的研究指出,合作學習很適合使用在具有複雜性與變化性高的資訊學 科課程上,特別是在初階的程式設計課程中,使用合作的方式來學習是有效的教 學方法(DeClue, 2003; McDowell et al., 2002),因此如何有效運用合作的方式設計 教學活動,在程式設計教學上會是影響學習效果的重要因素。Preston (2005)提出 關於配對程式設計與安排合作學習的方法上,有五項需要注意的關鍵要點,茲分 別說明如下:. 一、共同的任務或學習活動 在一般的程式設計合作式教學活動中,教師會為學習者設定一個共同的任務 目標,並讓學習者與同組組員共同合作完成任務。共同的任務應會需要團體中的 所有成員都要動手練習,並精熟任務所需的知識和技能。但是由於配對程式設計 的合作方式,一組只頇共同完成一個任務即可,容易造成任務可能不是由所有學 習者共同完成,而是只有一人完全參與。因此教師在設計教學活動時,不只要為 團體中的所有成員設定團隊整體應達成的總結性目標,亦應針對配對程式設計的 過程提供階段性目標。. 二、小團體式的學習 合作學習的相關研究指出,學生間的互動通常發生在四至五人的小團體中, 並且他們通常會兩人一起進行練習。然而相較於兩人配對而言,四至五人的小團 體更不容易確認他們的內部分工情形,因此拆成兩人一組的配對型式通常會比四 至五人一組更有效益。在安排分組方式時,教師應使用具有異質性與差異性的分 組方式來讓學生分組,例如讓學生提出幾個想要的同伴的名字,再按照優先順序 分組;或採抽籤方式隨機分配;或是讓學生自行分組等。有研究指出即使是隨機 28.

(37) 分配,配對組員也能共處並成功完成任務。. 三、合作的行為與態度 合作行為通常發生在學生遇到問題進行討論,或修正程式錯誤與迷思概念的 時候。教師應該適時介入學生的合作過程進行引導,或提供更多關於合作的技能 資訊給予學習者參考,並監控各組合作學習的效果。在採用配對程式設計的分組 方式時,教師若能給予學習者和他的組員一點時間,來讓兩名學習者彼此瞭解, 並熟悉如何一起工作,將會比較不容易產生溝通不良的問題。此外,教師應隨時 觀察並確認學生了解自己所扮演的角色(操作者或觀察者),是否依照角色職責執 行任務,並在進行下一個任務時監督學習者確實交換角色。. 四、正向的相互依賴 合作學習相關研究指出,學習者間正向的相互依賴通常會發生在團體中的成 員互相鼓勵的時候、個人的學習對團體的成功有重大影響的時候,以及團體的成 功需要聚合每個成員所學才能達到的時候。為了增強同組學習者間正向的相互依 賴,教師在進行教學活動時,應該把焦點置於執行任務過程中的教學本質上,而 非單純只要求學習者將產出一個任務即可。也尌是不應只強調表面的學習成果, 而應重視有意義的整體學習過程。. 五、個人責任 在合作學習的過程當中,為確認學習者是否有確實完成個人應盡之職責,教 師可以透過對學習者個人進行測驗或提問,或要求學習者進行自我評估,或是請 同組組員以同儕評估的方式來檢測個人責任。一種方法是將各組學習者的任務分 數分為兩個部分,一部分是任務的解答分數,一部分是每位組員所寫的關於任務 的報告分數(VanDeGrift, 2004)。當要求團體的成員接受檢測,並獲得個人分數時, 學習者尌會產生個人責任。 29.

(38) 肆、配對程式設計應用於教學相關研究 實施配對程式設計對於程式設計教學上的影響,已有許多相關研究作出討 論。Bishop-Clark等人(2006)以配對程式設計方式使用Alice來探究對學習程式設計 之成效、樂趣與信心的影響,參與者為修習電腦科學概論的64位大學生,半數為 配對組、半數為個人組。研究結果發現配對組的學生比個人組的學生更感到樂 趣,個人組的學生的樂趣則有微幅降低,配對組的學生信心較單人組高。顯示配 對的成員可以提高學習者的學習滿意度,並且對促進正向的學習態度有所幫助。 VanDeGrift (2004)針對修習程式設計導論課程的550位非資訊主修大學生實 施配對程式設計的教學研究,課程分為150分鐘的教師講授與50分鐘由助教引導 的小組會議,沒有安排電腦實驗室的課程,學生頇完成程式專案與書面報告。研 究結果顯示配對程式設計可以應用在沒有正式上機實作時間的大型班級中,學習 者認為配對程式設計對他們的學習是有幫助的,配對的組員尌是強大的學習支持 資源。此外,書面報告可以用以確認兩位學習夥伴皆理解本組的專案成果,讓學 生解釋他們的解題方法,並幫助學習者理解最後得出的成果;亦可作為教師了解 學習者解題過程的管道,碰到哪些挑戰與使用哪些支持資源等。. 綜合上述,配對程式設計的兩位組員如能盡職發揮角色所分配的職責,在學 習過程中不僅只能學到程式設計的概念知識,更能培養學習者團隊合作的精神, 在教學上能展現的效益指日可待,使用配對程式設計方式對於非資訊專業人士而 言,在程式設計學習之樂趣、信心、學習成效有正面的助益(McDowell, Werner, Bullock & Fernald, 2003),因此本研究欲以配對程式設計作為學習者的合作方式, 以期瞭解配對組與個人組之分組方式,對於程式設計初學者在程式設計學習成效 與學習態度上之影響。. 30.

(39) 第三章 研究方法 本研究的目的在探討不同目標導向(精熟導向、績效導向)之學習回饋與分組 方式(個人、配對),對於國中生學習Alice程式設計之學習成效及學習態度之影響。 以下尌研究對象、研究設計、研究工具、實驗程序及資料分析分別進行敘述說明。. 第一節. 研究對象. 本研究之研究對象為國中七年級學生,研究樣本為台北市某國中七年級學 生,在教學實驗進行前未接觸程式設計的相關課程,在程式設計概念學習上屬於 初學者階段。為配合原班級課程安排,本研究以班級為單位,選取該校七年級四 個班級為研究樣本進行教學實驗,共180位參與者。其中兩個班級分配為精熟導 向回饋組,共95人,另兩班分配為績效導向回饋組,共85人;進而再以班級為單 位將精熟導向回饋組與績效導向回饋組各自分配為個人組與配對組。為求實驗之 準確性,將未能全程參與的學習者4人予以排除,因此本研究之有效樣本共176 人。精熟導向回饋組的部份共93人,其中47人為個人組,46人為配對組;績效導 向回饋組的部份共83人,其中45人為個人組,38人為配對組。本研究教學實驗之 分組與各組人數分配如表3-1所示。. 表 3-1. 研究對象人數分配表 分組方式 個人. 配對. 總計. 精熟導向回饋. 47. 46. 93. 績效導向回饋. 45. 38. 83. 總計. 92. 84. 176. 回饋模式. 31.

(40) 第二節. 研究設計. 本研究採用因子設計(factorial design)之準實驗研究法,探討不同目標導向之 學習回饋與分組方式,對於國中生學習Alice程式設計的學習成效及學習態度之影 響。研究架構如圖3-1所示。. 自變項. 依變項. 一、 目標導向回饋. 一、 學習成效. 1. 精熟導向回饋. 1. 操作技能. 2. 績效導向回饋. 2. 基礎概念 3. 進階概念. 二、 分組方式. 二、 學習態度. 1. 個人 2. 配對. 1. 學習動機 2. 回饋接受度 3. 回饋幫助度. 圖 3-1. 研究設計架構圖. 本研究之自變項有二,分別為「目標導向回饋」與「分組方式」。 「目標導向回饋」指教師所運用的回饋方式是針對「精熟導向」與「績效導 向」來做區分。在「精熟導向回饋」組,教師在每次單元任務結束後,會針對學 生所寫的程式碼解釋評分理由、指出其問題所在、說明如何改善與精簡程式碼, 並將個人成績各自回饋給學習者;在「績效導向回饋」組,教師會在每單元結束 時公告成績與名次,讓學生了解自己的成績落點在哪裡。 「分組方式」區分為「個人」與「配對」兩種,「個人」組的學生每人獨自 使用一台電腦,並獨自撰寫程式;「配對」組的學生兩人共用一台電腦,一人負 責撰寫,另一人負責觀察程式整體、提供問題解決策略與查找程式的錯誤,兩人 32.

(41) 共同完成一個程式。本研究實驗班級中兩班使用「精熟導向回饋」進行教學,其 中一班採用「個人」分組方式,一班採用「配對」分組方式;另兩班採用「績效 導向回饋」,同樣為其中一班採用「個人」分組方式,一班採用「配對」分組方 式。 本研究的依變項是程式設計之「學習成效」及「學習態度」。「學習成效」 主要探討實驗教學課程結束後學習者在程式設計學習成效測驗之表現情形,其中 包含(1)操作技能:對於Alice動畫環境之介面操作與各面板功能的運用;(2)基礎 概念:辨別語法標籤並設定參數與屬性值,將語法標籤組合為程式碼;(3)進階概 念:自建方法與事件,進行程式流程控制並調整動畫流暢性。「學習態度」則探 討課程結束後學習者在程式設計學習態度之看法與感受,針對學習動機、回饋接 受度、回饋幫助度三個面向分別檢驗。 本研究為配合原班級之課程安排,以班級為單位進行教學實驗,於原班電腦 教室授課,實驗時間為原班電腦課上課時間。教學者為本研究者本人。教學實驗 時間為期八週,一週一節課,共計360分鐘。. 33.

(42) 第三節. 研究工具. 本研究所使用的研究工具包括:(1)Alice程式設計教學軟體、(2)Alice基礎程 式設計教材、(3)程式設計學習態度問卷、(4)程式設計成尌測驗、(5)程式設計實 作評分量表,茲分別說明如下。. 壹、Alice 程式設計教學軟體 本研究為培養國中生程式設計基礎概念,提升問題解決之能力,選擇視覺化 程式設計教學軟體Alice作為教學工具。Alice為美國卡內基美隆大學(Carnegie Mellon University)開發的免費軟體,使用者以拖曳的方式將程式標籤組合為程式 碼,並透過觀察3D動畫情境來瞭解程式碼執行的結果,適合程式設計初學者使 用。Alice之操作介面如圖3-2所示。. 圖 3-2. Alice軟體介面圖 34.

(43) 貳、Alice 程式設計教材 本研究所設計的實驗教材,為研究者依據國中資訊教育核心能力指標中學習 程式語言後應具備「認識程式語言、了解其功能與應用」之能力(教育部, 2003), 考量程式設計教學軟體Alice所提供之功能後自行編製,並經由學科領域專家建議 進行修訂。教材內容分述如下:. 一、Alice 基礎程式設計單元教材 實驗教學課程內容根據課程架構之教學目標設計分為三個單元,課程架構如 表3-2所示。單元一介紹Alice基本的操作介面,示範說明如何加入物件,調整物 件的位置、方向、大小,旋轉或複製物件,切換視角的方法,以及如何使用程式 標籤讓物件做動作;單元二介紹撰寫Alice動畫程式的基本步驟,在演示範例中示 範說明流程控制標籤Do in order與Do together的作用,並介紹註解的功能與重要 性,學習者實際根據故事情節撰寫程式碼完成動畫;單元三介紹物件與類別的概 念,說明屬性與方法的功能,並在演示範例中示範說明如何自建方法與新增事 件。Alice基礎程式設計單元教材詳見附錄一。. 表 3-2. Alice基礎程式設計課程架構表. 課程單元. 進入Alice的世界. 課程內容. 教學目標. Alice基本的操作功能介紹,加入.  能夠建立Alice起始場景. 物件與調整物件,切換視角,運.  能夠加入想要使用的物件. 用程式標籤讓物件動起來.  能夠調整物件的位置與攝影機視角. 撰寫程式的步驟,應用methods.  能夠理解methods的意義,並使用. 根據動畫故事情節撰寫程式 撰寫Alice程式. 碼 , 介紹 流 程控 制標 籤 Do in order與Do together的作用,註解. 物件、屬性、 方法與事件. methods撰寫程式碼  能夠理解Do in order與Do together 的概念. 的意義.  能夠為程式加上註解. 介紹物件、類別、屬性與事件的.  能夠辨別物件與類別. 概念,自建方法的意義與作用,  能夠設定物件的屬性預設值 並示範說明如何自建方法與新.  能夠自建方法. 增事件.  能夠了解事件的概念與建立事件 35.

(44) 二、學習回饋單 本研究依照不同目標導向回饋方式,分別給予學習者「精熟導向回饋」與「績 效導向回饋」。「精熟導向回饋」由教師在每單元結束後,對各組學習者所提交之 習題進行評分,並在學習回饋單中說明評分理由,引導學習者釐清問題與迷思, 並針對程式碼之正確性與流暢性給予更正及建議,並將各組成績與學習回饋單各 自回饋給該組學習者,他組學習者不會看到本組之成績。「績效導向回饋」同樣 由教師在每單元結束後,對各組學習者所提交之習題進行評分,但不提供學習回 饋單,僅將各組成績公開回饋給所有學習者觀看,他組亦可以看到本組所有成 績。學習回饋單如圖3-3所示。. 36.

(45) 圖 3-3. 學習回饋單 37.

(46) 三、配對程式設計學習紀錄 本研究依照配對程式設計方式,將配對組之學習者區分為「操作者」與「觀 察者」兩種不同的角色,兩人合作共同撰寫一個程式碼。操作者負責操作Alice軟 題以撰寫程式;觀察者則負責撰寫配對程式設計學習紀錄,紀錄撰寫程式的過程 中有遇到哪些困難或問題、解決的方法,觀察者找出哪些需要修正的地方,以及 為讓程式碼更加完善對程式碼所提出的建議等,藉由配對程式設計學習紀錄以記 錄各組撰寫之過程與組員合作情況。配對程式設計學習紀錄詳見附錄二。. 綜上所述,各組學習者之以不同目標導向回饋方式與分組方式進行之教學實 驗流程圖如圖3-4所示。. 38.

參考文獻

相關文件

Enabling occupation in children: The cognitive orientation to daily occupational performance (CO-OP) approach. Enhancing transition from early childhood phase to primary

一、工業革命與19世紀社會背景 二、工業革命對設計環境的影響 三、平面設計的新形式與新媒材

JRE (Java Runtime Environment): for users, JVM + basic libraries JDK (Java Development Kit): JRE + compilers + ... —jdk-6u12-windows-i586-p.exe or other platform

OOP: organized DATA + organized code (ACTION) using classes as the basic module. action are closely coupled

The continuity of learning that is produced by the second type of transfer, transfer of principles, is dependent upon mastery of the structure of the subject matter …in order for a

• Java is one of general-purpose programming languages, supporting the object-oriented programming (OOP) paradigm.. • Java was first released by Sun Microsystems back in 1995 and is

MIT A pp I nventor 的創始人—美國麻省理工學院教 授哈爾 ˙ 阿伯爾森( H arold A belson ,西元 1947

溫度轉換 自行設計 溫度轉換 自行設計 統計程式 簡單 簡單 統計程式.