• 沒有找到結果。

中 華 大 學

N/A
N/A
Protected

Academic year: 2022

Share "中 華 大 學"

Copied!
122
0
0

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

全文

(1)

中 華 大 學 碩 士 論 文

題目:線上多人批閱及分析系統─

C 語言教學為例

A Web-based multi-user correction and analysis system- Taking instruction of C programming as an example

系 所 別:資訊管理學系碩士班 學號姓名:M09110003 吳玓玲 指導教授:羅 家 駿 博 士

中華民國 九十三 年 七 月

(2)
(3)
(4)
(5)

摘要

批閱在過去的傳統教學評量中,扮演著重要的角色:教師可經由批閱的方式 告訴學生錯誤在哪,正解為何,甚至寫上正確的觀念,且在批閱的過程中,教師 得以掌握學生的學習狀況,而適時的調整教學內容;學生則可經由老師的批閱,

清楚了解自己學習不足的地方以及獲知正確的概念,進而加強學習上的弱點,對 提升教學效益及學習效益上有ㄧ定的幫助。然而目前網路教學所提供的批閱方式 並沒有針對批閱內容而給予使用者相關的回饋,且所提供的互動性也有限,再加 上此種批閱方式只允許單一使用者進行批閱,因此,對教學及學習的助益有限。

本研究致力於開發一提供線上多人批閱及註記相關分析之系統,並將其應用 在C 語言的教學上,且希望藉由其多人批閱的機制及相關註記分析的回饋機制,

可以達到協同學習、同儕互評及回饋機制的學習目標,進而提升學生在 C 語言 的學習效益,及教師在 C 語言教學上的效益,同時也改善傳統網路教學批閱系 統的一些缺失。

根據本研究所進行的相關實驗結果驗證,本系統的確改善了傳統網路教學批 閱系統的ㄧ些缺失,同時本系統所提供的多人批閱及相關註記分析的機制,在C 語言的學習及教學上有ㄧ定的助益。

關鍵字:多人批閱、線上註記、同儕互評、錯誤分析

(6)

Abstract

Correction of students’ works plays an important role in instruction. Through it, teachers can tell students what their mistakes are and implement remedial instruction accordingly. However, correction of students’ works cannot be easily implemented in a Web-based learning environment as in traditional paper works.

Taking instruction of C programming as an example, this research develops a Web-based multi-user correction and analysis system. With the multi-user correction component, this proposed system has the capability of peer assessment; and with correction analysis, this proposed system can feedback correct answers and teachers’

comments to students. In addition, the proposed system can recommend other students’ works based on the analyzed errors that a student had.

The experimental results verified that both students and graders agreed proposed system is better than the traditional online correction system.

Keyword: multi-user correction, online annotation, peer assessment, error analysis

(7)

致謝

在中華資管所兩年的研究生涯中,首先要感謝指導教授羅家駿博士在學業及 生活上的諄諄教誨,讓我受益匪淺、獲益良多,感謝之意溢於言表;同時也感謝 所上其他老師在課業上的指導,讓自己得以在專業領域的相關知識及能力上有所 增長;還有在口試時,羅家駿教授、張燕光教授及游坤明教授所給予的建議及指 導,才能使這篇論文更加完備,得以順利完成,僅此獻上最誠摯的謝意及感激。

此外,也要感謝研究所同學─佳玲、子睿、忠平、梅子、小胖及秀如總是能 適時的給予意見及鼓勵,以及其他研究所同學及學弟妹平時的加油打氣,讓自己 能在充滿溫馨的實驗室裡愉快地進行論文的相關研究。

最後也是最要感謝的,是我的父母及外公外婆,在每個求學階段中,總是不 停地給予支持給予與鼓勵,讓自己能心無旁鶩在課業上全力以赴,而完成各階段 的學業,在此獻上最真誠的謝意,願這份喜悅及榮耀與你們共享。

(8)

目錄

摘要... I

第一章 緒論...1

1.1 研究背景...1

1.2 研究目標...2

1.3 論文架構...3

1.4 研究流程...5

第二章 文獻探討...6

2.1 回饋對於學習成效的影響...6

2.2 同儕互評及協同學習對學習成效的影響...7

2.3 現有註記系統的相關探討...9

2.3.1 是否更改原始文件內容...10

2.3.2 註記系統用途...16

2.3.3 註記功能...17

2.3.4 註記分析...18

2.3.5 現有註記系統的分析比較...19

2.3.6 現存註記系統所存在的問題...21

2.4 應用在程式語言學習上的註記系統...22

2.5 結論...23

第三章 線上多人批閱及分析系統 ...25

3.1 系統架構圖...25

3.2 使用者輸入介面(USER INPUT INTERFACE)...27

3.2.1 程式碼編輯介面(Program Editor) ...27

3.2.2 註記編輯介面(Annotation Editor) ...28

3.3 組合器(COMPOSER) ...35

3.4 註記分析器(ANNOTATION ANALYZER)...40

3.4.1 學生個人單一程式碼錯誤類型分析 ...40

3.4.2 類似錯誤修正練習...41

3.4.3 學生個人歷史錯誤類型之分析...43

3.4.4 學生個人學習狀況之分析...45

3.4.5 所有學生在單一程式碼錯誤類型之分析 ...47

3.4.6 所有學生錯誤類型之分析...48

3.5 使用者觀看畫面(VIEWER) ...49

3.5.1 文件顯示畫面(Document Viewer) ...49

3.5.2 分析結果顯示畫面(Analyzed Result Viewer) ...50

(9)

3.6 資料庫(DATABASE)...52

3.7 結論...53

第四章、實驗設計與評估...55

4.1 實驗ㄧ:以使用者主觀認知來比較本系統與傳統網路教學批閱系統間是否 有差異...56

4.1.1 實驗設計...56

4.1.2 實驗結果分析...63

4.2 實驗二:驗證多人批閱及相關註記分析是否真能提升學習效益...77

4.2.1 實驗設計...78

4.2.2 實驗結果分析...83

4.3 結論...89

第五章 結論與未來發展...90

5.1 結論...90

5.2 未來發展...90

參考文獻...92

附錄A...97

附錄B...99

附錄C...102

(10)

圖目錄

2-1:利用 DIV 標籤的方式,加入註記... 11

2-2:以疊架方式加入註記 ...12

2-3:利用超連結來加入註記 ...13

2-4:利用 XCCML 標籤的方式加入註記 ...14

2-5:利用 ANOCHOR 的方式加入註記 ...15

3-1:系統架構圖 ...26

3-2:註記編輯介面 ...28

3-3:插入文字對話框 ...30

3-4:備註對話框 ...30

3-5:利用<SPAN>標籤插入註記 ...30

3-6:插入類別效果 ...31

3-7:刪除類別效果 ...32

3-8:取代效果 ...33

3-9:反白類別效果 ...34

3-10:註記條件選擇畫面 ...36

3-11:呈現符合不同搜尋條件的註記 ...36

3-12:呈現符合不同搜尋條件的註記 ...37

3-13:學生個人單一程式碼的錯誤類型分佈圖 ...41

3-14:錯誤修正練習視窗 ...43

3-15:學生個人歷史錯誤類型統計分佈圖 ...45

3-16:學生個人學習狀況之分析圖 ...46

3-17:所有學生在單一程式碼主題之錯誤類型分佈圖 ...48

3-18:所有學生錯誤類型統計分佈圖 ...49

3-19:註記相關資訊 ...50

3-20:教師功能選單 ...52

4-1:實驗ㄧ之操作流程圖 ...58

4-2:學生對照組_傳統網路教學之註記顯示畫面 ...61

(11)

4-3:學生對照組_傳統網路批閱介面 ...62

4-4:外部變數與科技接受模式之關係示意圖 ...71

4-5:科技接受模式因素關係圖 ...73

4-6:實驗二之操作流程圖 ...80

(12)

表目錄

2-1:兩大類註記系統的比較 ...20

2-2:現存註記系統的功能 ...20

3-1:系統功能簡介 ...27

4-1:實驗ㄧ組別之控制因素 ...57

4-2:學生實驗組與對照組在各構面所得平均數 ...68

4-3:學生認為批閱對學習的幫助此構面之 T-檢定摘要表 ...68

4-4:學生認為系統易用性此構面之 T-檢定摘要表...68

4-5:學生認為系統有用性此構面之 T-檢定摘要表...69

4-6:學生對於系統使用態度此構面之 T-檢定摘要表...69

4-7:學生對於系統使用意圖此構面之 T-檢定摘要表...69

4-8:『批閱對於學習的幫助』影響『易用性』之複迴歸分析 ...72

4-9:『批閱對於學習的幫助』影響『有用性』之複迴歸分析 ...72

4-10:『易用性』影響『有用性』之複迴歸分析 ...72

4-11:『易用性』及『有用性』影響『使用態度』之複迴歸分析 ...72

4-12:『有用性』及『使用態度』影響『使用意圖』之複迴歸分析 ...72

4-13:教師實驗組與對照組在各構面所得平均數 ...76

4-14:實驗二組別之控制因素 ...79

4-15:三組前測成績 ANOVA 檢定摘要表 ...81

4-16:各組後測成績之相關數據 ...85

4-17:實驗組與控制組 A 之後測成績 T-檢定摘要表...86

4-18:實驗組與控制組 B 之後測成績 T-檢定摘要表...87

(13)

第一章 緒論

1.1 研究背景

批閱在過去的傳統教學評量中,扮演著重要的角色:教師可經由批閱的方式 告訴學生錯誤在哪,正解為何,甚至寫上正確的觀念,且在批閱的過程中,教師 得以掌握學生的學習狀況,而適時的調整教學內容;學生則可經由老師的批閱,

清楚了解自己學習不足的地方以及獲知正確的概念,進而加強學習上的弱點,對 提升教學效益及學習效益上有ㄧ定的幫助。

隨著網際網路的發達,網路教學已儼然成為不可避免的發展趨勢,而目前網 路教學所提供的批閱方式,大致分為兩種:ㄧ種是以文字批閱為主,允許教師針 對大範圍的內容進行批閱或簡單的評分;另ㄧ種,則提供教師圖形化的批閱工 具,如線條、打勾…等等,老師可在任意地方批閱。其中,文字批閱的方式,可 將老師批閱的內容儲存至資料庫,然而在批閱上卻缺乏彈性,且教師經由批閱傳 達給學生的相關教學資訊也很有限,而圖形化的批閱方式,雖然較具彈性,但這 些相關的批閱資訊卻無法儲存到資料庫內;綜觀這兩種批閱方式,系統並沒有針 對批閱內容而給予使用者相關的回饋,且提供的互動性也有限,再加上此種批閱 方式只允許單一使用者進行批閱,因此,對教學及學習的助益有限。

而 Goodyear 認為知識是內嵌於(embedded)互動、討論、溝通、與會議中,

也內藏於分享、提供、交流、合作、與回饋當中,並且存在於練習、瀏覽、經驗、

搜尋、查詢、與諮詢的過程,當然也分散存在於不同人及物(如教材)當中(張基成 等,2000)。且知識與智慧經過分享後,可以成指數方式成長,所有學習與經驗

(14)

後,對於學習有很大的助益,且根據Ovsiannikov(1999)等人曾提到一般人認為,

對於文件上所做的註記(一般在文件上所做的批閱,即所謂的註記),其用途主要 可分為記憶(Remember)、思考(Think)、釐清內容(Clarify)和分享(Share),因此也 不難想像為何一般人習慣對文件做批閱的原因了。

由上述理論,可知道註記可作為釐清內容(Clarify)和分享(Share)之用,若將 此概念運用到學習及教學上,則可將註記作為知識分享及幫助學生釐清重要及正 確觀念的ㄧ個媒介,且根據其他研究也顯示,協同學習、同儕互評及教學上的回 饋機制的確可以提升學生的學習效益(周惠文,民 88; Brophy, 1998; Mortenson and Witt, 1998; Rijaarsdam, 1987; Small, 1997; Tauber, 1998; Lin et al., 2001)。

1.2 研究目標

本研究致力於開發一提供線上多人批閱及註記相關分析之系統,希望藉由系 統所提供之多人批閱機制,學生可從中獲得不同教師及同儕的觀點,也可藉此增 進師生及同儕間的互動,同時在學生進行互評的過程中,更可藉由觀摩其它同學 的學習效果,而引發學生較高的學習動機(Lin et al., 2001)。再者,系統所提供的 註記相關分析回饋機制,對教師而言,可隨時掌握學生的學習狀況,而適時調整 教學內容;對學生而言,則可得知自己學習不足的地方,同時,透過系統所提供 的類似錯誤修正練習,也可避免日後再犯相同的錯誤。

綜合上述,本研究的最終目標在於,希望能藉由系統本身所提供的一些機 制,來提升學習及教學上的效益,並將其應用在 C 語言的教學上,其理由為,

有研究指出,程式設計的邏輯設計觀念較抽象,因此學生在學習的過程中(包含 課堂及上機實作課程),經常遇到問題而阻礙學習的發展;而通常教師面對此問

(15)

題時,有時會採用分組教學的方式,且透過小組成員互相指導的方式,確實可提 升學生的學習成效,而本系統多人批閱的機制,正好符合教師要學生合作學習的 用意,再加上程式語言其結構化的特性,可以很容易作錯誤類型的分類,這會讓 註記的相關分析,更容易進行,因此才會考慮將本研究所開發的系統應用在 C 語言的教學上。

1.3 論文架構

本研究在於設計一個應用於 C 語言教學的線上多人批閱與分析系統,該系 統除了提供使用者簡學易用的批閱工具外,同時,也提供多人註記的機制,希望 能藉由這種協同學習及同儕互評的機制,增加同儕間的互動性;此外,本系統會 將相關的註記資訊分析結果回饋給使用者,對教師而言,希望對其教學有所幫 助,對學生而言,則希望能提升其學習效益。

本研究架構其主要章節可分為:文獻探討、本研究之系統介紹及註記分析相 關機制、實驗設計、結論與未來發展,其各章節內容概述如下:

第二章 文獻探討

在彙整與本論文相關的文獻後,提出本論文所使用的研究方法。

第三章 線上多人批閱及分析系統-應用於C 語言的教學上 根據文獻探討的結果,提出了本研究的系統架構,因此,在本章節除了 描述系統架構外,也會針對系統內部元件作更詳細的說明,同時也會說

(16)

第四章 實驗設計與評估

在此章節中,會說明實驗中的樣本、控制因素、實驗假說,並說明不同 的實驗組別其實驗操作流程為何,此外,會敘述在本研究中利用了哪些 統計方法去分析檢定相關的實驗數據,並在彙整檢定的相關結果後,針 對實驗結果做一個總結。

第五章 結論與未來發展

描述本研究經過實際系統建置,及透過實驗設計所得到的最後結果,同 時提出本研究在未來可改進或進一步發展的研究方向。

(17)

圖1-1:研究方法流程圖

1.4 研究流程

本研究的流程圖如下圖1-1 所示:

確認研究目的

相關文獻探討

系統分析設計與建置

實驗設計

研究結果與分析

(18)

第二章 文獻探討

本研究主要是希望將註記的觀念運用到程式語言的教學上,強調系統提供給 使用者相關的分析回饋機制,並實現多人批閱以達到同儕互評及協同學習的目 的,進而提升學生的學習效益,同時也提升教學上的成效。因此在2.1節中,會 探討回饋對於學習的影響;在2.2節中則探討同儕互評及協同學習機制對於學習 的影響;2.3節中則探討現有註記系統的分類、用途、功能、提供的註記分析機 制、普遍存在的問題,並分析比較現有的註記系統;而在2.4節中,會探討目前 註記系統應用在程式語言學習上,有哪些需要改進的地方;最後在2.5節中則會 針對前面幾節的文獻探討做總結,並整理出本研究所預期達到的目標。

2.1 回饋對於學習成效的影響

在早期的電腦教學中,Gilman(1969)將包含不同訊息的回饋方式分成下列五 種(Dempesy,Driscoll and Swindell,1993):無回饋(No feedback)、簡單對錯的回饋 (Knowledge of results, KR)、正確答案的回饋(Knowledge of correct response, KCR )、精緻化的回饋(Elaborated feedback, EF)及重做的回饋(Try-again feedback)。

所謂的回饋行為是指他人對於學習者其學習表現所做的一種反應行為,而且 具有提供訊息、增強學習表現及維持學習動機等功能,除了接受回饋者可以從回 饋的內容改進學習外,提供回饋者亦可經由欣賞、討論及思考的過程中,獲得實 質上的幫助。因此,在許多研究中都一再提到回饋的重要性,不論是來自於師長

(19)

或同儕所給予的回饋,都可幫助學生改進學習不足的地方,進而提升學習成效 (Brophy, 1998; Mortenson and Witt, 1998; Rijlaarsdam, 1987; Small, 1997; Tauber, 1998);同時,Cohen(1985)的研究也指出在接受同儕所給予的支持與回饋後,可

減輕學生的學習焦慮、增強學生的學習動機及增進學生在學業上的表現。由以上 學者的論點,可看出回饋對於提升學習效益的確有一定的助益。

2.2 同儕互評及協同學習對學習成效的影響

z 同儕互評

Topping(1998)曾指出,同儕評量的理論基礎主要根據下列三個學習理論:

社會建構理論(social contructivism)、Vygotsky的鷹架理論(scaffolded learning)以及 Piagetian的認知衝突理論(cognitive confilict) 。而依據社會建構論的觀點,知識 的建構是經由個人與環境互動而得來的,可經由同儕評量的過程中,透過觀察、

模仿其他同學的作品,及反覆進行修改、評量的動作,而達成學習目標。鷹架理 論則可說明在互評的過程中,對於同儕所提出的建議及批評,可促進學習的進 行。在同儕互評時會有不同的觀點及意見,而這些不同觀點及意見會造成認知的 衝突,學生在認知衝突下,不斷去修正自己的觀點,而逐漸建構出更正確的知識,

這是依據認知衝突理論觀點而來的。

再者,根據過去的研究(Dochy et al., 1999; MacAlpine, 1999; Orsmond et al., 2000; Topping, 1998)指出同儕評量有以下七個特點:

(20)

自信及價值判斷;(3)同儕評量可促進學生的責任感;(4)同儕評量讓學生有機會 觀察他人的學習過程;(5)同儕評量的過程是經由評量而學習的過程;(6)同儕評 量可提升學生更高層次的思考;(7)同儕評量可增進個人在群體中的效能及人際 關係。

Lin等人(2001)認為利用網路進行同儕互評比在傳統方式下實施具有三項優 點:

(1) 網路同儕互評可提供匿名機制,促使學生更願意參與評論。

(2) 網路同儕互評能呈現評量者與被評量者互評的過程,提供教師觀察學生在每 個回合互評的成果。

(3) 網路同儕互評能節省學生製作作品副本的時間與花費。

因此,根據以上學者的觀點,可看出同儕互評對於學習效益的提升具有正面 的影響力,且網路互評的方式優於傳統教學方式。

z 同儕學習

根據于富雲(民90)彙整其他學者對協同學習於提升效益之相關理論,提出以 下的論點:

協同學習滿足學習者與人互動的心理需求,並有助於好奇心的引發與增強學 習者的學習動機;透過能力較優的學員協助下,有利於學習能力較差者發揮其潛 能;在互動與溝通的過程中,學習者經由認知的不平衡,改善其現存的認知基模,

增進參與學生對課題內容瞭解的機會;經由協同學習時的觀察與模仿,使學習者

(21)

得以獲得或修正個體之知識庫,提升能力差者觀察學習的空間;而能力佳的學 生,也能在助人的合作情境下,使自己的認知精進,幫助別人也於無形之中增加 了自己的實力。

根據協同學習的實證性研究,發現協同學習對學生影響力有下列九項:

(1)知識層面較廣;(2)較高的分析能力;(3)學習過程較為專心;(4)具有較佳的解 決問題能力;(5)具有批判性的思考能力,亦即能針對現有資訊加以轉換、分析、

合成與評估等複雜過程,而形成新的知識;(6)具有自我檢討學習策略的能力;(7) 具有較高的學習滿意度;(8)較高的學習意願;(9)對整個學習環境的滿意度也較

高。因此,協同學習不但可促進學習者本身「學習能力的提升」,在「學習成果」

與「學習環境」的促成上也都有正面的效益。(周斯畏,民87)

2.3 現有註記系統的相關探討

根據Ovsiannikov et al. (1999)的調查結果中提到,一般人認為「註記」的用 途主要可以分為四方面:記憶(Remember)、思考(Think)、釐清內容(Clarify)和分 享(Share)。再加上電子文件的盛行,因此目前有許多研究致力於註記系統的開發 上。

綜觀現有的註記系統,若以『是否更改原始文件內容』的觀點來看,分為兩 大類:一種是原始文件會被更改,此類的註記會直接插入原始文件中。而另一種

(22)

記內容,所以並不會更改到原始文件的內容。若以用途、功能及後續的相關分析 來看,註記系統又可細分為好幾種,因此,以下就分別以『是否更改原始文件內 容』、『用途』、『功能』及『註記分析』等維度來探討現有註記系統的一些特 性,同時探討現有註記系統所存在的問題,並針對現有註記系統作分析比較,以 作為本研究在系統開發上的參考依據。

2.3.1 是否更改原始文件內容

若以『原始文件內容是否被更改』的維度來劃分目前的註記系統,可分為兩 大類:第一大類是以Java為開發平台,而以XCCML(為CCML的延伸,建立在XML 的基礎上)自訂標籤的特性,來記錄註記相關資訊,此種方式會修改原始文件的

內容;而另一類則是利用疊架或超連結的方式來產生註記,這兩種方式並不會修 改原始文件的內容;以下會詳細說明這兩大類的不同點及其特性。

z 不更改原始內容

此類的註記系統,有三種主要的方法來加入註記。第一種方法是將代表註記 的圖示以疊架的方式加入原始文件中;當使用者點選文章的某部分時,就可以產 生一個新的註記( 以圖示來表示文章該部份有註記),並允許使用者輸入相對應 的註記內容;此外Style-Sheet會記錄該註記在文章中的絕對位置(系統會考慮到使 用者瀏覽器解析度的大小,自動換算成相對位置來呈現註記),每當新增完一個

(23)

註記後,系統會以Java Script參照Style Sheet來產生一個連結的標籤,並將代表註

記的圖示重新載入到適當的位置上,只要滑鼠經過此圖示,就會出現對應的註記 內容,如圖2-1所示;由於加入的註記,是以DIV標籤將其跟原始文件隔開,因此 不會更改到原始文件的內容(Koch and Schneider, 2000;陳守賢, 2001)。

圖2-1:利用 DIV 標籤的方式,加入註記(Koch and Schneider, 2000)

第二種方式也是以疊架的方式來加入註記,只是它直接將註記的內容及符號 以疊架的方式(以Java Script及VML來呈現)加入原始文件中,並以CSS來固定這些

註記的位置及大小,以免因瀏覽解析度的不同,而使註記產生位移;由於它也是 利用DIV標籤來儲存所有註記,因此也不會改變原始文件的內容(林建丞等, 2001),如下圖2-2所示。

(24)

圖2-2:以疊架方式加入註記(林建丞等

,

2001)

第三種方式則是以超連結的方式來加入註記:主要是針對有固定架構的文章 (如Scheme program);系統會事先為文章中有意義的區段部分,自動產生超連結,

並定義這些區段的類型(這些類型是根據每個區段所代表的意義,而事先定義好 的,如Scheme program中的header、define及code都有其特殊意義),且畫面上會 出現跟此區段相關的註記下拉式選單,讓使用者選擇要用的註記及其註記的等 級,只要使用者一選擇好,並填入對應的註記內容,加入註記的動作就算完成;

且註記完之後該區段會有底線出現,使用者只要點選該區段就會出現對應的超連 結,如此,便可觀看註記的內容(Mason and Woit, 1999),如下圖2-3所示。

(25)

圖2-3:利用超連結來加入註記(Mason and Woit, 1999)

總結:

此三種方式,因為沒有將註記的相關資訊存到資料庫,因此無法作註記的相 關分析,也無法對註記作相關的管理。

z 更改原始內容

會更改原始文件的註記系統,主要是以兩種方式來插入註記。第一種方式是 以Java為開發平台,讓使用者在原始文件上直接插入註記的代表符號及輸入對應 的註記內容,並且利用由SGML發展出來的CCML或XCCML自訂標籤的特性,

在使用者插入註記的同時,系統會在原始字串的前後自動產生一個對應的CCML 或XCCML標籤(由系統自訂的標籤),以紀錄該註記的相關資訊,如:header紀錄 這些註記的擁有者,level代表此註記的重要性…等等;並將這些資訊分別紀錄至

(26)

析包含這些標籤的文件,讓標籤內註記的內容取代原始文件的部分內容,並以上 下視窗的方式分別顯示包含註記的原始文件(稱為correcting text)跟解析後以註記 內容取代原始字串的文件(稱為revised text),讓使用者作比對的動作;使用這一 種方式的註記系統,主要是應用在寫作的修改上(以Ogata et al., 2000的註記系統 -CoCoA為例),如下圖2-4所示(以CoCoA系統為例)。

圖2-4:利用 XCCML 標籤的方式加入註記(Ogata et al., 2000)

而第二種方式則是利用Netscape composer plug-ins的方式,讓使用者能直接 在原始文件字串的後面,加入成對的anchor,並輸入相對應的註記內容,而系統 會自動將此註記的內容、註記的位置及註記的擁有者(以註記者登入系統的IP為 識別)紀錄到資料庫中;往後只要使用者開啟已註記過的文章,系統會自動從資 料庫中擷取該文章的註記,並藉由代理伺服器(proxy)將對應的anchor放至正確的 位置,使用者只要捲動該anchor,成對的anchor中間就會出現註記的內容,此種

(27)

方式適合用在解釋文章的內容(以Ovsiannikov et al., 1999所發表的Annotator系統 為例)。如下圖2-5所示(以Annotator此註記系統為例):

圖2-5:利用 anochor 的方式加入註記(Ovsiannikov et al., 1999)

總結:

此兩種方式雖然會更改原始文件的內容,然而由於這些系統會將註記的相關 資訊紀錄到資料庫內,因此往後可針對註記作相關的分析及管理,此外,雖然目 前這一類的註記系統只供特定族群使用,但由於其使用的是標準技術及跨平台的 技術,因此未來可放在 Web 上供大家使用,解決目前註記系統普遍所存在的問 題—異質環境及使用權的問題。

(28)

2.3.2 註記系統用途 z 針對寫作:

以上下視窗的方式,分別呈現包含註記的原始文件(稱為correcting text),及 以註記內容取代原始字串的文件(稱為revised text),讓使用者作比對的動作,可

一目了然的知道自己錯誤為何,甚至教師可經由系統從資料庫中選取類似錯誤型 態的文章,讓使用者作修正,以增進學生主動學習的動機及師生間的互動( Ogata et al., 2000 )。

z 針對閱卷:

允許教師在原始文件上以疊架的方式,做一些圖形及文字的註記,較強調批 閱工具的使用,經由批閱能傳達給學生的資訊有限;且因為是以疊架的方式加入 註記,並沒有將註記儲存至資料庫,因此無法對註記作任何分析(林建丞等, 2001)。

z 協助使用者加強記憶及整理思緒:

著眼點在於對文章重點作畫線及註解的工作,協助使用者加強記憶或整理思 緒,且系統會將有關聯的註記作列表的動作(陳守賢, 2001)。

z 針對知識分享:

可允許多人註記同一篇文章,而達到知識分享的目的。此外,系統在將註記 相關資訊紀錄至資料庫時,也會一併將註記創造者的IP一同紀錄,因此可利用IP 對註記作管理的動作,如刪除或修改。當中有一類系統,一有新的註記出現時,

(29)

就會以電子郵件去通知其他使用者來觀看(Koch and Schneider, 2000);另一類型

的系統則提供了統整的動作,自動彙整使用者所搜尋的相關註解,並呈現給使用 者觀看,甚至讓使用者對其作編輯的動作(Ovsiannikov et al., 1999)。

z 應用在程式語言等有固定架構文件的修正上:

主要是針對架構固定的文件;系統會自動為文件內容中有意義的區段產生超 連結,當使用者點選其中的區段時,系統會自動定義這個區段的類型,而跟此類 型相關的錯誤類型註記也會事先被定義,因此使用者可知道程式碼的錯誤類型為 何(Mason and Woit, 1999)。

2.3.3 註記功能

歸納目前註記系統所擁有的功能如下:

z 標示重點:

主要是提供使用者類似螢光筆的功能,讓使用者在文章重點部分作反白 (highlight)的動作,以協助使用者加強記憶(林建丞等, 2001; 陳守賢, 2001;

Ovsiannikov et al., 1999)。

z 關聯性的註解架構:

該類的系統擁有一種註記關聯性列表,在該列表中,相關的註記都會被放在 一起,當使用者增加註記的同時,也可讓使用者利用系統所提供的關聯性按鈕,

(30)

聯列表中刪除(陳守賢, 2001),該系統強調註記間的關聯性。

z 註記的搜尋:

系統在儲存註記內容的同時,也會將註記的相關資訊,如註記擁有者的IP、

代表註記的類型(如刪除、修改)、註記的重要性…等等相關資訊儲存到資料庫 內,因此可針對註記作搜尋的動作:

依據使用者特定需求或條件而呈現特定類型的註記;以(Ogata et al ., 2000;

Ovsiannikov et al., 1999)為例,例如:可要求系統只顯示註記重要性為2的註記,

以避免發生使用者資訊負荷的情況。

z 多人註記:

某些系統允許多人註記同一篇文章,因此使用者可對資料庫內的相關註記作 搜尋的動作,這樣不僅可以達到知識分享的目的,更可進一步地將所使用者所搜 尋出來的相關註記彙總起來,讓使用者觀看相關的資訊,以達到資訊統整的效果 (Ovsiannikov et al., 1999)。

2.3.4 註記分析

z 以寫作錯誤分析的角度來看

系統會事先定義有哪幾種錯誤型態,當使用者作註記的同時,系統會利用 CCML或XCCML的標籤來記錄這些相關的錯誤訊息,並將這些錯誤類型的相關 資訊累積儲存到資料庫後,再利用資料探勘(data mining)的技術去找出這些錯誤 間的關係及對應的模式,在對其作分析後,系統會將分析的結果回饋給使用者

(31)

( Ogata et al., 2000),讓使用者能更加清楚知道自己所犯的錯誤為何,避免下次再 犯類似的錯誤。

z 以註記關聯性來看

經由資料庫所紀錄的註記內容,使用者可利用搜尋關鍵字的方式,找出所需 的註記及相關的註記,並要求系統將其彙整起來,讓使用者可對其作編輯,並將 其納入註記索引(annotation index)中的一員,以後只要點選註記索引(annotation index)內某一註記標題,下方就會列出相關的註記簡述,只要使用者點選任一註

記簡述,畫面就會跳到原始文章中該註記的位置,使用者便可觀看註記的詳細內 容(Ovsiannikov et al., 1999);透過這種關聯性的機制,使用者可得到更多相關的 知識。

2.3.5 現有註記系統的分析比較

以”是否會更改原始文件內容”的維度來探討現有的註記系統,作以下的分析 比較,如表2-1所示:

(32)

表2-1:兩大類註記系統的比較

會更改原始文件內容 不會更改原始文件內容 加入註記的方式 以標籤的方式,將註記直

接加入至原始文件中或在 原 始 文 件 以 直 接 插 入 anchor的方式來代表該註 記的存在。

疊架或超連結

是否可作註記分析 可以(因為有將註記相關資 訊存至資料庫內)

不能(因為沒有將註記相關 資訊存至資料庫)

未來能否作到註記的管理 可以(因為有儲存註記的相 關資訊)

有些行,有些不行(沒將註 記存到資料庫)

用途 寫作的修正上、知識分享 閱卷、協助使用者加強記

憶 及 整 理 思 緒 、 知 識 分 享、用在程式語言等有固 定架構的文件上

未來能否作到協同學習 能(利用SPAN標籤的技術) 只有Virtual Motes能 是否作到知識統整 有(因為有儲存相關註記資

訊)

沒有(因為無儲存相關註記 資訊)

未來是否可跨平台 能 不能(不是使用標準技術)

根據前面2.3.1節到2.3.4節的文獻探討,歸納出現有註記系統所擁有的功能 有,如表2-2所示:

表2-2:現存註記系統的功能

功能 系統名稱

註記分析 CoCoj、CoCoAJ、Annotator 註記管理 Annotator、Virtual Notes 知識分享 Annotator、Virtual Notes

知識統整 Annotator

協同學習 Annotator、CoCoj、CoCoAJ 標示重點 陳守賢(2001)、Annotator 關聯性的註解架構 Annotator、陳守賢(2001)

(33)

2.3.6 現存註記系統所存在的問題 z 瀏覽器與註記系統的相容問題:

有些線上註記系統,可能需要使用者重新安裝瀏覽器或更改瀏覽器的架構,

甚至必須改變使用者本身客戶端的架構後才能使用,無形間增加了使用者額外的 負擔及不便,如ComMentor(Roscheisen et al., 1995)及GrAnt(Schickler et al ., 1996),這兩種系統便是如此。

z 異質環境及使用權問題:

某些註記系統因為不是使用標準技術,因此只能支援某些平台或環境,甚至 只供特定族群使用。

z 有限的分析機制:

大部分的註記系統,只讓教師針對錯誤的地方作註記的動作(大多只是一些 幾何圖形的註記),並沒有說明錯誤的型態或錯誤的原因為何,即使學生看了教 師註記過的文章,也無法知道自己的錯誤在哪,對於學習效益上的幫助並不大;

此外,大多數的系統也只針對某ㄧ篇文章做分析的動作,因此無論是教師或學 生,都只能得到單一文章的相關分析資訊;同時,系統也沒有針對分析結果提供 使用者進ㄧ步地學習指引(如:補救教學、類似的錯誤練習、學習上的相關建議...

等等),對於學習效益上的提升有限;再者,單一文章的分析,也無法讓老師掌 握所有學生的長期學習狀況,對於教學上的幫助是有限的。

(34)

z 介面的使用性問題:

許多註記系統的使用介面因為過於複雜或操作不易,易造成使用者在使用上 的困難,因此不易推廣;從介面的角度來看,要達成人性因素與系統的適當整合,

必須在系統發展上顧慮到以使用者為中心的介面「可使用性」問題,這樣系統才 能真正的簡學易用,也才能被大家真正的接受使用(Hakiel, 1997)。

z 無協同學習的機制:

許多註記系統雖然有提供多人註記的機制,但其作法是將每一位註記者的註 記存成一個版本(類似Word 另存新檔的作法),故在同一篇文章上無法同時瀏覽 多人所作的註記,因此沒有所謂同儕學習的機制存在。

2.4 應用在程式語言學習上的註記系統

Mason及Woit在1999年曾經發表了一個應用在程式語言學習上的註記系 統,因為程式語言有其一定的架構,因此該系統會自動為有意義的程式碼區段定 義每一個區段的類型及跟該類型相關的錯誤類型註記,並自動為這些區段產生超 連結;使用者只要點選該區段,並選擇相關的註記錯誤類型後,就可輸入註記的 內容,且被註記過的區段,會有藍色的底線出現,使用者只要點選這些區段,便 可觀看註記的內容。

優點:

該系統會事先定義好所有錯誤類型,不僅可省去使用者自行輸入錯誤類型的

(35)

麻煩,同時也可避免有相同錯誤類型卻出現多種說法的情形出現,而造成使用者 的混淆。

缺點:

由於系統並沒有將註記的相關資訊紀錄到資料庫去,因此無法針對註記作進 一步的分析;此外,該類型的系統只能針對程式語言的某些區塊作註記的動作,

並沒有辦法讓使用者在任意的地方作註記,再加上註記工具所提供的註記類型及 註記功能有限(只能讓使用者輸入文字),因此,對使用者本身的學習助益也很有 限。

2.5 結論

根據前面幾節的文獻探討,可得知協同學習、回饋機制及同儕互評的機制可 以提升學生的學習效益;且註記可作為分享及釐清觀念的媒介;因此本研究參考 CoCoA及Annotator這兩個系統的架構為研究架構基礎,實現一提供註記相關分析 及線上多人批閱系統,並應用至C語言的教學上,其多人批閱的機制,可提供學 生同儕互評及協同學習的機制和環境;而藉由相關註記分析的回饋機制能讓老師 隨時掌握學生的學習狀況,而給予學生適時的輔導,同時也可藉以調整教學內 容,對學生而言,則可藉以改善自己學習不足的地方;希望能藉由本系統所提供 的機制提升學習及教學上的效益,並將其應用於C語言的教學上。

(36)

本研究預計達到的目標如下:

z 建構一個可跟任何瀏覽器相容的線上註記系統,且該系統可提供使用者一個 簡學易用的註記工具使用介面。

z 藉由多人批閱的機制,以達到協同學習及同儕互評的學習目標,同時增進線 上師生間及同儕間互動的關係,進而提升學習效益。

z 紀錄相關的註記資訊,並根據使用者的需求而給予適當的註記資訊,以避免 使用者資訊負荷的情形出現。

z 將註記分析的相關結果回饋給使用者,以期能真正提升學生的學習效益,同 時也能輔助教師隨時掌握學生的學習狀況,促進教學效果。

(37)

第三章 線上多人批閱及分析系統

本研究致力於開發一個線上多人批閱及分析的系統,希望能藉由多人批閱的 方式,提供協同學習、同儕互評的學習機制及增進師生間的互動,再者,更希望 及時提供相關的分析回饋機制給使用者,在教學上,能讓教師隨時掌握學生的學 習狀況;在學習上,可經由同儕間的批閱與系統所提供的相關回饋機制,提升學 生的學習效益,這些都是傳統網路教學批閱系統所沒有的機制。

而在本章的 3.1 節中,我們會介紹系統架構,而在 3.2 節至 3.6 節中,則針 對整個系統架構內的各個元件作較詳細的說明,同時也會說明元件間如何運作而 達到多人批閱及提供相關註記分析的目標

3.1 系統架構圖

本研究的系統架構-為客戶端(client)/ 伺服器端(server)的架構,如圖3-1所 示:在伺服端所包含的元件為:資料庫(Database)、組合器(Composer)及註記分析 器(Annotation Analyzer)。而客戶端的主要元件為使用者輸入介面(User Input Interface)及使用者輸出介面(User Output Interface)。其中,使用者輸入介面(User Input Interface) 又 包 含 了 程 式 碼 編 輯 介 面 (Program Editor) 及 註 記 編 輯 介 面 (Annotation-Editor)兩個子元件;而使用者輸出介面(User Output Interface),則包 含了顯示畫面(Viewer),而顯示畫面底下,又分為分析結果顯示畫面(Analyzed

(38)

程式碼編輯介面(Program Editor)及註記編輯介面(Annotation-Editor)兩個子

元件,分別提供使用者編輯程式碼及編輯註記的介面,且經由此兩個介面所編輯 的原始程式碼及註記的相關資訊,都會自動由系統紀錄到資料庫(Database)內;

而註記分析器(Annotation Analyzer) 則會根據使用者(為教師或學生)的需求,到 資料庫(Database)內將相關的註記資訊擷取出來並經過分析運算後,再將分析的 結果顯示在分析結果顯示畫面(Analyzed Result Viewer)上;組合器(Composer)則

會根據使用者所下的條件,到資料庫內將符合使用者搜尋條件的註記,呈現到文 件顯示畫面(Document Viewer)給使用者觀看。各個元件的功能,如表3-1所示。

圖3-1:系統架構圖

Client Server

Annotation Analyzer

Database

Composer

User Output Interface User Input

Interface Program

Editor

Annotation Editor

Viewer

(39)

表3-1:系統功能簡介

系統元件 功能介紹

資料庫 (Database)

紀錄有關於所有學生其程式碼相關資料、使用者相關資 料、相關的註記資料及註記分析的相關資料。

組合器(Composer) 此元件會將符合使用者需求的註記,呈現至文件顯示畫 面(Document Viewer)給使用者觀看。

註記分析器 (Annotation Analyzer)

此元件會根據使用者的需求,將相關的註記資料擷取出 來並加以運算後,將運算的結果以圖形的方式呈現給使 用者觀看;此外,它也會針對分析的結果,提供學生錯 誤修正練習的機制。

程式碼編輯介面 (Program Editor)

提供學生一個線上編輯程式碼的介面。

註記編輯介面 (Annotation-Editor)

提供使用者相關的批閱工具。

文件顯示畫面 (Document Viewer)

此元件根據使用者的需求,而將某些特定的註記類型(在 3.5.1 節會有詳細的介紹)呈現給在此畫面給使用者觀看。

分析結果顯示畫面 (Analyzed Result

Viewer)

註記分析器會將分析的結果顯示到此畫面來,而且此元 件會依據使用者層級的不同(教師及學生),而顯示不同 的分析結果。

3.2 使用者輸入介面(User Input Interface)

3.2.1 程式碼編輯介面(Program Editor)

此元件提供學生可以在線上編輯程式碼的一個介面,此程式碼編輯介面提供 學生ㄧ個簡易的文字輸入及文字效果編輯介面,如選擇字型、字型大小…等等的 編輯功能;待學生編輯完程式碼後,系統會自動將這些編輯效果轉換成HTML標 籤,同時嵌入至學生的原始碼中再儲存至一個專門收集程式碼的資料表內,當日 後需要自資料庫內取出該程式碼時,就可透過嵌入的HTML標籤呈現程式碼的原

(40)

3.2.2 註記編輯介面(Annotation Editor)

在此介面下,共分為三個區塊(圖3-2):左邊區塊為學生所撰寫的原始程式 碼,在這個註記編輯畫面下,使用者無法改變程式碼的內容,僅提供使用者在上 面作批閱的動作而已;最下方的編輯狀態列,則顯示目前批閱的擁有權在哪位使 用者手中,其他使用者無法對其做批閱的動作;右邊區塊,則為註記工具列,提 供註記的類別、註記的錯誤類型及註記重要性等三種註記工具。

以下便說明,這三種註記工具,以及如何利用本系統內的註記工具列,來新 增註記。

圖3-2:註記編輯介面

z 新增註記的方式

使用者先利用滑鼠把原始碼中要註記的部份做反白的動作,並選擇錯誤類型

註計工具列

註記類別 錯誤類型

原始程式碼

編輯狀態列

(41)

及重要性後,再選擇所需的註記類別,若使用者選擇取代或插入,則系統會出現 一個視窗,讓使要用者輸入要取代或插入的字元(圖3-3),若使用者選擇反白或刪

除則不會出現該視窗,但不管使用者選擇任何一種註記類別,ㄧ定會出現一個備 註對話框(圖3-4),讓使用者輸入正確的觀念或建議,當使用者完成這些步驟後,

系統會自動利用JavaScript在反白字(在此稱為註記關鍵字)的前後自動嵌入 XHTML的<SPAN>標籤,如圖3-5所示,在SPAN標籤中的CLASS屬性,則表示不 同的註記類別(稍後會有詳細的說明),同時也會決定被此<SPAN>標籤標記之內 容將會套用哪一個對應的CSS效果(如圖3-6至圖3-9 所示,左邊程式碼上有色塊 的部份,即是根據CLASS所定義的CSS樣式元件之名稱,套用不同的CSS樣式,

所產生的不同註記效果;利用標籤內的ID,則可透過物件元件的方式,對特定ID

標籤所包含的內容,進行動態控制,如:即時產生的註記效果及多人註記的呈現,

就是利用此方式所達成的);且當使用者在新增註記的同時,系統會自動將這筆 註記的相關資訊,如註記類型、註記重要性、錯誤類型、註記識別碼(ID)…等等 相關資訊,紀錄到資料庫(Database)內,以作為日後註記相關分析及註記呈現之 用。

(42)

<div align="left" id="MainTextDiv" class="MainText">

#in<SPAN class=Delete id=2382030179

onclick=Show(2382030179)>clud</SPAN>e&lt;stdio.h&gt;<BR>int a,1,2,3;<BR>int main(void)<BR>{<BR>&nbsp;pri<SPAN class=Insert

id=9350308642 style="DISPLAY: inline" onclick=Show(9350308642)>插入前

</SPAN>

</div>

圖3-3:插入文字對話框

圖3-4:備註對話框

圖3-5:利用<SPAN>標籤插入註記

z 註記類別

在此系統下,所提供的註記類別分別是插入(insert)、刪除(delete)、取代 (replace)及反白(highlight),目的在於提醒使用者注意該地方有註記的存在(如圖

(43)

3-6至3-9所示),在程式碼上有色塊的部份,即是註記類別所產生的註記效果)。

(1) 插入(insert):

讓使用者在原始程式碼的前方或後方插入缺少的程式碼;由圖3-6 所示,插 入的字元會直接顯示在原始碼的前面或後面,而且使用者所插入的字元,會以咖 啡色塊呈現,註記類別為『插入前』其對應Class 的名稱為 Insert,『插入後』其 Class 名稱為 Rinsert。

圖3-6:插入類別效果

(2)刪除(delete):

(44)

了一條刪除線,其對應的Class 名稱為 Delete。

圖3-7:刪除類別效果

(3)取代(replace):

以註記內容取代原始的程式碼,其原理就是先把原始的錯誤程式碼刪除,

並在該位置插入新的程式碼,為『 刪除』及『插入』功能的合併,因此由圖 3-8 所示,原本會被取代的程式碼字元上,會多了一條刪除線,而取代的字元,

則直接以黃色的字型,插入在程式碼的後方,其對應的Class 名稱為 Replace。

(45)

圖3-8:取代效果

(4) 反白(highlight):

對於程式碼有重大錯誤(例如:邏輯錯誤)或是對該程式碼區段的一些建議,

都可利用這個註記類別來表達;由圖3-9 所示,以黃色區塊反白的字元,即是該 註記類別所形成的效果,其對應的Class 名稱為 Highlight。

(46)

圖3-9:反白類別效果

z 註記的錯誤類型

本研究將程式撰寫者在C語言最常犯的錯誤,歸為六大類的錯誤類型,分別 為運算子錯誤(底下又包含為五種錯誤)、迴圈的錯誤(細分為五種錯誤)、資料型 態錯誤(包含七種錯誤)、函數呼叫錯誤(包含八種錯誤)、傳值呼叫錯誤(包含四種 錯誤)以及其他(包含五種)等六大類(附錄A),總共細分為34種錯誤類型;讓使用 者在作註記的同時,可以選擇學生所發生的錯誤,是屬於何種錯誤類型,這樣不 只可以幫使用者省去文字輸入的時間,同時也避免原本應該屬於同一類型的錯 誤,卻出現不同說法的情形出現,而造成使用者資訊混淆的情況。

z 註記重要性

註記重要性,表示註記作者認為該錯誤,是否有修正的必要性,本研究以重

(47)

要性1(Level1)到重要性3(Level3)此三種等級分別代表每個註記的重要性,並分別 給予權重值(重要性1為1/3,重要性2為2/3,重要性3為3/3),值越高代表該註記的 重要性也越高(即錯誤的嚴重性)。

(1) Level1:建議程式碼的作者可以做修正,但即使沒修正,對程式碼也沒影響。

(2)Level2:代表程式碼的作者,可能有一些觀念上的小錯誤或是無心的輸入錯 誤,需要修正。

(3) Level3:代表使用者在觀念上發生很嚴重的錯誤,一定要修正。

3.3 組合器(Composer)

由於不同的使用者可能在程式碼相同的地方作註記,在這種情況下,過多的 資訊對使用者而言反而是種困擾,因此本系統利用兩種方式來顯示註記:ㄧ種是 由系統推薦,直接顯示註記(系統利用註記可信度來決定顯示的註記為何,稍後 會針對註記可信度作詳細的說明);另ㄧ種則是系統列出一些註記的搜尋條件讓 使用者作選擇(如圖3-10所示,畫面中的每ㄧ種條件,使用者至少都要選一個選 項),爾後組合器(Composer)會根據使用者所選擇的註記條件,將符合搜尋條件的 註記識別碼(ID),利用JavaScript將該註記其SPAN標籤內CSS效果呈現的狀態從隱 藏更動為顯示,如此在文件顯示畫面(Document Viewer),就會顯示對應的註記效 果(如圖3-11及圖3-12所示,為相同原始碼,但為不同註記作者此搜尋條件下,所

(48)

圖3-10:註記條件選擇畫面

圖3-11:呈現符合不同搜尋條件的註記(作者為 solaris)

註記效果

註記作者為solaris

(49)

圖3-12:呈現符合不同搜尋條件的註記(作者為 B09210029)

z 系統所提供的註記選擇條件 (1)作者

使用者可選擇只觀看某位作者所作的註記;而組合器(Composer)只會呈現屬 於該程式碼且是同一作者識別碼的註記效果。

(2)註記重要性(level)

使用者可選擇只看重要性為某個層級的註記;例如:組合器(Composer)會根 據使用者的需求,到註記資料表內將屬於該程式碼且重要性為1的註記,其CSS

註記效果

註記作者為B09210029 單一程式碼錯誤類型分佈圖

(50)

(3)錯誤類型

使用者可選擇只看某個錯誤類型的註記;例如:組合器(Composer)會根據使

用者的需求,到註記資料表內將屬於該程式碼且是有關於運算子錯誤類型的註 記,其CSS效果呈現的狀態從隱藏更動為顯示。

z 系統自動推薦—註記可信度(Coffidence Degree,CD):

所謂的註記可信度,是指在原始程式碼內的同一點擁有多個註記時,組合器 (Composer)會自動算出每一個註記的可信度,然後從中選擇可信度最高的註記,

呈現出來給使用者觀看(但若只有一個註記,不管是學生或教師所作的註記,都 會直接呈現給使用者觀看)。且本研究以教師的註記為錯誤類型判定的準則,當 同一點出現多個教師的註記時,系統會根據註記可信度,將註記可信度最高的註 記,判定為錯誤類型;若一個地方只出現單一教師的註記,系統會直接將這註記 列為一個錯誤類型。而註記可信度在不同的狀況下會有不同的算法:

(1) 當註記的作者都是教師時

每個註記的可信度(CD)=

( )

p w o wz

⎜ ⎞

⎛1− − 2

z:代表在同一個點的第幾個註記

wz:註記(z)的重要性(level)

w :在同一點,所有註記重要性(level)的平均值

o:在同一點,有幾個註記的錯誤類型跟該錯誤類型是重複的 p :在此註記的教師總人數

(51)

(2) 當註記的作者都是學生時

每個註記的可信度(CD)=

( )

s o E w E

w n

j ij ij z

⎟⎟

⎟⎟

⎜⎜

⎜⎜

⎟⎟

⎟⎟

⎜⎜

⎜⎜

⎟ −

⎜ ⎞

⎛ − −

=1

2 1

1

z:代表在同一個點的第幾個註記

wz:註記(z)的重要性(level)

w :在同一點,所有註記重要性(level)的平均值

i:代表註記(z)是屬於錯誤類型(i)(i=1~34,且 i=i(z))

j:則代表是哪個學生(j=1~n)

E :代表學生(j)在錯誤類型(i)的錯誤頻率為何(學生(j)在錯誤類型(i)的錯誤累積ij

次數/學生所有程式碼的累積篇數)

= n

j

Eij 1

:在錯誤類型(i)的所有學生,其在錯誤類型(i)的錯誤頻率總合

o:在同一點,有幾個註記的錯誤類型是重複的 s:都是代表在此註記的學生總人數

n:代表在此作跟該註記相同錯誤類型的學生人數

但是當所有學生在此錯誤類型的頻率總和為零或該學生在此錯誤類型的頻 率為零時, 則公式就改用以下的式子 :

每個註記的可信度(CD)=

( )

⎜ ⎞

⎛1− wzw2 s o

w :該註記的重要性(level)

(52)

w :在同一點,所有註記重要性(level)的平均值

o:在同一點,有幾個註記的錯誤類型是重複的

s:都是代表在此註記的學生總人數 (3) 當註記的作者有教師也有學生時

在此這種狀況下,本研究仍以教師的註記為準(在本研究內,還是認為教師 的註記可信度比學生的還高),因此會採用第一種情況(即註記的作者都是教師) 的算法來計算每個註記的可信度。

3.4 註記分析器(Annotation Analyzer)

註記分析器(Annotation Analyzer)會根據使用者的需求,到資料庫內將相關的

註記資訊擷取出來並作分析後,再以圖形的方式呈現至分析結果顯示畫面 (Analyzed Result Viewer)給使用者看;而註記分析器(Annotation Analyzer)所提供 的相關分析機制,在以下的3.4.1節至3.4.6節中會有更詳細的介紹。

3.4.1 學生個人單一程式碼錯誤類型分析

註記分析器(Annotation Analyzer)會依照學生的要求,到資料庫(Annotation Database)內去找出隸屬於某一程式碼(k)的錯誤類型,並統計出程式碼(k)出現哪 些錯誤類型,以及各錯誤類型佔所有錯誤中的百分比,然後再以長條圖的方式呈 現到分析結果顯示畫面(Analyzed Result Viewer)給學生觀看,如下圖3-13所示(左

(53)

邊欄位代表系統內定的所有錯誤類型種類,右邊欄位的長條圖則代表,每種錯誤 類型在此篇程式碼所有錯誤中佔的百分比E /x),如此學生便可清楚看出自己的ki 弱點在哪,並在往後進行弱點的加強。

圖3-13:學生個人單一程式碼的錯誤類型分佈圖

E :表示該學生在程式碼(k)所犯錯誤類型(i)的錯誤累積次數,(如:ki E 代表該k1

學生在第一個錯誤類型的累積次數;其中 i 表錯誤類型的種類(i=1~34),k 代表哪 篇程式碼(k=1~p;p 代表資料庫中,所有程式碼的個數),x 則代表該學生在該程 式碼中所有錯誤類型犯錯次數的總合。

3.4.2 類似錯誤修正練習

(54)

記資訊後,註記分析器(Annotation Analyzer)便會到資料庫內,去比對找出其它程 式碼中錯誤類型的分佈跟程式碼(k)最類似的一篇(q),讓學生作相似錯誤類型的

修正練習;其概念,則是利用程式碼內錯誤類型所構成的多維空間向量,去做兩 篇程式碼錯誤類型相似度的比較;首先,透過資料庫去找出程式碼(k)中每種錯誤 類型的錯誤累積次數E ,其中 i 代表何種錯誤類型(i 從 1~34),而 k 則代表哪一ki 個程式碼;例如:Ek1 代表在程式碼(k)中,錯誤類型 1 的錯誤累積次數。因此可 將程式碼(k)在每種錯誤類型的累積次數E ,集合成為程式碼(k)的錯誤類型向ki 量,再經過正規化的結果就如下所示(其中 x 及 y 分別代表在程式碼 k 及程式碼 q 中,所有錯誤類型犯錯次數的總合):

程式碼k的錯誤類型向量=(

x Ek1

, x Ek 2

,…, x Ek 34

)

然後,再與資料庫中其他程式碼的錯誤類型向量進行相似度的比對,若資料 庫中另一篇程式碼q的錯誤類型向量為:

程式碼 q 的錯誤類型向量=(

y Eq1

, y Eq 2

,…, y Ek 34

) 則程式碼k與程式碼q其錯誤類型的相似度(S)的計算為:

相似度 S(D,Q)=

∑ ∑

= =

=

⎟⎟⎠

⎜⎜ ⎞

⋅ ⎛

⎟⎠

⎜ ⎞

34 1

34 1 2 2 34

1

i i

ki qi

qi i

ki

y E x

E

y E x E

而相似度的值S,即代表兩篇文章其誤類型向量所形成的cosθ ,cosθ 越大 代表兩個程式碼的錯誤類型分佈越相像;因此,我們可利用這個機制找出資料庫 內跟程式碼(k)錯誤類型分佈最類似的程式碼(q)讓學生作錯誤類型的修正練習,

(55)

在練習完後,可以上下視窗的方式,比對原本在q程式碼上所加的註記,看自己 的修正是否正確,如下圖3-14所示,上面的視窗,所顯示的是系統利用相似度的

算法所找出來的原始程式碼,當使用者修正完該篇程式碼後,可以觀看下方的視 窗,下方視窗所顯示的就是其他人在該篇程式碼所做的註記。

圖3-14:錯誤修正練習視窗

3.4.3 學生個人歷史錯誤類型之分析

學生個人歷史錯誤類型之統計分析跟單一程式碼錯誤類型分析之不同處,在 於它所分析的是個別單一學生在過去所撰寫的程式碼中,在每個錯誤類型所犯錯

(56)

因此在這裡,註記分析器(Annotation Analyzer)會到資料庫內,將某個學生其所有

程式碼中的每一種錯誤類型的犯錯次數作統計,並除以該學生所作程式碼的篇 數,因此我們可以得知該學生過去在每一種錯誤類型所犯錯的頻率(E )為何,然ij

後將每一種錯誤類型的犯錯頻率以長條圖的方式呈現到分析結果顯示畫面 (Analyzed Result Viewer),如圖 3-15 所示,(左邊欄位代表該學生所犯的錯誤類 型,右邊欄位代表該位學生過去在每個錯誤類型所犯錯的頻率E )。而ij E 的算法ij 如下所示:

個別學生(j)在種錯誤類型(i)的犯錯頻率(E )=ij m

E

m

k

kij

=1 ,i=1~34

E :個別學生(j)在種錯誤類型(i)的犯錯頻率 ij

E :代表學生(kij j)在其程式碼(k)內,其在錯誤類型(i)的犯錯次數 m:學生(j)所作程式碼的累積個數

(57)

圖3-15:學生個人歷史錯誤類型統計分佈圖

3.4.4 學生個人學習狀況之分析

註記分析器(Annotation Analyzer)會根據教師的要求,去分析某一學生在每一

篇程式碼所犯的錯誤類型次數,是否隨著每次相似錯誤修正練習,而有改善的情 況;其分析的機制,主要是拿該學生某一篇在錯誤類型(i)的犯錯次數,跟前一篇 錯誤類型(i)的犯錯次數做比較,看犯錯減少或增加的幅度為何,在此稱為每一錯 誤類型的進步幅度(Improvement Rate , IR),而每兩篇文章在錯誤類型(i)的進步 幅度(IR ),所集合的點,可將其描繪成一個折線圖,並呈現到分析結果顯示畫ki 面(Analyzed Result Viewer)給教師看,如此教師就可以看出該學生的學習狀況(在 每一錯誤類型的犯錯上,是否有進步),如圖3-16所示(縱軸代表該學生在第i種錯

(58)

IR值), IR 的算式如下所示: ki

) / /

/(

) / /

( ,+1, +1 , + +1, +1

= ki k k i k ki k k i k

ki E x E x E x E x

IR ,其中 i=1~34;k=1~m-1

i :代表為第 i 種錯誤類型, i =1…34

k:代表該錯誤類型所算出來的第幾個 IR 值,k=1,2,…,m-1。(m 代表該學生總共

有幾篇程式碼)

IR :代表在第 i 個錯誤類型中,算出來的第 k 個 IR 值(即第 k+1 篇及第 k 篇算 ki

出來的 IR 值)

i

Ek+1,:代表該學生在第 k+1 篇的程式碼中,該學生在錯誤類型(i)的犯錯次數

i

Ek, :代表第 k+1 篇的前一篇其程式碼(第 k 篇)中,該學生在錯誤類型(i)的犯 錯次數

xk+1及 xk:分別代表在第k+1 篇及第 k 篇中所有錯誤類型犯錯次數的總合

圖3-16:學生個人學習狀況之分析圖

(59)

3.4.5 所有學生在單一程式碼錯誤類型之分析

該分析跟學生個人單一程式碼錯誤類型唯一不同的地方是,註記分析器

(Annotation Analyzer)是找出所有學生在某一個程式碼主題,出現的錯誤類型,

以及各錯誤類型佔所有錯誤中的百分比, 然後再以長條圖的方式呈現到分析結 果顯示畫面(Analyzed Result Viewer)給教師觀看,如下圖3-17所示(左邊欄位代表

系統內定的所有錯誤類型種類,右邊欄位則代表所有學生其每種錯誤類型在所有 錯誤中佔的百分比(

= n

j kij

x E

1

),如此老師便可看出所有學生在這個程式碼主題裡 面,哪些觀念是比較不清楚的。

(60)

圖3-17:所有學生在單一程式碼主題之錯誤類型分佈圖

3.4.6 所有學生錯誤類型之分析

註記分析器(Annotation Analyzer)會根據教師的需求,將每個學生在每種錯誤 類型的犯錯頻率(E )作加總除以所有學生人數(n)後,便可得知所有學生在每一ij 種錯誤類型的平均犯錯率(EE )為何,然後再將每一種錯誤類型的平均犯錯率以i 長條圖的方式呈現至分析結果顯示畫面(Analyzed Result Viewer),如圖3-18所示 (左邊的欄位代表該學生所犯的錯誤類型,右邊的欄位代表所有學生在每個錯誤 類型所發生的平均犯錯率EE ),而所有學生在每一種錯誤類型的平均犯錯率i (EE )其算法如下所示: i

所有學生在錯誤類型(i)的平均犯錯次數(EE )= i n

E

n

j

ij

=1

(61)

j:代表哪個學生

EE :所有學生在錯誤類型(i)的平均犯錯次數 i

E :學生(j)在錯誤類型(i)的犯錯頻率 ij

n:學生總人數

圖3-18:所有學生錯誤類型統計分佈圖

3.5 使用者觀看畫面(Viewer)

3.5.1 文件顯示畫面(Document Viewer)

此元件會呈現組合器(Composer)所挑選出來符合使用者搜尋條件的註記給 使用者觀看,經由畫面上的註記效果(如圖3-11及3-12所示,原始碼上方有色塊的

(62)

使用者用滑鼠點選被註記的地方,則跟該註記相關的資訊,會以另一個視窗呈現 出來,如;註記作者、註記關鍵字、註解(備註)…等等,如圖3-19所示。

圖3-19:註記相關資訊

3.5.2 分析結果顯示畫面(Analyzed Result Viewer)

此元件會將註記分析器(Annotation Analyzer)所分析出來的結果,以圖形化的

方式顯示出來給使用者看,且根據不同的使用者層級,所看到的分析畫面會有所 不同:

z 使用者為學生

學生可選擇觀看『學生個人單一程式碼錯誤類型的分佈圖』(學生可選擇圖 3-12,左上方的程式碼錯誤類型分佈圖,就會出現該程式碼對應的長條圖,如圖 3-13 所示),如此學生可知道在每一篇程式碼上,自己所犯的錯誤為何,往後再 進行重點加強的工作。

註記者所給予的正確觀

參考文獻

相關文件

3 recommender systems were proposed in this study, the first is combining GPS and then according to the distance to recommend the appropriate house, the user preference is used

This study conducted DBR to the production scheduling system, and utilized eM-Plant to simulate the scheduling process.. While comparing the original scheduling process

This thesis makes use of analog-to-digital converter and FPGA to carry out the IF signal capture system that can be applied to a Digital Video Broadcasting - Terrestrial (DVB-T)

This research intent to establish the ecosystem system database and ecosystem potentials analysis to evaluate the modal, being provided for programming of coastal and ocean

This study attempts to Question Answering, Intelligent Agents and Feedback technologies, the development of an online SQL learning system with automatic checking

Furthermore, given a set of nets in a bus on routing grids with obstacles, and the length constraints for all the nets in the bus, based on this proposed longest path generation,

In order to have a complete and efficient decision-making policy, it has to be done with multi-dimensional reflection and analysis; The multi-criteria decision-making analysis

Chen, “Adjustable gamma correction circuit for TFT LCD,” IEEE International Symposium on Circuits and Systems, vol. Kan, “Implementation of the Gamma (γ) Line System Similar