應用極限編程之實務作法於高職程式設計教學之成效
86
0
0
全文
(2) 不易被觀察及評量,但卻是成功解題之關鍵(Kirsner, 1998) 。若能將這些歷程有 某些程度的透明化、制式化,則可將相關經驗與條件在教學與訓練中重塑 ,使程 式設計人員能更有效率的增進問題解決能力 。 程式學習者遭遇麻煩時容易退縮而裹足不前 ,不願更進一步閱讀程式碼以追 蹤出錯誤問題之根源進行修改 (Perkins, Hancock, Hobbs, Martins, & Simmons, 1988)。 極限編程(eXtreme Programming,以下簡稱為 XP)是 1996 年由 Kent Beck 提出的敏捷(Agile)軟體開發方法。XP 整合多人的觀點與技術經驗,以溝通、 簡單、回饋、勇氣四個價值觀作為 XP 的基礎;衍生出十二項實務作法及反覆 (Iteration)模式(Beck, 1999) 。而需用到多少實務作法於開發流程中,端看開發 團隊的需求而定,非常具有彈性。而根據 Kent Beck 於 1996 年提出 XP 的實務作 法之定義,藉由 Planning Game,使學生對於題目及題意能更徹底瞭解並學習如何 將問題分解;透過 Pair Programming,培養學生初步的團隊程式開發能力 ;使用 Test Driven Development 及 Coding Standard,掌握自我程式開發歷程及增加除錯 能力;運用 Refactoring,訓練閱讀程式碼及精簡程式碼之能力 。 本研究根據程式語言學習之問題解決歷程理論 (Deek, Turoff , & McHugh, 1999),配合 XP 中適合於程式設計教學環境的 數項實務作法,包含 Pair Programming、Test Driven Development、 Coding Standard、 Refactoring(Keefe, Sheard, & Dick, 2006)以及 Planning Game 實務作法,設計一 VB 課堂教學輔助系. 2.
(3) 統及採用雙人搭檔編程模式 ,提供一套程式設計流程輔助教師 程式語言課堂教 學。針對台北市某高職一年級學生挑選四班進行實驗,其中九成的學生為程式語 言初學者,先前並沒有學習任何程式語言的經驗 。根據實驗蒐集之資料分析教學 成效。. 第二節 研究目的 研究根據程式語言學習的問題解決歷程,選擇四項XP中關於程式設計的實務 作法(Planning Game, Test Driven Development, Codind Standard, Refactoring ),設 計一VB課堂教學輔助系統,提供一套程式設計流程輔助教師 程式語言課堂教學; 另外並將有關於學生之間合作學習的 雙人搭檔編程(Pair Programming)這項實務 作法獨立出來,探討VB課堂教學輔助系統與雙人搭檔編程搭各自獨立或互相搭配 來輔助高職學生學習程式設計,是否能有效提升其對於程式設計學習之成效。目 的有以下四點: 一、. 探討不同的程式設計教學法(VB 課堂教學輔助系統+雙人搭檔編程、VB 課堂教學輔助系統、雙人搭檔編程)對高職一年級學生的整體程式語言學 習成效之影響。. 二、. 探討不同的程式設計教學法(VB 課堂教學輔助系統+雙人搭檔編程、VB 課堂教學輔助系統、雙人搭檔編程)對高職一年級學生的程式理解能力之 影響。. 三、. 探討不同的程式設計教學法(VB 課堂教學輔助系統+雙人搭檔編程、VB. 3.
(4) 課堂教學輔助系統、雙人搭檔編程)對高職一年級學生的程式設計能力之 影響。 四、. 探討不同的程式設計教學法(VB 課堂教學輔助系統+雙人搭檔編程、VB 課堂教學輔助系統、雙人搭檔編程)對高職一年級學生的程式語言學習 態 度之影響。. 第三節 研究範圍與限制. 一、. XP 中的 Planning Game 實務作法是將專案等級的使用者故事 (User Story)拆解成數個反覆(Iteration) 。但因學校程式教學題目因教學需要 難度不能太高,系統引導學生理解問題需求只是仿效 Planning Game 實 務作法,將題目拆解成數個小問題 ,規模及複雜度皆小於反覆 。. 二、. 因 VB 6.0 屬於事件驅動的程式語言,而諸如 Junit 等 Test Driven Development Tools 皆是為純物件導向語言所設計 ,本研究只採用 Test Driven Development 之原則,並未使用其工具。. 三、. 本研究探討的程式設計觀念只包含條件結構 、重複結構、條件與重複混 合之結構,因此研究結果只能推論至這三項程式設計觀念 ,其他程式設 計觀念則不在本研究範圍之內 。. 4.
(5) 第二章文獻探討 本章首先討論程式設計教學面臨的問題 ,接著介紹程式語言學習的問題解決 歷程、程式語言的知識區分及極限編程(eXtreme Programming,以下簡稱為XP), 最後整理極限編程目前在程式設計教學的應用情形 。. 第一節 程式設計教學的問題 教育部在2005年所公佈95學年職業學校一般科目─計算機概論I的課程標準 中,程式設計是高職計算機概論課程 五個教學主題中之ㄧ。由於升學考試的需 要,教師在課程中幾乎都會教授此主題(沈碧麗,吳正己,2006) 。沈碧麗在2006 年的研究中發現,個案教師均認為高職學生的程度不佳 、邏輯推理及創意不足及 缺乏主動學習的態度,所以教師給學生的程式設計練習作業通常僅針對範例題目 部分修改,而很少涉及解題規劃及撰寫程式等比較高階的內容 。因此若教師於課 堂上出題要學生撰寫程式,學生對題目的要求往往沒辦法徹底瞭解 ,常常一有問 題就要求教師協助,而不去自己找出程式錯誤的來源 。而學生也表示程式設計課 程枯燥乏味,甚至令他們感到挫折,對學習程式設計興趣缺缺 。 Linn及Dallbey在1989年提出的的程式設計認知成就鏈(chainofcognitive accomplishments)中認為,初學者必須依序習得(1)程式語言特徵(language feature),(2)程式設計技巧(designskill),(3)問題解決能力(problem solvingskills)等知能,才能由初學者漸進為專家。他們在經過一學期的程式 課程實驗後,發現大部分的學生無法超越第一階段,學生仍然將學習重點停留在. 5.
(6) 對程式語言語法的瞭解。 Beaubouef及Mason在2005年的研究也發現,學生在選擇題式的程式觀念評量 表現良好,然而他們卻無法實際寫程式解決真實世界的問題,這些學生的程式知 識只發展到Linn及Dallbey程式設計認知成就鏈分類的第一階段,很少人能進行 程式設計規劃。 造成程式設計教學成效不佳的原因很多 ,學者們指出對學生形成學習障礙的 原因包括: 一、一般程式語言過於複雜(Brusilovsky,&et.al.,1997;Jenkins,2002; Xinogalos,2003) 一般程式語言通常並非為了教學的目的而設計 ,而是設計給專業程式設計人 員使用,內容不止包含程式語言的基本結構 ,還有特定語言的語法特性,對初學 者而言,過於龐大且複雜,初學者通常需要懂得很多觀念 、語法,才能寫出一小 段程式。 二、課堂講述不易呈現抽象的程式概念(Brusilovsky,&et.al,1997 ;Xinogalos, 2003;Yazici,Boyle,&Khan,2001) 傳統教學方式下,初學者面臨最大的問題是程式概念太抽象 ,只憑口語無法 具體描述,而一般程式語言使用的編輯環境並不提供學習 者觀察程式執行過程的 功能,學生輸入資料執行後只得到程式輸出的結果 ,對於每個指令對電腦內部造 成的改變一無所知,若程式有錯誤也不知從何著手 。且程式設計有一定的複雜. 6.
(7) 度,初學者必需同時學習語法知識 、程式基本結構、程式發展環境及測試除錯的 技巧,更加重初學者的認知負載 。 三、舉例困難(Brusilovsky,&et.al.,1997;Jenkins,2002) 使用一般程式語言教學時,教師使用的範例大多數是處理數字與符號 ,列舉 的範例和問題與生活經驗並無太大關聯 ,因此不容易吸引學生的注意 。 為了協助初學者克服以上的困難,降低程式設計初學的門檻,有些學者(Keefe, K., Sheard, J., & Dick, M., 2006)提出利用XP之中的一些實務作法(practices) 去培養學生撰寫程式技巧、問題解決能力以使其對程式學習感到成就及滿足。 (Mcdowell, C., Werner, L., Bullock, H. E., & Fernald, J., 2006)也提出利用雙人搭 檔編程方式於學校的程式設計教學 ,以提升學生程式設計信心及程式品質 。. 第二節 程式語言學習的問題解決歷程 Polya(1945)所提出的一般性問題解決歷程可應用來解決許多不同類型的問 題,包括四個步驟:「瞭解問題、設計計劃、實行計劃、回頭看」。SolSo(1991) 提出一個較詳細的問題解決歷程 ,包含六個步驟:「確認問題、問題表徵、計劃 解決的行動、執行計劃、評估計劃、評估解決的行動」。Rubinstein(1975)則提出 「保留」的觀念,認為在問題解決的過程中不急著下判斷 ,要心存懷疑,並隨時 修正策略,其問題解決歷程為:「綜觀全圖、先不下判斷、運用模型、修正策略、 問正確問題、質疑結果」。綜合上述之歷程發現,問題解決不外乎以下四個步驟 :. 7.
(8) 1.瞭解問題:問題描述是問題解決的第一步驟 ,也是所有問題解決的起點 , 因此要釐清問題所包含的相關資訊 。 2.擬定解題計畫:利用與待解決問題相關的已有知識及環境中可獲得的資源來 計劃相關的解題方法。 3.將計劃付諸實現:將思考所得的方法,付諸實行。 4.驗證解題結果:驗證解答的正確性及檢視解題所得到的啟發與心得 。 上述所提之問題解決步驟為一般性問題解決技巧 ,可廣泛應用來解決各種問 題,但一般性問題解決技巧不一定能有效運用於特定領域的問題解決歷程 (Anderson, 1985),因此許多學者針對不同領域的知識特性提出特定問題解決技 巧,以期更有效地解決問題。Etter(1995)修正Polay 的問題解決步驟,提出應用於 工程及科學的問題解決歷程 ,其步驟為:「定義問題、搜集資訊、產生及評估可 能的解答、修正及實施解答、證實及測試解答」。Meier, Hovde 及Meier(1996)亦 針對數學及科學問題的解決歷程 ,將問題解決分為:「定義問題、評估情境、計 劃解題策略、實行計劃、確認結果」等五個步驟。Rayner-Canham(1990)曾將問題 解決的歷程運用於電腦輔助教學教材的設計上 ,提出:「確認問題、計劃解決策 略、搜集相關資訊、執行計劃」四個步驟。Deek, Turoff 及McHugh(1999)則整合 學者所提出的問題解決步驟,認為促進程式語言學習的問題解決步驟分別為: 「闡 述問題、計劃解答、設計解答、將計劃轉換成程式碼、測試及撰寫文件」,詳述 如下:. 8.
(9) 1.. 闡述問題:程式設計過程中,瞭解問題需求是第一步驟,要知道程式的輸入 及輸出要求. 2.. 計劃解答:將問題分解成小問題,並以模組化的方式規劃出解決問題的步驟。. 3.. 設計解答:根據每個小問題設計一組測試案例 ,輸入某個值一定要得到對應 的輸出值才表示通過測試 。. 4.. 將計劃轉換成程式碼:撰寫程式碼以實行所設計的解題計劃 。. 5.. 測試及撰寫文件:進行測試,確認解題的正確性及找出程式錯誤之處 。. 第三節 程式語言的知識區分 Deek(1998)依據程式設計的特性,將程式語言的知識分為三個部分 :(1)語法 的知識(syntactical knowledge),(2)語意的知識(semantic knowledge)及(3)實務的知 識(pragmatic knowledge)。語法的知識即宣告性知識,學生要能知道程式語言的語 法結構,例如在BASIC 程式語言中,利用For 迴圈的語法列印1 到10 的整數, 其語法為: For i=1 To 10 Print i Next i 在語法中要指定控制變數 i 來設定起始值及終止值,學生如果沒有指定控制變數 而寫成:. 9.
(10) For 1 To 10 Print i Next i 則會產生錯誤。語意的知識是程序性知識,學生要能瞭解語法所代表的意義 ,例 如上述利用For 迴圈的語法列印1 到10 的整數之程式中,學生要能瞭解第一次進 入For 迴圈內的敘述時,i 所代表的值是1,第二次進入For 迴圈內的敘述時,i 所 代表的值是2,依序進入至第十次以後會離開迴圈敘述 。實務的知識則是知道何 時要使用何種程序性知識,例如要求學生計算1 到100 的整數和,學生要能正確 選擇迴圈的語法來達到題目的要求 。最後將三類知識整理如下 : 1.. 語法的知識(syntacticalknowledge):暸解語法. 2.. 語意的知識(semanticknowledge):暸解語義. 3.. 實務的知識(pragmaticknowledge):促進問題解決能力. 第四節 極限編程(eXtreme Programming) XP是KentBeck於1996年提出的軟體開發方法 ,強調團隊合作與人際溝通 , 並協助軟體開發人員以最有效率之方式完成高品質 軟體,以滿足需求多變之客 戶。XP整合多人的觀點與技術經驗 (Beck,1999),以四個價值觀為出發點,衍 生出十二項實務作法及反覆(Iteration)模式,進而期望能解決軟體專案因「變 動」所產生之問題。以下將簡述XP的涵義。. 10.
(11) 一、四個核心價值觀 KentBeck以四個核心價值觀作為XP的基礎:溝通(Communication)、簡單 (Simplicity)、回饋(Feedback)、勇氣(Courage)。 「溝通」是將程式師、系統分析師、測試人員、客戶(使用者)、管理者均視 為軟體專案開發團隊之一份 子,藉由頻繁地互動讓所有成員的關鍵想法得以完整 傳遞。「簡單」是聚焦於眼前的任務,不預設使用者未來需求,盡可能簡化系統 功能設計,保留最大彈性。「回饋」分為二要點,其一,建立使用者對於系統之 意見回饋機制,使開發人員與使用者的溝通更有效率 ;其二,持續藉由系統對於 錯誤或缺陷的反應訊息,隨時改善系統架構,確保專案循正軌而行。「勇氣」是 果斷地拋棄結構不佳的程式碼 ,並勇於接受改變,嘗試重大修改行動,以避免小 瑕疵累積成大錯誤。 二、瀑布模式與反覆模式 Royce(1970)提出的瀑布模式(WaterfallModel)包含系統與軟體需求分 析、設計、實作、測試等階段,亦稱軟體開發生命週期(SDLC,SystemDevelopment LifeCycle),使軟體開發依一序列階段進行 ,前一步驟完成才可進階。 KentBeck將瀑布模式延伸改進成反覆 (Iteration)模式。XP不鼓勵長遠 規劃亦不凍結使用者需求 ,在相同專案範圍內將整個專案發展切割成數個階段 , 每一階段稱為一個反覆,每個反覆都包含軟體開發之所有活動 ,因此可視為許多 迷你專案(Mini-Project):分別詳細確認使用者需求,且完整實施分析、測試、 11.
(12) 實作、設計等工作。 三、十二項實務作法 為更貼近實務面,KentBeck提出十二項主要實務作法,但強調不必將它們 奉為圭臬,開發團隊可視狀況選擇必要項目並調整做法 。 1. 規劃遊戲(PlanningGame):採用漸進式多次規劃法,參與規劃者應包含開 發人員、客戶(使用者)、專案管理者。首先由客戶挑選自認最有價值之系 統功能需求並排出優先實作順序 ;這些需求在XP中稱為使用者故事 (User Stories)。隨後各方協定發行範圍和時間 ,將故事切割成適當數量之反覆 , 進而轉化成較小任務。 2. 頻繁的小版本發行(Sm allReleases):每一反覆中僅實作使用者選定之故 事並經常推出小版本系統發行至客戶端 。 3. 註點的客戶(On-SiteCustomer):至少能有一位關鍵使用者全程參與開發 工作。 4. 象徵(Metapho r):以一種圖像或詞句來表達整個專案設計概念的源頭或系 統運作方式。 5. 簡單的設計(SimpleDesign):設法排除重複的程式碼,並僅使用必要的類 別(Class)和方法(Method)。 6. 測試(Tests):分為單元測試(於正式寫碼之前先撰寫測試程式 )與每個反覆 結束前的系統驗收測試(AcceptanceTests)。 12.
(13) 7. 重整(Refactoring):在不變更原始功能前提下經常改善程式碼結構 。 8. 程式碼撰寫標準(Codi ngStandards):制定格式化的寫碼標準 (如參數設 定)。 9. 持續的整合(ContinuousIntegration):新產出的程式碼須與現有系統作 經常性、循序性整合。整合前須通過所有單元測試 。 10. 共享程式碼所有權(CollectiveCodeOwnership):所有團隊成員均有權改善 系統中任何一支程式碼,但也負修改成敗之責。 11. 雙人搭檔編程(PairPr ogramming):所有程式碼皆由二人一組搭配產出 ,輪 流擔任寫碼者、觀察與建議者(審閱者)。 12.. 每週40工時(40-HourWeeks):若非必要絕不加班。. 第五節 極限編程之實務作法在程式設計教學的應用 一、使用多項實務作法之研究 Keefe, K., Sheard, J.及 Dick, M.三位學者在 2006 年於澳洲 Swinburn 技術學院 的實驗,研究在教授一個學期的 Java 1.5 程式語言的課程中,導入四個 XP 的實 務作法 Pair Programming, Test Driven De velopment, Simple Design(含 Coding Standard), Refactoring。結果發現對於學生的程式語言學習成效確實有所提升 ,也 同時提出要應用這些實務作法於程式教學時應注意的事項 : 1. Pair Programming 13.
(14) 第一堂課由學生自行選擇夥伴 ,讓學生自行掌握雙方的開發節奏 2. Test Driven Development, 最初的重心只需放在為何要測試先行,、大致的方法及其帶來的好處,測試的 工具可以後來再介紹。 3. Simple Design 可用於程式設計任何階段,非僅一開始的概念介紹,即要學生永遠記住保持最 簡單設計的原則來讓程式碼可以執行 。 4. Refactoring 給學生需要重整的程式碼讓他們練習 ,讓他們能確實熟習此技巧 。. 二、只使用雙人搭檔編程之研究 Mcdowell, C., Werner, L., Bullock, H. E.及 Fernald, J.三位學者在 2000 年~2001 年間於加州大學-聖塔克魯斯分校對 554 位學生進行單純在程式語言教學中導入 Pair Programming 的實驗,結果發現使用 Pair Programming 的學生,程式碼品質 顯著地高於單獨編程的學生。但對於完全新的程式之開發上(學生課堂從未接觸 過之題目),兩者則無顯著差異。. 三、Test Driven Development在程式教學上應用之概況:. 14.
(15) 1.. TDD摡念圖:(from http://www.agiledata.org). 圖2-1. TDD摡念圖. 2.. TDD提供了程式設計可以被驗證其正確性的良好方法 。(Jones, 2004). 3.. 介紹程式設計初學者寫Test Case並非一定要使用像JUnit門檻較高的工具。若 使用像Text Files等工具,先讓初學者確實暸解TDD的基本原理,其後再介紹 Junit等工具,使用者在學習上會較成功 。(Miller, 2004). 4.. 為何要在學校程式教學引入 TDD: 大部份的學生在程式語言課程中依賴嘗試錯誤的方式去修正程式中的錯誤. 及除錯(Edwards, 2003, 2004),而且在目前的程式設計教學課程中對測試這個 主題的介紹也多半是不足的 (Olan, 2003)。TDD強調漸進式的開發與頻繁的測 試,使許多教師將TDD納入課堂教學(Edwards, 2003, 2004; Olan, 2003)。Edwards (2004)基於下列八項因素,認為TDD在學校的程式語言教學上是具有吸引力的: (1) TDD強調漸進式的開發與永遠保有所有程式碼的一個工作版本 。 (2) 經由頻繁的測試而更改程式碼 ,TDD可以早期偵測到程式中的錯誤 。 15.
(16) (3) TDD強調漸進式的開發與頻繁的測試 ,與學生習慣的傳統方式:整個程 式開發完成後在於最後作測試是非常迥異的 。 (4) TDD戲劇性地增加了學生對自己已撰寫完成之程式碼的信心 。 (5) TDD使學生有信心去修改程式碼或增加測試案例 ,直到最後的驗收測驗 為止。 (6) 因為TDD的方式強迫學生必須弄清楚問題的灰色地帶 ,因此增加了學生 對程式問題需求之暸解。 (7) 因使用TDD伴隨而來的測試案例增加 ,它成為一個專案進度的指示者 , 使得學生清楚地瞭解有多少需要的程式已被完成 。 (8) 學生在使用 TDD 經過些許程式指定作業的開發之後 ,開始瞭解上述 TDD 帶來的好處。. 16.
(17) 第三章 研究方法與步驟 第一節 研究設計. 本研究為探討高職學生對於以應用 極限編程(eXtremeProgramming,以下 簡寫為 XP)實務作法之程式語言教學輔助系統於學習程式語言的態度反應 ,並且 比較實驗活動教學與傳統講述教學的成效,以準實驗研究法(quasi-experiment) 進行探討。 研究的自變項為四種不同的教學法,依變項為學生的成就測驗成績。實驗過 程中,實驗組 1學生操作 VB6.0程式語言開發環境搭配課堂程式語言教學輔助 系統;實驗組 2學生操作 VB6.0程式語言開發環境搭配雙人搭檔編程;實驗組 3 學生在上課時操作 VB6.0程式語言開發環境搭配課堂程式語言教學輔助系統 及 雙人搭檔編程;控制組學生單純操作 VB6.0程式語言開發環境。 四組在上課時所接受教師的教學內容皆相同,但有使用雙人搭檔編程之組別 (實驗組 2及實驗組 3)之審閱者須填寫雙人搭檔編程學習單;四組所接受的實 驗處理時間皆相同。實驗結束後,四組採用相同的測驗題目進行 成就測驗,以及 各填寫一份程式語言教學問卷。. 第二節 研究樣本. 本研究以台北市某高級職業學校一年級電機科 及機械科學生為研究對象,隨. 17.
(18) 機挑選 4個班級,其中一個班級為控制組共 35名學生,三個班級為實驗組 1、 實驗組 2 、實驗組 3分別有 40 、36及 36名學生。在實驗過程中,因有學生請病 假、公假等因素而無法全程參與實驗活動 ,最後全程參與的學生控制組有 31 人,實驗組 1有 39人,實驗組 2有 32人,實驗組 3有 34人。如表 3-1: 表 3-1 實驗組與控制組參與學生人 數統計表 組別. 總人數(人). 全程參與人數(人). 控制組. 35. 31. 實驗組 1. 40. 39. 實驗組 2. 36. 32. 實驗組 3. 36. 34. 第三節 應用 XP 實務作法之程式語言教學輔助系統 程式設計的教學與訓練是整個軟體工業發展的基礎工作 ,當中包含了許多問 題解決(problem-solving)歷程是內隱的(implicit) ,因此不易被觀察及評量,但 卻是成功解題之關鍵(Kirsner, 1998) 。若能將這些歷程有某些程度的透明化、制 式化,則可將相關經驗與條件在教學與訓練中重塑 ,使程式設計人員能更有效率 的增進問題解決能力。 Deek, Turoff 及 McHugh(1999)則整合之前學者所提出的問題解決歷程,認為 促進程式語言學習的問題解決歷程分為五個步驟 :「闡述問題、計劃解答、設計 解答、將計劃轉換成程式碼、測試及撰寫文件」,以下就這五個步驟再進一步詳 述:. 18.
(19) 1. 闡述問題:程式設計過程中,瞭解問題需求是第一步驟,要知道程式的輸入 及輸出要求 2. 計劃解答:將問題分解成小問題,並以模組化的方式規劃出解決問題的步驟。 3. 設計解答:根據每個小問題設計一組測試案例 ,輸入某個值一定要得到對應 的輸出值才表示通過測試 。 4. 將計劃轉換成程式碼:撰寫程式碼以實行所設計的解題計劃。 5.. 測試及撰寫文件:進行測試,確認解題的正確性及找出程式錯誤之處 。 本研究將上述程式語言學習的問題解決歷程與 XP的實務作法配合,提出一套. 適用於課堂程式教學的流程。並將此流程作為VB課堂教學輔助系統之基本設計, 此套引導學生程式設計的流程如下: 1.. 經由系統引導暸解題意(PlanningGame). 2.. 為所有物件以有意義之變數名稱命名 (CodingStandard). 3.. 撰寫測試案例(TestDrivenDevelopment). 4.. 寫程式碼,進行測試,系統也會提供開發程式所需相關知識. 5.. 重整程式碼(Refactoring). 6.. 加入所有測試案例作為程式註解之完整程式碼展示. 而學生是否以課前指定之雙人組登入系統(PairProgramming)視實驗組別 而定。. 19.
(20) 系統登入畫面如圖3-1,以實驗組三為例,需先填入班級及課前指定之雙人搭 檔編程組的寫碼者及審閱者座號 ,再按下「登入」鍵,系統確認寫碼者及審閱者 座號屬同一組別無誤後,即可進入系統題目說明頁面。. 圖3-1系統登入 題目說明頁面如圖3-2,詳述題目說明、試題要求及執行結果範例畫面。學生 若認為對題目已瞭解,可以按下網頁下方按鍵,進入題意闡釋頁面。. 20.
(21) 圖3-2題目 題意闡釋頁面如圖3-3,針對題目的要求切割出幾個功能,此頁面會針對每一 個功能詳述。學生若認為對所有功能已瞭解,可以按下「下一步」鍵,進入物件 命名頁面;若對所有功能還有所疑問 ,可以按「再回去看一遍題目」鍵,回到題 目頁面再看一次題目。. 21.
(22) 圖3-3闡釋題意 物件命名頁面如圖3-4,學生根據教師在課堂上要求的命名標準,為物件進行 命名。例如標籤物件以lbl開頭,文字方塊物件以txt開頭,按鈕物件以cmd開頭, 再加上可代表此物件的有意義名稱 。物件命名過程中,可隨時按下「儲存」鍵儲 存至資料庫,所有物件命名完成後,按下「下一步」按鍵,進入撰寫測試案例頁 面。本題物件命名解答範例如下 : 1-lblTitle 2-txtFirst 3-lblFirst 4-txt2nd 5-lbl2nd 6-txt3rd 7-lblEqual0 8-lblResult 9-cmdCalc 10-cmdClear 11-cmdEnd. 22.
(23) 圖3-4物件命名 撰寫測試案例頁面如圖3-5,仔細思考各物件之功能後,填寫每一個測試案例 的輸入值及預期輸出值。以測試案例1為例,輸入值為「txt1st.text=0或非數字資 料」 ,預期輸出值為「彈出一對話框,上面呈現訊息”輸入資料有誤,請輸入非0 數值"」。測試案例撰寫過程中,可隨時按下「儲存」鍵儲存至資料庫,所有測 試案例完成後,按下「下一步」按鍵,進入撰寫程式及進行測試頁面 。. 23.
(24) …. 圖3-5撰寫測試案例 撰寫程式及進行測試頁面頁面 如圖3-6,針對之前完成之各功能的測試案例 撰寫程式碼及進行測試,測試通過需勾選通過測試 欄位,程式撰寫過程中,可 隨時按下「儲存」鍵儲存至資料庫,所有程式撰寫完成後,按下「下一步」按. 24.
(25) 鍵,進入重整頁面。 重整頁面如圖3-7,針對之前撰寫之程式碼若有可精簡部分進行重整,有重整 之功能需勾選有重整欄位,程式重整過程中,可隨時按下「儲存」鍵儲存至資料 庫,所有程式檢閱完成後,按下「下一步」按鍵,進入程式碼展示頁面。以本題 為例,在功能四(計算功能)中,原本判別式b^2-4ac=0,計算根的程式如下: x1 = (-b + Sqr(i)) / (2 * a) x2 = (-b - Sqr(i)) / (2 * a) Label4.Caption = "有兩相異實根,分別為" & x1 & " " & x2 可刪減並修改程式碼,重整為: x1 = -b / (2 * a) Label4.Caption = "有兩相等實根,分別為" & x1 & " " & x1. 25.
(26) …. 圖3-6撰寫程式、進行測試. 26.
(27) …. 圖3-7重整 完整程式碼展示頁面如圖 3-8,系統會將所有之前撰寫的測試案例放在程 式碼最上方當作註解,並將所有程式碼完整呈現 。按下「完成」鍵,完成程 式作業。完成作業訊息畫面如圖3-9。. 27.
(28) 圖3-8加入測試案例當註解之完整程式碼展示. 圖3-9完成作業訊息畫面. 28.
(29) 第四節 研究工具 本研究的研究工具包括:課程講義、程式語言教學輔助系統、雙人搭檔編程 學習單、程式語言成就測驗、程式語言教學問卷,以下逐項說明: (一) 課程講義: 課程講義(見附錄一、二、三)主要為配合 VB程式語言課程使用,實驗組學 生與控制組學生均有一份 相同的課程講義。課程講義主要內容為程式實作題之題 目說明、試題要求及需使用到之相關語法 (含條件結構、重複結構以及程式開發 需用到的運算子、方法及函數的相關概念) 。條件結構內容主要是 VB程式語言的 條件判斷概念,如 If…Then…Else結構、SelectCase結構等。而重複結構內容 主要是 VB程式語言的迴圈概念,如 For…Next結構、Do…Loop結構等。而課堂 中程式開發需要用到的相關運算子 、方法及函數皆會在課程講義中附上。 (二) 程式語言教學輔助系統: 該教學系統提供一符合程式語言學習的問題解決歷程並搭配適於教學情境 之 XP 實務作法之程式設計流程。詳見第三節。 (三) 雙人搭檔編程學習單: 實驗組2及實驗組3有使用到雙人搭檔編程,在課堂進行程式設計作業時,須 填寫雙人搭檔編程學習單,如附錄四所示。由審閱者主筆,針對寫碼者進行程式 設計的整個流程中所發生之錯誤詳細記載 ,並記錄更正之作法。 (四) VB程式語言成就測驗:. 29.
(30) VB程式語言成就測驗分為程式理解與程式設計能力 ,共有六題,前三題是程 式理解部分,後三題為程式設計部分,成就測驗的信度採Cronbachα的內部一 致性(internal consistency)分析,整份測驗得到的α值為0.71。而測驗的效度則 採專家效度,由兩位高職電腦教師給予意見後修訂 。測驗題目如附錄五所示。 (五) VB程式語言教學問卷:(以實驗組3問卷為例) VB問卷主要在瞭解學生在VisualBasic教學之後,對程式設計的看法與態 度。第1~12題採李克特5點式量表,13~15題為開放式問題。第9、10、12、14 題,因為牽涉到程式語言教學輔助系統,所以只有實驗組1及實驗組3需要回 答;第11題,因為牽涉到雙人搭檔編程,所以只有實驗組2及實驗組3需要回 答;控制組 則無需要回答第9~12題及第14題。 問卷內容包括: 第1~2題:瞭解學生對VisualBasic程式編輯環境的看法。 第3~6題:瞭解學生對程式設計的觀感 、興趣與信心。 第7~8題:瞭解學生經過VisualBasic程式設計課程後,是否具備演算法 思考的能力。 第9~10、14題:瞭解學生在學習VisualBasic程式設計課程時,是否能將 開發流程中的數個步驟確實帶入程式開發 ,以及哪些步驟對他們學習程式設 計最有幫助。 第11題:瞭解學生對採用PairProgramming是否能增加程式開發之自信 。. 30.
(31) 第12題:比較學生對採用XP實務方法之開發流程與傳統VisualBasic程式 設計之態度。 第13題:瞭解學生學習VisualBasic過程中遇到的困難。. 第五節 實施程序 實驗課程共實施三週,每週每班兩節課,每節課時間為50分鐘,第一週課程 為條件結構教學及程式實作,第二週課程為重複結構教學及程式實作,第三週課 程為條件結構加上重複結構教學之程式實作,第三週課後會實施VB程式語言成就 測驗及教學問卷填寫。實驗組1學生操作VB6.0程式語言開發環境搭配課堂程式 語言教學輔助系統;實驗組2學生操作VB6.0程式語言開發環境搭配雙人搭檔編 程;實驗組3學生在上課時操作VB6.0程式語言開發環境搭配課堂程式語言教學 輔助系統及雙人搭檔編程;控制組學生單純操作VB6.0程式語言開發環境。 教師在上課時以廣播系統講解程式語言教學內容,四組學生的教學內容皆相 同,在程式設計過程中學生有問題可以隨時提問 ,教師會從旁指導。 實驗組2及實驗組3有使用雙人搭檔編程,在課堂進行程式設計作業時,須填 寫雙人搭檔編程學習單。由審閱者主筆,針對寫碼者進行程式設計的整個流程中 所發生之錯誤詳細記載,並記錄更正之作法,實驗結束後,該兩組織學習態度問 卷會有雙人搭檔編程相關問題。實驗組1及實驗組3有使用課堂程式語言教學輔助 系統,以系統提供之流程開發程式,實驗結束後,該兩組織學習態度問卷會有 課 堂程式語言教學輔助系統 相關問題。 31.
(32) 教學實驗的實施步驟如圖3-10:. 實驗開始. 控制組. VB程式設計教 學(3週). 實驗組 1. 實驗組 2. VB程式設計教學 +程式語言教學 輔助系統(3週). VB程式設計教學 +雙人搭檔編程 (3週). VB成就測驗 VB教學問卷. 資料分析. 圖3-10實施程序. 32. 實驗組 3 ˇ VB程式設計教學 +程式語言教學輔 助系統 + 雙人搭 檔編程(3週).
(33) 第六節 資料分析 資料分析包括學生課堂程式完成度統計、VB程式語言成就測驗及 VB程式語 言教學問卷三部份。 學生課堂程式完成度統計資料由研究者於課堂授課蒐集而得,再進一步統計 分析學生課堂程式完成的情形。 VB程式語言成就測驗的資料分析採共變數分析處理。以教學方法(VB 課堂 教學輔助系統+雙人搭檔編程、VB 課堂教學輔助系統、雙人搭檔編程、傳統 VB 程式設計教學)作為自變項,VB程式語言成就測驗得分為依變項,並以學生高一 下學期第一次段考程式語言科成績作為共變量。共變數分析以二步驟進行:(1) 組內迴歸係數同質性考驗,(2)共變數分析。首先對各組進行組內同質性考驗, 若符合迴歸係數同質性,則進行共變數分析。以上分析皆以α=.05 為顯著水準。 VB程式語言教學問卷封閉式問題 部分採李克特五點式量表的的填答項目 ,有 非常同意、同意、普通、不同意與非常不同意,依序給予5、4、3、2 、1分。四 組皆有的封閉式問題採共變數分析處理,以比較四組的學習狀況、想法、態度上 的差異;實驗組1及實驗組2、實驗組3問卷中有關課堂程式語言教學輔助系統及 雙人搭檔編程之問題,則個別採百分比方式分析。而開放式問題則以綜合歸納方 式整理。. 33.
(34) 第四章 結果與討論 本章將由VB程式語言成就測驗及教學問卷,來分析以應用極限編程(XP, eXtremeProgramming)實務作法之程式語言教學輔助系統 對於學生的影響。第一 節討論實驗組與控制組的學習成就差異,第二節比較實驗組與控制組對學習活動 的態度,第三節探討VB課堂教學輔助系統及雙人搭檔編程組程式設計的學習成 效。. 第一節 實驗組與控制組學習成就比較 本節分別從四組學生VB成就測驗的結果,比較使用新的教學法與否在整體 學習成就、程式理解與程式設計能力的差別 。. 一、整體學習成就分析 成就測驗成績採共變數分析處理。共變數分析中,以教學方法(傳統VB程式 設計教學、VB課堂教學輔助系統、雙人搭檔編程、VB課堂教學輔助系統+雙人 搭檔編程)作為自變項,VB程式語言成就測驗得分為依變項,並以學生高一下學 期第一次段考程式語言科成績作為共變量。共變數分析以二步驟進行:(1)組 內迴歸係數同質性考驗,(2)共變數分析。首先對各組進行組內同質性考驗, 若符合迴歸係數同質性,則進行共變數分析。以上分析皆以α=.05 為顯著水準。 分析結果如下: 實驗組學生與控制組在成就測驗總分的敘述統計量數如表4-1所示。. 34.
(35) 表4-1實驗組與控制組成就測驗總分之敘述統計量數 依變數:成就測驗成績(總分20分) 教學方法. 平均數. 標準差. 個數. 傳統VB程式設計教學組 (控制組). 10.58. 6.371. 31. VB課堂教學輔助系統組 (實驗組1). 11.77. 5.209. 39. 9.72. 4.488. 32. 13.09. 4.515. 34. 11.35. 5.277. 136. 雙人搭檔編程組 (實驗組2) VB課堂教學輔助系統+ 雙人搭檔編程組 (實驗組3) 總和. 首先對實驗組與控制組進行組內迴歸係數同質性考驗,所得結果如表4-2所 示,符合迴歸係數同質性(F=.248,p=0.862>.05),亦即表示共變項(前測成 績)與依變項(成就測驗成績)間的關係不會因自變項各處理水準的不同而有所 不同,可繼續進行共變數分析。 表4-2受試者間效應項檢定表 依變數:成就測驗成績(總分20分) 來源 校正後的模式 截距 教學方法 前測成績 教學方法*前測成績 誤差 總和 校正後的總數. 型 III平 方和. 自由 度. 459.074(a) 85.823 30.621. 平均平方 和 7 1 3. 236.076 19.208. 顯著性. 65.582 85.823 10.207. 2.544 3.329 .396. .017 .070 .756. 1 236.076 3 6.403. 9.158 .248. .003 .862. 3299.683 21265.000. 128 136. 3758.757. 135. 25.779. a R平方 =.122(調過後的 R平方 =.074) 35. F檢定.
(36) 共變數分析結果如表43所示。排除共變項(前測成績)對依變項(成就測 驗成績)的影響後,自變項對依變項的影響效果檢定 之F值=3.226,p=.025<.05, 達到顯著水準,實驗處理效果顯著,表示受試者的成就測驗成績會因教學方法的 不同而有所差異。 表4-3共變數分析檢定摘要表 依變數: 成就測驗成績(總分20分) 來源 校正後的模式 截距 前測成績 教學方法 誤差 總和 校正後的總數. 型 III平方 和 439.866(a) 151.479 226.784 245.171 3318.891 21265.000 3758.757. 自由 度. 平均平方 和. 4 109.967 1 151.479 1 226.784 3 81.724 131 25.335 136 135. F檢定 4.340 5.979 8.951 3.226. 顯著性 .002 .016 .003 .025. a R平方 =.117(調過後的 R平方 =.090). 事後比較結果如表4-4所示,可以發現實驗組1 (VB課堂教學輔助系統)的成 績顯著優於實驗組2 (雙人搭檔編程),由表4-5之資料得知,有使用教學輔助系 統之平均成績為12.256顯著高於只使用雙人搭檔編程組之平均成績9.528。實驗 組3 (VB課堂教學輔助系統+雙人搭檔編程)顯著優於控制組(傳統VB程式設計教 學)及實驗組2(雙人搭檔編程),由表4-5之資料得知,有使用教學輔助系統及 雙人搭檔編程組之平均成績為12.888顯著高於只使用傳統VB程式設計教學組之 平均成績10.385、只使用雙人搭檔編程組之平均成績9.528。. 36.
(37) 表4-4事後比較表 依變數: 成就測驗成績(總分20分) (I). (J). 教學 方法. 教學 方法. 0. 1. 2. 3. 1 2 3 0 2. 平均數差 異 (I-J) -1.871 .857 -2.503(*) 1.871 2.728(*). 3 0 1 3 0 1 2. 標準誤. 顯著性. 差異的 95%信賴. (a). 區間(a) 下限. 上限. 1.232 1.268 1.250 1.232 1.222. .131 .500 .047 .131 .027. -4.309 -1.652 -4.975 -.567 .311. .567 3.366 -.030 4.309 5.145. -.632 1.203 -.857 1.268. .600 .500. -3.012 -3.366. 1.748 1.652. .027 .008 .047 .600 .008. -5.145 -5.812 .030 -1.748 .907. -.311 -.907 4.975 3.012 5.812. -2.728(*) -3.360(*) 2.503(*) .632 3.360(*). 1.222 1.240 1.250 1.203 1.240. 以可估計的邊際平均數為基礎 * 在水準 .05的平均數差異顯著。 a 多重比較調整:最小顯著差異 (等於沒有調整)。. 表4-5教學方法各水準調整後之邊緣平均數表 依變數: 成就測驗成績(總分20分) 教學 方法. 平均數. 標準誤. 95%信賴區間 下限. 上限. 0 1 2. 10.385(a) 12.256(a) 9.528(a). .906 .822 .892. 8.592 10.629 7.763. 12.178 13.883 11.293. 3. 12.888(a). .866. 11.175. 14.601. a 使用下列的值評估模型中的共變量 : pre=68.52.. 二、程式理解能力分析 實驗組學生與控制組在程式理解能力總分的敘述統計量數如表4-6所示。. 37.
(38) 表4-6實驗組與控制組程式理解能力總分之敘述統計量數 依變數:程式理解能力成績(總分3分) 教學方法. 平均數. 標準差. 個數. 傳統VB程式設計教學組 (控制組). 2.32. .945. 31. VB課堂教學輔助系統組 (實驗組1). 2.64. .668. 39. 2.13. 1.070. 32. 2.65. .646. 34. 2.45. .859. 136. 雙人搭檔編程組 (實驗組2) VB課堂教學輔助系統+ 雙人搭檔編程組 (實驗組3) 總和. 首先對實驗組與控制組進行組內迴歸係數同質性考驗,所得結果如表4-7所 示,符合迴歸係數同質性(F=.632 ,p=.596>.05),亦即表示共變項(前測成績) 與依變項(程式理解能力成績)間的關係不會因自變項各處理水準的不同而有所 不同,可繼續進行共變數分析。 表4-7受試者間效應項檢定表 依變數:程式理解能力成績(總分3分) 來源 校正後的模式 截距 教學方法*前測成績 教學方法 前測成績 誤差 總和 校正後的總數. 型 III平 方和. 自由 度. 平均平方和. F檢定. 顯著性. 9.339(a) 17.736 1.337 2.041. 7 1 3 3. 1.334 17.736 .446 .680. 1.891 25.140 .632 .964. .076 .000 .596 .412. 1.146 90.301. 1 128. 1.146 .705. 1.624. .205. 915.000 99.640. 136 135. a R平方 =.094(調過後的 R平方 =.044). 38.
(39) 程式理解能力總分為3分,共變數分析結果如表4-8所示。排除共變項(前 測成績)對依變項(程式理解能力成績)的影響後,自變項對依變項的影響效果 檢定之F值=3.496,p=. 018<.05,達到顯著水準,實驗處理效果顯著,表示受試 者的程式理解能力成績會因教學方法的不同而有所差異 。 表4-8共變數分析檢定摘要表 依變數:程式理解能力成績(總分3分) 來源 校正後的 模式 截距 前測成績 教學方法 誤差 總和 校正後的 總數. 型 III平 方和. 自由 度. 平均平方和. F檢定. 顯著性. 8.002(a). 4. 2.000. 2.860. .026. 21.930 1.375 7.337 91.638 915.000. 1 1 3 131 136. 21.930 1.375 2.446 .700. 31.349 1.966 3.496. .000 .163 .018. 99.640. 135. a R平方 =.080(調過後的 R平方 =.052). 事後比較結果如表4-9所示,可以發現實驗組1 (VB課堂教學輔助系統)的成 績顯著優於實驗組2(雙人搭檔編程),由表4-10之資料得知,有使用教學輔助 系統之平均成績為2.679顯著高於只使用雙人搭檔編程組之平均成績2.110 。實驗 組3 (VB課堂教學輔助系統+雙人搭檔編程)顯著優於實驗組2 (雙人搭檔編程), 由表4-10之資料得知,有使用教學輔助系統及雙人搭檔編程組之平均成績為 2.631顯著高於只使用雙人搭檔編程組之平均成績2.110。. 39.
(40) 表4-9事後比較表 依變數: 程式理解能力成績(總分3分) (I). (J). 教學 方法. 教學 方法. 0. 1. 2. 3. 1 2 3 0 2. 平均數差 異 (I-J). 標準誤. 顯著性 (a). 差異的 95%信賴 區間(a) 下限. 上限. -.372 .197. .205 .211. .072 .351. -.777 -.220. .034 .614. 3 0. -.324 .372 .569(*) .047 -.197. .208 .205 .203 .200 .211. .121 .072 .006 .813 .351. -.735 -.034 .167 -.348 -.614. .087 .777 .970 .443 .220. 1 3 0 1 2. -.569(*) -.521(*) .324 -.047 .521(*). .203 .206 .208 .200 .206. .006 .013 .121 .813 .013. -.970 -.929 -.087 -.443 .114. -.167 -.114 .735 .348 .929. 以可估計的邊際平均數為基礎 * 在水準 .05的平均數差異顯著。 a 多重比較調整:最小顯著差異 (等於沒有調整)。 表4-10教學方法各水準調整後之邊緣平均數表 依變數: 程式理解能力成績(總分3分) 教學 方法. 平均數. 標準誤. 95%信賴區間 下限. 上限. 0. 2.307(a). .151. 2.009. 2.605. 1 2 3. 2.679(a) 2.110(a) 2.631(a). .137 .148 .144. 2.409 1.817 2.347. 2.949 2.403 2.916. a 使用下列的值評估模型中的共變量 : pre=68.52. 我們進一步分析四組學生在三個程式基本控制結構的理解能力差異,其中條 件結構、重複結構、條件及重複結構混合之 分數皆為1分。結果如表4-11顯示 實驗組與控制組的程式理解能力於使用不同教學方法之結果 ,其條件結構得分 40.
(41) (F=2.404,P=.70>.05)、重複結構得分(F=1.076,P=.361>.05)兩題無顯著 差異,但在條件及重複結構混合得分 (F=2.716,P=.047<.05)則有顯著差異。 表4-11程式理解能力各題共變數分析摘要表 來源. 依變數. 教學方法. 條件結構 得分 重複結構 得分 條件及重 複結構混 合得分. 型 III 平方和. 自由度. 平均平方 和. .746. 3. .249. 2.404. .070. .491. 3. .164. 1.076. .361. 1.464. 3. .488. 2.716. .047. F檢定. 顯著性. a R平方 =.089(調過後的 R平方 =.061) b R平方 =.024(調過後的 R平方 =-.006) c R平方 =.059(調過後的 R平方 =.030) 針對條件及重複結構混合得分 來做事後比較,其結果如表4-12所示,可以發 現實驗組1 (VB課堂教學輔助系統)的成績顯著優於實驗組 2 (雙人搭檔編程), 由表4-13之資料得知,有使用教學輔助系統之平均成績為 0.879顯著高於只使用 雙人搭檔編程組之平均成績0.622。. 41.
(42) 表4-12事後比較表 依變數: 條件及重複結構混合得分(總分1分) (I). (J). 教學 方法. 教學 方法. 0. 1. 2. 3. 平均數差 異 (I-J). 標準誤. 顯著性 (a). 差異的 95%信賴 區間(a) 下限. 上限. 1 2. -.204 .052. .104 .107. .051 .625. -.409 -.159. .001 .264. 3 0 2 3 0. -.146 .204 .256(*) .058 -.052. .105 .104 .103 .101 .107. .168 .051 .014 .568 .625. -.354 -.001 .053 -.142 -.264. .062 .409 .460 .258 .159. 1 3 0 1 2. -.256(*) -.198 .146 -.058 .198. .103 .104 .105 .101 .104. .014 .060 .168 .568 .060. -.460 -.405 -.062 -.258 -.008. -.053 .008 .354 .142 .405. 以可估計的邊際平均數為基礎 * 在水準 .05的平均數差異顯著。 a 多重比較調整:最小顯著差異 (等於沒有調整)。 表4-13教學方法各水準調整後之邊緣平均數表 依變數: 條件及重複結構混合得分(總分1分) 教學 方法. 平均數. 標準誤. 95%信賴區間 下限. 上限. 0. .675(a). .076. .524. .826. 1 2 3. .879(a) .622(a) .821(a). .069 .075 .073. .742 .474 .676. 1.016 .771 .965. a 使用下列的值評估模型中的共變量 : pre=68.52.. VB成就測驗的結果,四組的程式理解能力在使用不同的教學方法之結果, 有顯著差異,VB課堂教學輔助系統組、VB課堂教學輔助系統及雙人搭檔編程組 42.
(43) 的成績顯著優於雙人搭檔編程組。再根據單一題目分析,亦在條件及重複結構混 合題之得分有顯著差異,VB課堂教學輔助系統組的成績顯著優於雙人搭檔編程 組。. 三、程式設計能力分析 實驗組學生與控制組在程式設計能力總分的敘述統計量數如表4-14所示。 表4-14實驗組與控制組程式設計能力總分之敘述統計量數 依變數:程式設計能力成績(總分17分) 教學方法. 平均數. 傳統VB程式設計教學組 (控制組) VB課堂教學輔助系統組 (實驗組1) 雙人搭檔編程組 (實驗組2) VB課堂教學輔助系統+ 雙人搭檔編程組 (實驗組3) 總和. 標準差. 個數. 8.26. 5.796. 31. 9.13. 4.921. 39. 7.62. 3.982. 32. 10.44. 4.237. 34. 8.90. 4.838. 136. 首先對實驗組與 控制組進行組內迴歸係數同質性考驗,所得結果如表4-15 所示,符合迴歸係數同質性(F=.241,p=.867>.05),亦即表示共變項(前測成 績)與依變項(程式設計能力成績)間的關係不會因自變項各處理水準的不同而 有所不同,可繼續進行共變數分析。. 43.
(44) 表4-15受試者間效應項檢定表 依變數:程式設計能力成績(總分17分) 來源 校正後的模式 截距 教學方法*前測成績 教學方法 前測成績 誤差 總和 校正後的總數. 型 III平. 自由. 方和. 度. 平均平方和. F檢定. 顯著性. 350.644(a) 28.453 15.898. 7 1 3. 50.092 28.453 5.299. 2.282 1.296 .241. .032 .257 .867. 19.194 196.824 2809.113 13943.000 3159.757. 3 1 128 136 135. 6.398 196.824 21.946. .292 8.968. .831 .003. a R平方 =.111(調過後的 R平方 =.062) 程式設計能力總分為17分,共變數分析結果如表4-16所示。排除共變項(前 測成績)對依變項(程式設計能力成績)的影響後,自變項對依變項的影響效果 檢定之F值=2.528,p=. 056>.05,未達顯著水準,實驗處理效果不顯著 ,表示受 試者的程式設計能力成績不會因教學方法的不同而有所差異 。 表4-16共變數分析檢定摘要表 依變數:程式設計能力成績(總分17分) 來源 校正後的. 型 III平 方和. 自由 度. 平均平方和. F檢定. 顯著性. 334.747(a). 4. 83.687. 3.881. .005. 61.541 187.166. 1 1. 61.541 187.166. 2.854 8.679. .094 .004. 教學方法 誤差. 167.032 2825.011. 3 131. 55.677 21.565. 2.582. .056. 總和 校正後的. 13943.000. 136. 3159.757. 135. 模式 截距 前測成績. 總數. a R平方 =.106(調過後的 R平方 =.079) 44.
(45) 我們進一步分析四組學生在三個程式基本控制結構的 理解能力差異,其中條 件結構、重複結構、條件及重複結構混合之 分數各為4分、3分、10分。結果 如表4-17顯示實驗組與控制組的程式理解能力於使用不同教學方法之結果 ,其 重複結構得分(F=1.257,P=.292>.05)、條件及重複結構混合得分 (F=2.666, P=.050>.05)兩題無顯著差異,但在條件結構得分(F=5.730,P=0.001<.05)則 有顯著差異。 表4-17程式設計能力各題共變數分析摘要表 來源. 依變數. 教學方法. 條件結構 得分 重複結構 得分 條件及重 複結構混 合得分. 型 III 平方和. 自由度. 平均平方 和. 33.112. 3. 11.037. 5.730. .001. 7.863. 3. 2.621. 2.666. .050. 40.237. 3. 13.412. 1.257. .292. F檢定. 顯著性. a R平方 =.170(調過後的 R平方 =.145) b R平方 =.087(調過後的 R平方 =.059) c R平方 =.056(調過後的 R平方 =.027) 針對條件結構得分來做事後比較,其結果如表4-18所示,可以發現控制組(傳 統VB程式設計教學)、實驗組1(VB課堂教學輔助系統)、實驗組3(VB課堂教 學輔助系統+雙人搭檔編程)的成績皆顯著優於實驗組 2 (雙人搭檔編程組)。由 表4-19之資料得知,傳統VB程式設計教學組之平均成績為1.418、使用教學輔助 系統組之平均成績為2.036、使用教學輔助系統及雙人搭檔編程組之平均成績為 1.697皆顯著高於只使用雙人搭檔編程組之平均成績0.686。 45.
(46) 表4-18事後比較表 依變數: 條件結構得分(總分4分) (I). (J). 教學 方法. 教學 方法. 0. 1. 2. 3. 平均數差 異 (I-J). 標準誤. 顯著性 (a). 差異的 95%信賴 區間(a) 下限. 上限. 1 2. -.619 .732(*). .340 .350. .071 .038. -1.291 .040. .054 1.424. 3 0 2 3 0. -.279 .619 1.351(*) .339 -.732(*). .345 .340 .337 .332 .350. .419 .071 .000 .308 .038. -.961 -.054 .684 -.317 -1.424. .403 1.291 2.017 .996 -.040. 1 3 0 1 2. -1.351(*) -1.011(*) .279 -.339 1.011(*). .337 .342 .345 .332 .342. .000 .004 .419 .308 .004. -2.017 -1.688 -.403 -.996 .335. -.684 -.335 .961 .317 1.688. 以可估計的邊際平均數為基礎 * 在水準 .05的平均數差異顯著。 a 多重比較調整:最小顯著差異 (等於沒有調整)。 表4-19教學方法各水準調整後之邊緣平均數表 依變數: 條件結構得分(總分4分) 教學 方法. 平均數. 標準誤. 95%信賴區間 下限. 上限. 0. 1.418(a). .250. .923. 1.912. 1 2 3. 2.036(a) .686(a) 1.697(a). .227 .246 .239. 1.588 .199 1.225. 2.485 1.172 2.169. a 使用下列的值評估模型中的共變量 : pre=68.52.. VB成就測驗的結果,四組的程式設計能力在使用不同的教學方法之結果,並 無顯著差異。根據單一題目分析,在條件結構題之得分有顯著差異,為傳統VB程 46.
(47) 式設計教學組、使用教學輔助系統組、使用教學輔助系統及雙人搭檔編程組的成 績顯著優於皆顯著高於只使用雙人搭檔編程組。. 第二節 實驗組與控制組學習情形比較 本節根據四組學生在VB問卷上的填答,分析比較四組學生對學習活動的態 度。問卷分析採共變數分析,而開放性問題採用整理歸納的方式分析。. 一、對學習工具的看法 表4-20是四組學生對於VB程式語言開發環境看法的統計數字。約有6成2 的實驗組3(教學輔助系統及雙人搭檔編程組 )學生認為VB程式語言開發環境使 用上非常方便(第1題,實驗組3非常同意18%,同意44%)。四組之間並未達顯 著差異。 在VB指令的理解方面,有1成8的實驗組3學生認為VB的指令很容易瞭解(第 2題,實驗組3非常同意6%,同意12%),表4-21是程式撰寫各題共變數分析摘要 表,排除共變項(前測成績)對依變項(認為VB的指令很容易瞭解)的影響後, 自變項對依變項的影響效果檢定之 F值=7.493,p=.000<.05,達顯著水準,因此 再進行事後比較。由表4-22可知,控制組(傳統VB程式設計教學)、實驗組1 (VB 課堂教學輔助系統)、實驗組3 (VB課堂教學輔助系統+雙人搭檔編程)皆顯著高 於實驗組2(雙人搭檔編程組)。. 47.
(48) 表4-20四組學生對程式撰寫的作答情形 問卷題目. 組別. 非常同意. 同意. 普通. 不同意. 非常不同 意. 1.我覺得 VB的程式 控制組 編輯環境非常方 實驗組 1 便 實驗組 2. 26%. 35%. 32%. 3%. 3%. 18%. 54%. 21%. 3%. 5%. 13%. 38%. 34%. 9%. 6%. 實驗組 3. 18%. 44%. 38%. 0%. 0%. 2.我認為 VB的指令 控制組 很容易理解 實驗組 1. 16%. 23%. 45%. 13%. 3%. 10%. 23%. 54%. 8%. 5%. 實驗組 2. 0%. 13%. 31%. 38%. 19%. 實驗組 3. 6%. 12%. 68%. 12%. 3%. 表4-21程式撰寫各題共變數分析摘要表 來源 教學方法. 依變數 型 III 自由度 (問卷題目) 平方和 第1題 第2題. 3.694 19.177. 3 3. 48. 平均平方 和 1.231 6.392. F檢定 1.407 7.493. 顯著性 .244 .000.
(49) 表4-22事後比較表 依變數: 第2題 (I). (J). 教學 方法. 教學 方法. 0. 1. 2. 3. 平均數差 異 (I-J). 1 2 3 0 2 3 0 1 3 0 1 2. 標準誤. 顯著性 (a). 差異的 95%信賴 區間(a) 下限. 上限. . 0 8 0. . 2 2 6. . 7 2 3. . 3 6 7. . 5 2 8. . 9 8 0 ( * ). . 2 3 3. . 0 0 0. . 5 1 9. 1 . 4 4 0. . 2 9 6. . 2 2 9. . 1 9 9. . 1 5 8. . 7 5 0. . 0 8 0. . 2 2 6. . 7 2 3. . 5 2 8. . 3 6 7. . 8 9 9 ( * ). . 2 2 4. . 0 0 0. . 4 5 6. 1 . 3 4 3. . 2 1 6. . 2 2 1. . 3 3 0. . 2 2 1. . 6 5 2. . 9 8 0 ( * ). . 2 3 3. . 0 0 0. 1 . 4 4 0. . 5 1 9. . 8 9 9 ( * ). . 2 2 4. . 0 0 0. 1 . 3 4 3. . 4 5 6. . 6 8 4 ( * ). . 2 2 7. . 0 0 3. 1 . 1 3 4. . 2 3 4. . 2 9 6. . 2 2 9. . 1 9 9. . 7 5 0. . 1 5 8. . 2 1 6. . 2 2 1. . 3 3 0. . 6 5 2. . 2 2 1. . 6 8 4 ( * ). . 2 2 7. . 0 0 3. . 2 3 4. 1 . 1 3 4. 二、程式設計學習興趣 以下比較實驗組與控制組之間撰寫 VB程式的信心、興趣、學習的意願,及 完成程式帶來的成就感。表4-23是四組學生對學習的態度與興趣相關統計結 果。有3成的實驗組3(教學輔助系統及雙人搭檔編程組 )學生認為有信心使用 VB寫一個簡單的小程式(第3題,實驗組3非常同意6%,同意24%),表4-24是程 式撰寫各題共變數分析摘要表,排除共變項(前測成績)對依變項(有信心能夠 使用VB寫一個簡單的小程式)的影響後,自變項對依變項的影響效果檢定之 F值 =5.181,p=.002<.05,達顯著水準,因此再進行事後比較。由表4-25可知,控制 組(傳統VB程式設計教學)、實驗組1(VB課堂教學輔助系統)、實驗組3(VB 49.
(50) 課堂教學輔助系統+雙人搭檔編程)皆顯著高於實驗組2(雙人搭檔編程組)。 在對VB程式設計的興趣方面,約有3成8的實驗組3 (教學輔助系統及雙人 搭檔編程組)學生認為VB程式設計非常有趣(第4題,實驗組3非常同意9% ,同 意29%)。四組之間並未達顯著差異。 至於是否有意願繼續學習 更多程式設計的知識,約有7成1的實驗組3(教 學輔助系統及雙人搭檔編程組 )學生有意願繼續學習更多程式設計的知識(第5 題,實驗組3非常同意24%,同意47%)。四組之間並未達顯著差異。 在享受完成程式帶來的成就感方面,約有6成1的實驗組3(教學輔助系統 及雙人搭檔編程組)學生認為完成VB程式帶來很大的成就感(第6題,實驗組3 非常同意26%,同意35%)。四組之間並未達顯著差異。. 50.
(51) 表4-23四組學生對撰寫VB程式態度與興趣的作答情形 問卷題目. 組別. 非常同意. 同意. 普通. 不同意. 非常不同 意. 3.我有信心能夠使 控制組 用 VB寫一個簡單 實驗組 1 的小程式 實驗組 2. 13%. 19%. 55%. 10%. 3%. 8%. 33%. 36%. 18%. 5%. 0%. 16%. 41%. 25%. 19%. 實驗組 3. 6%. 24%. 47%. 24%. 0%. 4.我認為學習 VB程 控制組 式設計非常有趣 實驗組 1. 16%. 23%. 42%. 16%. 3%. 10%. 26%. 51%. 13%. 0%. 實驗組 2. 9%. 31%. 50%. 6%. 0%. 實驗組 3. 9%. 29%. 59%. 3%. 0%. 控制組. 23%. 39%. 32%. 3%. 3%. 實驗組 1. 15%. 38%. 44%. 3%. 0%. 實驗組 2. 16%. 31%. 47%. 3%. 3%. 實驗組 3. 24%. 47%. 26%. 3%. 0%. 6.完成 VB程式帶給 控制組 我很大的成就感 實驗組 1. 26%. 23%. 48%. 0%. 3%. 26%. 23%. 38%. 13%. 0%. 實驗組 2. 41%. 31%. 19%. 3%. 6%. 實驗組 3. 26%. 35%. 32%. 6%. 0%. 5.我希望學習更多 程式設計的知識. 表4-24對撰寫VB程式態度與興趣的各題共變數分析摘要表 來源 教學方法. 依變數. 型 III. (問卷題目) 平方和. 自由度. 平均平方 和. F檢定. 顯著性. 第3題 第4題. 13.196 26.624. 3 3. 4.399 8.875. 5.181 1.165. .002 .326. 第5題 第6題. 2.682 3.020. 3 3. .894 1.007. 1.213 .977. .308 .406. 51.
(52) 表4-25事後比較表 依變數: 第3題 (I). (J). 教學 方法. 教學 方法. 0. 1. 2. 3. 平均數差 異 (I-J). 標準誤. 顯著性 (a). 差異的 95%信賴 區間(a) 下限. 上限. 1 2. -.035 .758(*). .226 .232. .877 .001. -.481 .299. .411 1.218. 3 0 2 3 0. .174 .035 .793(*) .209 -.758(*). .229 .226 .224 .220 .232. .450 .877 .001 .345 .001. -.279 -.411 .351 -.227 -1.218. .626 .481 1.236 .644 -.299. 1 3 0 1 2. -.793(*) -.585(*) -.174 -.209 .585(*). .224 .227 .229 .220 .227. .001 .011 .450 .345 .011. -1.236 -1.034 -.626 -.644 .136. -.351 -.136 .279 .227 1.034. 三、學習反思 表4-26是四組學生對於程式撰寫情形的統計 數字。約有3成6的實驗組3 (教學輔助系統及雙人搭檔編程組 )學生可以在腦海中想像程式的執 行過程(第 7題,實驗組3非常同意12%,同意24%)。表4-27是程式撰寫各題共變數分析摘 要表,排除共變項(前測成績)對依變項(自認可在腦海中想像程式的執行過程 的能力)的影響後,自變項對依變項的影響效果檢定之 F值=3.252 ,p=.024<.05, 達顯著水準,因此再進行事後比較。由表4-28可知,控制組(傳統VB程式設計教 學)、實驗組1 (VB課堂教學輔助系統)、實驗組3 (VB課堂教學輔助系統+雙人 搭檔編程)皆顯著高於實驗組2(雙人搭檔編程組)。 52.
(53) 在規劃程式方面,有2成1的實驗組3學生表示在撰寫程式之前會事先規劃 程式架構(第8題,實驗組3非常同意3% ,同意18%),四組之間並未達顯著差異。 表4-26四組學生對學習反思的作答情形 問卷題目. 組別. 7.我的腦海中可以 想像到程式的執 行過程. 8.我在撰寫程式碼 之前會先規劃程 式架構. 非常同意. 同意. 普通. 不同意. 非常不同 意. 控制組. 16%. 16%. 42%. 23%. 3%. 實驗組 1. 13%. 18%. 44%. 21%. 5%. 實驗組 2. 3%. 9%. 38%. 38%. 13%. 實驗組 3. 12%. 24%. 35%. 29%. 0%. 控制組. 3%. 16%. 48%. 29%. 3%. 實驗組 1. 8%. 10%. 49%. 31%. 3%. 實驗組 2. 0%. 9%. 50%. 31%. 9%. 實驗組 3. 3%. 18%. 56%. 24%. 0%. 表4-27學習反思各題共變數分析摘要表 來源 教學方法. 依變數 型 III 自由度 (問卷題目) 平方和 第7題 第8題. 10.221 2.855. 3 3. 53. 平均平方 和 3.407 .952. F檢定 3.252 1.385. 顯著性 .024 .250.
(54) 表4-28事後比較表 依變數: 第7題 (I). (J). 教學 方法. 教學 方法. 0. 1. 2. 3. 平均數差 異 (I-J). 標準誤. 顯著性 (a). 差異的 95%信賴 區間(a) 下限. 上限. 1 2. .023 .662(*). .251 .258. .928 .011. -.473 .152. .518 1.172. 3 0 2 3 0. .017 -.023 .639(*) -.005 -.662(*). .254 .251 .248 .245 .258. .946 .928 .011 .983 .011. -.485 -.518 .148 -.489 -1.172. .520 .473 1.131 .479 -.152. 1 3 0 1 2. -.639(*) -.645(*) -.017 .005 .645(*). .248 .252 .254 .245 .252. .011 .012 .946 .983 .012. -1.131 -1.143 -.520 -.479 .146. -.148 -.146 .485 .489 1.143. 四、對 VB教學活動的意見 根據課後教學問卷中實驗組與控制組學生的意見,歸納出大部分學生認為學 習VB程式設計過程中,會遭遇到的主要障礙。整體而言,實驗組與控制組的意 見相當。 一、指令不易理解 部分學生反應VB的指令不易理解,而且VB指令全部皆為英文指令,又多增加 一層障礙,導致整個程式都看不懂,更遑論理解整個程式的執行,以下是幾位學 生的看法: 「程式很複雜,都是英文和數字(看不懂) ,超出理解範圍,實際操作也很難。」. 54.
(55) 「VB程式設計許多指令都是英文 ,而符號又多,很容易搞亂。」 「須要看到懂一些英文指令單字比較好做 。」 「程式碼都看不懂。」 二、程式碼太複雜 學生反映程式碼很長,根本記不住,常常看到下面就忘了上面的程式碼,對 初學者而言,太複雜的程式容易模糊教學重點 ,學生不容易掌握程式的邏輯。以 下是幾位學生的意見: 「打程式碼的時候,好複雜又很麻煩,根本看不懂在幹嘛,只是照做而已。」 「雜七雜八程式碼,看了會眼花,指令沒有常用根本記不得 ,容易忘記。」 「程式流程不清楚。」 「程式碼很多。」 三、無法設計程式 部分學生表示設計程式對他們而言是很吃力的事 ,撰寫程式時腦中即呈現一 片空白,不知道如何規劃程式,也不知道該從何處下手。以下是幾位學生的看法: 「無法自行規劃程式架構。」 「好難想出這些程式。」 「不會寫程式碼。」 「寫英文程式很難。」. 55.
(56) 第三節 課堂教學輔助系統及雙人搭檔編程組之VB程式設計 學習結果 因為在整體程式學習成就上,控制組(傳統 VB程式設計教學)只與實驗組 3 (課堂教學輔助系統+雙人搭檔編程)有顯著差異,因此本節單獨分析實驗組 3 學生在 VB程式設計的學習成效與態度,分析資料包括 VB成就測驗及整個教學活 動結束後之 VB教學問卷。. 一、學習成效 (一)程式理解能力 表 4-29是實驗組 3成就測驗程式理解部份的結果 ,表 4-30進一步統 計每個程式觀念的得分情形,程式理解部份總分為 3分,其中條件結構、重 複結構、條件及重複結構混合各佔 1分。表 4-30顯示有 97%的學生瞭解條 件結構;而有 85%的學生已具備重複結構的觀念;具備條件與重複結構混合觀 念的學生則有 82%。比例逐漸下降,我們推測可能的原因是條件與重複結構 混合觀念的複雜度高於重複結構,而重複結構的複雜度又高於判斷結構 所 致。. 表4-29實驗組3程式理解部份得分之描述統計量 人數. 平均(總分) 標準差. 條件結構. 34. 0.97(1). 0.17. 重複結構. 34. 0.85(1). 0.36. 條件及重複結構. 34. 0.82(1). 0.39. 總和. 34. 2.64(3). 0.92. 56.
(57) 表4-30實驗組3程式理解部份得分統計. 0分 1分 2分. 條件結構. 重複結構. 條件及重複結構. 總分(5分). 3% 97%. 15% 85%. 18% 82%. 0% 9% 18%. 3分. 74%. (二)程式設計能力 表4-31是實驗組3在成就測驗程式設計部份得分的情形 ,表4-32顯示 各觀念的得分統計,程式設計部份總分為17分,其中條件結構、重複結構、 條件及重複結構混合之分配分數依序為4 、3、10分。表4-32顯示設計程式 時具有條件結構觀念的學生佔54%(2分:18%;3分:12%;4分:24%), 其中有30%的學生能條件結構的觀念設計程式,但部份程式寫錯;;能夠用 重複結構設計程式的學生佔71% (2分:59%;3分:12%),其中有59%的學 生能應用重複結構的觀念設計程式,但部份程式寫錯;79%的學生能應用條 件及重複結構的觀念解決問題(7分:3% ;8分:47% ;9分:26% ;10分: 3%),但是其中76%的學生設計的一部份程式是錯誤的。 表4-31實驗組3程式設計部份得分之描述統計量 人數. 平均(總分) 標準差. 條件結構. 34. 1.76(4). 1.62. 重複結構. 34. 1.59(3). 0.99. 條件及重複結構. 34. 7.09(10). 2.86. 總和. 34. 10.44. 5.47. 57.
(58) 表4-32實驗組3程式設計部份得分統計 條件結構 重複結構 0分 1分 2分 3分 4分 5分. 條件及重複結構. 總分(5分). 35% 12% 18%. 24% 6% 59%. 12% 0% 0%. 3% 3% 6%. 12% 24%. 12%. 0% 3% 3% 3% 3% 47% 26%. 0% 0% 0% 3% 0% 12% 3%. 3%. 12% 6% 26% 3% 12% 3% 6% 3%. 6分 7分 8分 9分 10分 11分 12分 13分 14分 15分 16分 17分. 二、學習反思 以下就實驗組3學生教學問卷的回答情形作分析,分析內容為實驗組學生反 思學習的過程,及遭遇到的困難等。 (一)實驗組3教學活動的價值 實驗組3的教學活動為應用極限編程實務作法之程式語言教學輔助系統 及雙 人搭檔編程進行程式設計的教學 ,其目的在於: 1.使學生更加瞭解程式題目的所有功能需求。 58.
(59) 2.培養為物件取有意義名稱的習慣 ,程式開發過程中的方便性 ,正確性及 將來的易維護程度都能因此提高 。 3.培養先寫測試案例再進行程式開發的習慣 ,以設計出高品質及易維護之 程式。 4.培養重整程式的習慣,去除冗餘程式碼,以增加程式執行效率。 5.透過雙人搭檔編程增加學生程式設計之信心 。 透過教學問卷的作答情形,希望能找出教學輔助系統及雙人搭檔編程在教學 活動中扮演的角色與發揮的功能 。 表4-33整理教學輔助系統及雙人搭檔編程對學習幫助的相關問題,問卷第 1、2題主要在瞭解使用教學輔助系統對學習程式設計的幫助。有80%的實驗組3 學生(第1題,非常同意15% ,同意65%)同意使用教學輔助系統能夠幫助理解程 式功能需求。74%的學生(第2題,非常同意24%,同意50%)認為使用教學輔助 系統的開發引導流程對程式設計有幫助 。有59%的學生(第3題,非常同意24%, 同意35%)同意雙人搭檔編程能夠增加程式設計的自信。68%的學生(第4題,非 常同意15% ,同意53%)認為搭配教學輔助系統的開發引導流程之學習活動比傳統 學VB方式容易。. 59.
(60) 表4-33實驗組3對學習活動的反思 問卷題目. 非常同意. 同意. 普通. 1.課堂教學輔助系統的題 意解析對我學習 VB程 式設計有幫助. 15%. 65%. 18%. 3%. 0%. 24%. 50%. 26%. 0%. 0%. 24%. 35%. 38%. 3%. 0%. 15%. 53%. 29%. 3%. 0%. 2.教學輔助系統的開發引 導流程對我學習 VB程. 不同意 非常不同意. 式設計有幫助 3.我覺得 Pair Programming可以增加 我程式設計的自信 4.我覺得搭配教學輔助系 統的開發引導流程之學 習活動比傳統學 VB方 式容易. (二)課程活動的意見 學生對於課程活動的相關意 見在問卷中使用開放式的問題呈現 ,主要目的是 瞭解學生在課程中遇到的問題、處理的方式及對整個實驗活動實施情形的看法與 建議。 1.. 設計時遇到困難的解決方式 超過半數的學生在撰寫VB程式遭遇困難時,會請教已經知道如何完成的 同學,其次較多的選擇方式是和同學一起討論如何完成或者詢問教師 , 少數人會自己參考講義或者直接參考他人的答案 。. 2.. 完成課堂程式作業的原因 每一堂課有一個程式實作題,沒有完成整個作業的原因很多,在未完成. 60.
(61) 作業的學生中,約有二分之一的學生沒有完成習題的原因為 認為習題太 難,另外約四分之一的學生聽不懂上課的內容 ,因此覺得無法完成,四 分之一的學生則是因為時間不夠。 3.. 使用教學輔助系統之優點 學生多數反映肯定教學輔助系統的教學流程,認為可以幫助他們對整個 程式設計的規劃及理解更加完備。以下是幾位學生的意見: 「題意解析對我幫助最多,可以讓我更加瞭解題目在說什麼。 」 「撰寫測試案例吧,讓我對每個功能的需求更加清楚 。」 「撰寫測試案例,可以比對預期輸出值看自己的程式有沒有寫對 。」 「語法及函數的提示,對我寫程式有幫助。」. 4.. 使用雙人搭檔編程之優點 雙人搭檔編程在實驗組2及實驗組3實施,半數學生肯定雙人搭檔編程, 部分學生則認為認為雙人搭檔編程是沒有幫助的 。以下是幾位學生的意 見: 「雙人搭檔編程很好啊,可以減少負擔。 」 「很不錯,可以互相討論不懂的地方 。」 「我的程式能力不太好,用雙人搭檔可以增加我的信心。」 「不好,我的夥伴都在偷懶,都我一個人在做。」. 61.
(62) 第四節 結果與討論 以下分別從四組整體程式學習成就、程式理解能力、程式設計能力、對學習 工具的看法、程式設計學習興趣、學習反思,討論前面分析所得結果。 一、整體學習成就比較 在整體學習成效方面,成就測驗成績會因教學方法的不同而有顯著差異 。實 驗組 1 (VB 課堂教學輔助系統)的成績顯著優於實驗組 2 (雙人搭檔編程);實 驗組 3 (VB 課堂教學輔助系統+雙人搭檔編程)顯著優於控制組(傳統 VB程式設 計教學)及實驗組 2 (雙人搭檔編程)。此結果與 Keefe, Sheard 及 Dick 三位學者 在 2006 年的研究結果相似。由此結果可知,單獨使用 VB 課堂教學輔助系統或雙 人搭檔編程,與傳統 VB程式設計教學相比,並無法明顯提升教學成效 ,必須一 同於課堂上使用才能有效提升學生的學習成就 。. 二、程式理解能力比較 在程式理解能力方面,會因教學方法的不同而有顯著差異 。實驗組1(VB課 堂教學輔助系統)及實驗組3(VB課堂教學輔助系統+雙人搭檔編程)的成績皆 顯著優於實驗組2 (雙人搭檔編程)。推測其原因為實驗組2 (雙人搭檔編程)使 用傳統教學,程式功能需求的瞭解較有使用教學輔助系統的學生薄弱,加上實際 練習寫程式的次數少一次 ,因而造成此結果。 進一步分析四組學生在三個程式基本控制結構的 理解能力差異,在條件及重. 62.
(63) 複結構混合題之得分有顯著差異,控制組(傳統VB程式設計教學)、實驗組1 (VB 課堂教學輔助系統)、實驗組3 (VB課堂教學輔助系統+雙人搭檔編程)的成績皆 顯著優於實驗組2(雙人搭檔編程組)。推測其原因為該程式理解題與其他兩題 相比觀念較為複雜,且因為實驗組2(雙人搭檔編程)使用傳統教學,程式功能 需求的瞭解較有使用教學輔助系統的學生薄弱,加上實際練習寫程式的次數少一 次,因而造成此結果。. 三、程式設計能力比較 在程式設計能力方面,並不會因教學方法的不同而有差異 。即不同的教學方 法,不會對程式設計的能力造成影響 。 進一步根據單一題目分析,在條件結構題之得分有顯著差異,為傳統VB程式 設計教學組、使用教學輔助系統組、使用教學輔助系統及雙人搭檔編程組的成績 顯著優於皆顯著高於只使用雙人搭檔編程組。推測其原因為該程式設計題與上課 所練習之題目變異性較其 他兩題大,且實驗組2 (雙人搭檔編程)使用傳統教學, 程式功能需求的瞭解較有使用教學輔助系統的學生薄弱,加上實際練習寫程式的 次數少一次,因而造成此結果。. 四、對學習工具的看法 在VB指令的理解方面,從VB問卷的統計結果分析,控制組(傳統VB程式設. 63.
(64) 計教學)、實驗組1 (VB課堂教學輔助系統)、實驗組3 (VB課堂教學輔助系統+ 雙人搭檔編程)皆顯著高於實驗組2(雙人搭檔編程組)。實驗組1、實驗組3與 控制組學生認為VB的程式指令容易瞭解的比例皆高於6成,反觀實驗組2只有5 成1認為VB的程式指令容易瞭解,可能的原因為實驗組2(雙人搭檔編程)使用 傳統教學,程式功能需求的瞭解較有使用教學輔助系統的學生薄弱,加上實際練 習寫程式的次數少一次,因而造成此結果。. 五、程式設計學習興趣 在是否有信心使用 VB寫一個簡單的小程式方面,控制組(傳統 VB程式設計 教學)、實驗組 1 (VB 課堂教學輔助系統)、實驗組 3 (VB 課堂教學輔助系統+ 雙人搭檔編程)皆顯著高於實驗組 2(雙人搭檔編程組)。實驗組 1、實驗組 3 與控制組學生認為有信心使用 VB寫一個簡單小程式的比例皆高於 3成,反觀實 驗組 2只有 1成 8認為有信心使用 VB寫一個簡單的小程式,可能的原因為實驗 組 2(雙人搭檔編程)使用傳統教學,程式功能需求的瞭解較有使用教學輔助系 統的學生薄弱,加上實際練習寫程式的次數少一次 ,因而造成此結果。. 六、學習反思 在是否可以在腦海中想像程式的執 行過程方面,控制組(傳統 VB程式設計 教學)、實驗組 1 (VB 課堂教學輔助系統)、實驗組 3 (VB 課堂教學輔助系統+ 雙人搭檔編程)皆顯著高於實驗組 2(雙人搭檔編程組)。實驗組 1、實驗組 3 64.
Outline
相關文件
1.學生體驗Start on tap、一個角色同 時可觸發多於一 個程序及經歷運 用解決問題六步 驟編寫及測試程 序.
• 可編程實體實物(Programmable physical objects),是指 一些可以讓人們設計及運行程序的物件,通常是一些電子 設備..
聽、說、讀、寫,以 及分析、評價等能力 例:設計課業,讓學生 應用所學,並運用各
就學與就業之職能 治療暨實習、職業 輔導評量學暨實 習、職業復健暨實 習、職能評估與職 業復健暨實習、職 業輔導評量專題研 究、職業輔導評量
有關於 Java 程式語言,下列何者敘述不正確?(A)Java 程式語言透過 extends 提供多重繼承 (Multiple
• 訓練課程之設計格式,請參用 本分署規範之課程申請相關表件-學、術科
(計畫名稱/Title of the Project) 提升學習動機與解決實務問題能力於實用課程之研究- 以交通工程課程為例/A Study on the Promotion of Learning Motivation and Practical
本研究以河川生態工法為案例探討對象,應用自行開發設計之網