?

關于Moodle XML結構的題目及其離線編輯器設計

2013-03-16 07:51耀,徐
中國醫學教育技術 2013年5期
關鍵詞:編輯器離線文檔

王 耀,徐 鸝

浙江醫藥高等??茖W校圖書信息中心,浙江 寧波 315100

1 背景和需求

Moodle是一套基于開源軟件的課程管理系統,它為用戶提供一種動態的學習環境。在網絡教學或在線學習的過程中,練習、測驗或考試環節可以幫助學生檢驗所學內容的掌握程度,同時也可以幫助教師評估教學的效果和質量。對于Moodle課程管理系統所代表的一類開源網絡教學平臺而言,題庫資源的建設具有十分重要的作用[1-2]。然而,題庫中題目的錄入和編輯對于教師來說并非易事。在教學實踐中,通常遇到的情況是在線錄入或編輯題目的效率低下,事倍功半。因此,人們希望能夠利用一些輔助編輯題目的軟件工具,采用離線編輯、在線導入的方法,借此解決題目錄入和編輯的效率問題。

關于離線編輯題目,目前所見到的方法:一是利用文字處理軟件(或其建構的模板)進行編輯[3],二是利用某些特定的軟件工具進行編輯[4]。兩種方式最終都通過把結果保存為Moodle系統支持的題目格式文件,實現后續的在線導入。

盡管存在一些離線編輯題目的工具和方法,然而這些工具往往不是專為Moodle題目的編輯設計的。由于軟件功能缺失、操作不便等因素,有些時候教師會覺得使用上存在困難。譬如:教師在教學實踐中積累了豐富的、以電子文檔形式保存的題目資源(如試卷等),他們不僅希望可以直接輸入題目信息,而且能夠(以某種形式)批量導入電子文檔中的題目,進行編輯。教師對于離線編輯器的需求可以用UML用例圖來說明,如圖1所示。

假定教師有一套MSWord格式的題目需要最終存放到Moodle系統中去,那么可以先將此套題目另存為純文本格式(TXT文件),再導入到離線編輯器中進行編輯,完成后保存為Moodle XML格式的文件以便供Moodle系統導入,反之亦然。從Moodle系統導出的XML文件能夠由離線編輯器處理。當然,也可以把編輯的題目按純文本格式導出到TXT文件,供其他字處理軟件(如MSWord)編輯??傊?,對于題目編輯器的需求,不僅要對符合Moodle XML格式的題目進行編輯,而且也要支持TXT文件的導入和導出。

2 Moodle XML題目格式

Moodle系統中支持多種題目格式,既可導入又可導出的題目格式只有兩種:Moodle XML和通用導入格式技術(general import format technology,GIFT)[5-6]。相比而言,Moodle XML支持的題目信息更為完整,適合外部程序用來與Moodle交換題目數據。

2.1 文檔結構

Moodle XML格式遵循萬維網聯盟(world wide web consortium,W3C)的 XML 1.0規范。下面是一份Moodle XML格式文檔的例子,包含了一道填空題(shortanswer)的描述。

<?xml version="1.0"encoding="UTF-8"?>

<quiz>

<question type="shortanswer">

<name>

<text>漢代我國第一部藥學專著</text>

</name>

<questiontext format="html">

<text>漢代我國第一部藥學專著是( )。</text>

</questiontext>

<generalfeedback>

<text/>

</generalfeedback>

<defaultgrade>1</defaultgrade>

<penalty>0.1 </penalty>

<hidden>0</hidden>

<shuffleanswers>0</shuffleanswers>

<usecase>0</usecase>

<answer fraction="100">

<text>神農本草經</text>

<feedback>

<text/>

</feedback>

</answer>

</question>

</quiz>

XML文檔用的是UTF-8編碼,整體結構是以<?xml version="1.0"encoding="UTF-8"?>開始,每份文檔只有一個<quiz>標記,用來包含整個測驗或考試信息;在<quiz>標記中可以安排多個<question>標記,用來描述多個題目信息。

2.2 樹狀結構

一般而言,Moodle XML是通過question元素節點的type屬性來區分題目類型的。一份Moodle XML格式文檔通常包含各種不同類型的題目,為了直觀起見,可以用樹狀結構來表示,如圖2所示。

圖2 moodle xml文檔的樹狀結構

可以看出,Moodle XML文檔在根節點下用quiz節點統領各類question節點,每個question節點大致包含問題和答案兩部分。問題部分通常有name(題目名稱)、questiontext(題目內容)、generalfeedback(一般反饋)、defaultgrade(默認得分)、penalty(罰分因子)、shuffleanswers(答案重組)這類節點(為了簡化圖形,圖中以<question>表示),也會有single(單項選擇)、usecase(大小寫字母敏感)等專屬節點;答案部分以answer節點形式組織,不同題型的answer節點可以不止一個,也可以沒有。圖中,選擇題(multichoice)至少有2個以上的answer節點,描述題(description)沒有answer節點,而匹配題(matching)的answer節點位于了subquestion節點之下,2個小題至少有3個可供匹配的answer節點。

Moodle系統支持多種題目類型[7],數字題(numerical)、是非題(truefalse)、論述題(essay)格式安排與選擇題大體相似,但完形題(cloze)和計算題(calculated)題型格式較為復雜,將在后面討論。

3 題目編輯器的設計

對于Moodle XML文檔,可以考慮用XML文檔對象模型(document object model,DOM)來解析和處理[8]。XML DOM是W3C推薦的標準,定義了XML文檔中元素的對象、屬性及其訪問的方法。運用XML DOM,編輯器首先加載XML文檔,并把XML樹狀結構存儲在內存當中,通過DOM實現對XML元素的獲取、更改、添加或刪除等操作。

3.1 功能設置與界面設計

考慮到教師對于離線編輯器的需求,在軟件功能設置上,應該包括對Moodle XML文檔的加載和保存、對題目文字的編輯操作以及對一般文本格式題目文檔的導入和導出等功能。在軟件界面設計上,應考慮方便教師使用,合理安排功能區域,如圖3所示。

圖3 題目編輯器的圖形界面

菜單欄中文件菜單用于新建、打開和保存XML格式的題目文件,以及導入或導出TXT文本格式的題目文件;編輯菜單用于常規的文字編輯操作;題目菜單用于題目的定位和刪除;工具菜單用于編輯時的輔助操作。

題型區列有選擇、填空等九種題型,用來表示當前的題型狀態,也用于題型轉換;題目區左側為題目內容編輯框,其下方的答案區用于輸入各類題型的答案、問題、公式以及可能的反饋,還有答案的得分率;參數區可設置一些常用的選項,狀態欄則顯示題目的總數和當前題號。

對于多數題型來說,上面的功能設置已經夠用了。完形題和計算題由于格式上的特殊性,在設計和處理上需要作特別考慮。

3.2 完形題的處理

在Moodle XML格式中,填空題只能有一個填空位置,而完形題(cloze,又稱克漏字)則可以設置多個填空位置。完形題沒有專屬的answer節點,它的答案信息是同題目內容放在一起的。譬如:

中藥有毒成分的限量指標一般應包括({1:shortanswer:%100%毒副作用成分#答對了!})、砷含量、({1:shortanswer:%100%重金屬含量})和({1:shortanswer:%100%農殘量})等。

題目中有三個填空位置,每個填空位置用特定的格式表示答案信息。完形題的答案是嵌入在問題中的,有幾個填空位置,理應有幾組答案。完形題答案信息格式如圖4所示。

圖4 完形題的答案信息格式

答案信息放置在一對花括號之中。每個填空都可以設置分值(grade),默認為1;填空類型(type)可以是填空(shortanswer,縮寫 SA)、數字(numerical,縮寫NM)和選擇(multichoice,縮寫MC);答案(answer)之前的等號表示正確、無符號表示錯誤,也可以用得分率(fraction)表示答案的正確程度(100%正確,0%錯誤,50%半對);答案之后可以跟反饋信息(feedback);答案連同反饋可以出現多次,用“~”號分隔。

在完形題型中,填空類型還可以附加信息,如大小寫字母是否敏感、選擇下拉菜單還是按鈕、按鈕排列的方向,等。對這種繁瑣的格式,讓普通教師去編輯題目不太合適,既容易出錯,又容易失去耐心。

在設計中,我們可以考慮輸入時對完形題的填空位置進行編號(如#1、#2、#3等),用編號去對應答案分組,答案格式由系統去合成。這樣,完形題的輸入變成了對每個填空按不同類型的輸入,就像普通的選擇題、填空題和數字題一樣,輸入界面上也可以統一起來(如圖3所示)。

由于每一道完形題都可能有多組答案,因此需要在內存中建立一個答案索引表。每當輸入界面上填空位切換時,對應的答案信息都可以從這張表中檢索出來,如圖5所示。圖中number表示每組答案的選項個數,address表示對應答案的起始地址。

圖5 完形題的答案索引表

通過對題目編輯器GUI界面和內部算法上的處理,教師在輸入完形題時不再面對復雜的填空格式,如同其他題型那樣去編輯完形題。

3.3 計算題的處理

在Moodle系統中,計算題型與其他題型最大的不同在于它可以在題目信息中使用計算公式,譬如問{x}加{y}等于多少?編輯時答案填算式{x}+{y},答題時要回答該算式的計算結果。這里變元{x}和{y}實際上是一種通配符,只要指定其取值范圍,系統就會為每一變元生成一個數據集(dataset),出題時{x}和{y}隨機代換成各自數據集中的某一數值。

計算題型的XML格式中,除問題和答案部分外,比其他題型多了一個數據集定義部分(dataset_definitions),如圖6所示。每個變元都有自己的數據集定義(dataset_definition),包含name(變元名)、minimum(最小值)、maximum(最大值)、decimals(小數位)、dataset_item(數據項)等節點。這里,數據項是系統根據最小值和最大值限定的范圍隨機生成的一組數據,圖中的number是數據的編號,value則是數據值。

圖6 計算題的數據集定義

計算題型可以設置的參數是比較多的,譬如對于變元可以指定計算單位(unit),對于數據集可以指定狀態(status)是自用(private)還是共享(shared),等。這些參數對于教師來說不一定用得著,所以在軟件設計時可以將其作系統內部處理(設為默認值或保持原有設定值),在軟件界面上只安排name、minimum、maximum等基本參數的輸入區域。如果教師確實需要設置這些參數,可以在題目導入到Moodle系統后通過在線編輯的方式調整。

Moodle軟件自2.0版以后新增了計算題型的兩個變體,即簡單式計算題型(calculatedsimple)和選擇式計算題型(calculatedmulti),前者是對計算題型的在線輸入過程作了簡化,后者則是在答題時像選擇題型那樣選擇計算結果。兩種新題型的XML格式與原計算題型基本相同,設計時一并考慮。

3.4 文本格式題目的導入

要批量導入純文本格式文檔中的題目,關鍵在于題目編輯器能否辨識出文檔中的題目信息。盡管這類文檔格式可能五花八門,但像試卷之類的文檔,一般有約定俗成的格式,如圖7所示。

圖7 試卷的一般格式

我們注意到,如果把題目編號開始的一段題目信息看成是“題目”的話,那么試卷體就是一個“題目序列”,編號就可以作為辨識題目開始和結束的標志。在程序設計時,可以用正則表達式來匹配題目編號。例如正則表達式:

“^s*[((]?s*?第?[d|一二三四五六七八九十]+s*?[、.)。)部章節]”

可以匹配大多數的題目編號,它表示可能是空白字符開頭、前后有特定的標點符號或文字、中間是數字編號的字符串。有些中文文檔中會出現兩種全角空格(0x3000或0xE5E5,UCS-2編碼),設計時也可以考慮進去。

在題目編輯器執行導入操作時,首先處理試卷頭信息(跳過或保留),之后每當匹配到題目編號,系統會進一步分析其后跟隨的題目信息。如果能判定出題目類型,則后續的題目可以按對應題型處理,譬如是選擇題型,還可以去提取答案選項;如果不能判定,就處理成描述題型,待導入完成后,教師可在編輯環境中調整題目類型、內容、答案、參數等信息。

在Moodle系統中,描述題型是一種特殊的題目類型,是以題目的形式包裝一些說明性內容,組卷時可以放在試卷需要說明的地方。上文中把待定“題目”處理成描述題型,實際就是想利用描述題型的性質容納題目信息,這樣可以使得電子文檔中的題目信息一次性導入到系統之中,提高錄入效率。

該文在分析Moodle XML題目結構的基礎上,討論了與其相適應的離線編輯器的設計要點,所涉及的內容或需求均來自于筆者在Moodle系統上的應用實踐[9],也是筆者探討開放教育資源與教學活動相互融合的一種嘗試。筆者在2010年12月完成了題目編輯器的第一個版本,2012年12月升級到了第二版。經過兩年多的實際應用,軟件得到了逐步改進和完善,在網絡課程資源的建設中起到了有效的、積極的作用。

[1]凌晨,王一鴻.基于Moodle的題庫建設和應用研究[J].軟件導刊,2010,9(11):162-164

[2]陳聲?。贛oodle的在線考試系統的設計與實施[J].中國教育信息化:高教職教,2010,(7):64-66

[3]劉榮光,劉貫南.巧用Word模板制作Moodle XML格式的測驗題[J].中國信息技術教育,2009,(1):63-66

[4]代永平.用HTAs編寫Moodle試題導入文件生成工具[J].中國教育信息化,2010,(21):85-88

[5]moodle.org.Import questions[EB/OL].http://docs.moodle.org/25/en/Import_questions,2013-05-20

[6]moodle.org.Export questions[EB/OL].http://docs.moodle.org/25/en/Export_questions,2013-05-20

[7]moodle.org.Question types[EB/OL].http://docs.moodle.org/25/en/Questions,2013-05-20

[8]張欣毅.XML簡明教程[M].1版.北京:清華大學出版社,2009:302-317

[9]徐鸝,王耀,王偉聰,等.Moodle系統的集群方案與案例分析[J].計算機應用與軟件,2012,29(1):224-229

猜你喜歡
編輯器離線文檔
淺談Matlab與Word文檔的應用接口
異步電機離線參數辨識方法
有人一聲不吭向你扔了個文檔
司空見慣感覺煩 鎖屏畫面快走開
淺談ATC離線基礎數據的準備
FTGS軌道電路離線測試平臺開發
你距離微信創作達人還有多遠?
車輛段收發車運行圖編輯器的設計與實現
離線富集-HPLC法同時測定氨咖黃敏膠囊中5種合成色素
Word文檔 高效分合有高招
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合