曾棕根 吳志榮 汪志達(dá)
摘 ?;要: 紙質(zhì)考試耗費(fèi)資源,反饋遲緩,題庫管理困難,無法隨機(jī)抽題,教師閱卷工作量大,為此采用Moodle 2的在線考試模塊進(jìn)行了大規(guī)模在線考試實驗。實驗表明,Moodle 2的在線考試模塊穩(wěn)定安全、功能強(qiáng)大,在各級各類教育考試中值得推廣應(yīng)用。文章從高性能Moodle 2平臺構(gòu)建、題庫建設(shè)、考試實施和成績管理四方面詳細(xì)闡述了Moodle 2大規(guī)模在線考試的實現(xiàn)方法及應(yīng)用要點(diǎn)。
關(guān)鍵詞: Moodle; 分布式; MySQL復(fù)制; 大規(guī)模; 在線考試
中圖分類號:TP399 ?; ?; ?; ?; ?;文獻(xiàn)標(biāo)志碼:A ?; ?; 文章編號:1006-8228(2014)12-08-03
Realization method of Moodle's large-scale online exam
Zeng Zonggen, Wu Zhirong, Wang Zhida
(Department of Electronic Information Engineering, Ningbo Polytechnic, Ningbo, Zhejiang 315800, China)
Abstract: The paper-based exams have disadvantages including resourceswasting, feedback delay, difficulties in question bank management, no approaches to randomly select questions and vast marking workload. The experiment of large-scale online exam is carried on by Moodle 2. The experiment result showed that the Moodle 2 quiz module is stable, secureand powerful, should be widely appliedin all levels of education examination. The realization method and the application point of Moodle 2 large-scale online exam are elaborated from four aspects, including construction of high performance Moodle 2 platform, question bank building and implementationof exam and grade management.
Key words: Moodle; distributed; MySQL replication; large-scale; online exam
0 引言
Moodle是全球最流行的LMS[1]。Moodle 2重寫了在線考試模塊,使得該模塊更穩(wěn)定、安全、易用、靈活、強(qiáng)大,在線考試模塊已成為Moodle 2應(yīng)用的重中之重。使用Moodle 2實現(xiàn)大規(guī)模考試,是一項系統(tǒng)工程,其流程包括平臺構(gòu)建、題庫建設(shè)、考試實施和成績管理。
本文全面總結(jié)了筆者過去幾年在建設(shè)高性能Moodle平臺、實施大規(guī)模在線考試中的研究與實驗經(jīng)驗[2],希望能為Moodle 2平臺在我國的全面推廣應(yīng)用提供一些實際幫助和參考。
1 構(gòu)建高性能LNMP+Moodle 2平臺
在線考試是一個并發(fā)性要求最高的網(wǎng)上操作,要求架設(shè)的Moodle 2服務(wù)器具有高性能、高并發(fā)特點(diǎn)[3]。為了滿足大規(guī)模在線考試的性能需求,就必須建立高性能的LNMP+Moodle 2服務(wù)器基礎(chǔ)平臺[4]。如果250人左右同時考試,那么使用一臺獨(dú)立服務(wù)器運(yùn)行LNMP+Moodle 2即可;如果250人以上同時考試,就必須投入更多的服務(wù)器。圖1是筆者研制的一種基于LNMP的分布式、高可用Moodle 2系統(tǒng),PHP-FastCGI服務(wù)器采用分布式計算架構(gòu),而MySQL服務(wù)器則為一個環(huán)形復(fù)制結(jié)構(gòu)。
圖1 ?;分布式高可用Moodle 2服務(wù)器架構(gòu)
圖1中客戶端通過Web瀏覽器訪問Nginx服務(wù)器,Nginx服務(wù)器采用輪詢或Hash等負(fù)載均衡算法將用戶的訪問交由一臺PHP-FastCGI服務(wù)器進(jìn)行處理,每臺PHP-FastCGI服務(wù)器獨(dú)享一臺MySQL數(shù)據(jù)庫服務(wù)器,而當(dāng)一臺MySQL數(shù)據(jù)庫服務(wù)器完成一個改變數(shù)據(jù)庫的SQL操作時,該操作會瞬時異步向下一臺環(huán)向傳遞,使得這N臺MySQL數(shù)據(jù)庫服務(wù)器上的數(shù)據(jù)始終保持一致,實質(zhì)上實現(xiàn)了寫同步和讀均衡的效果。圖2是兩臺MySQL環(huán)形復(fù)制工作原理示意圖[5]。
圖2 ?;兩臺MySQL服務(wù)器環(huán)形復(fù)制工作原理示意圖
該MySQL服務(wù)器結(jié)構(gòu)是一種橫向擴(kuò)展的彈性結(jié)構(gòu),可隨時調(diào)整PHP服務(wù)器和MySQL服務(wù)器的臺數(shù),從而滿足不同人數(shù)的考試需求。值得注意的是,由于在線考試對文件系統(tǒng)訪問要求不高,所以,所有PHP-FastCGI服務(wù)器共享一臺NFS文件服務(wù)器即可。
計算該架構(gòu)服務(wù)器數(shù)量必須考慮以下兩個因素。
⑴ 單臺服務(wù)器并發(fā)能力,參考表1。
表1 ?;單臺PC服務(wù)器性能表
表1數(shù)據(jù)是采用HP實驗室著名的服務(wù)器性能測試工具h(yuǎn)ttperf[6]在蘋果iMac一體機(jī)(處理器:Intel?2.50GHz雙核心四線程、內(nèi)存:4.00GB)上測出的。從表1可以看出,并發(fā)瓶頸在于PHP程序的處理。
⑵ 考生點(diǎn)擊網(wǎng)頁頻度。假定考生每10秒點(diǎn)擊一次網(wǎng)頁,那么,一臺PHP服務(wù)器可以滿足:MySQL并發(fā)處理100個請求/秒×10秒=1000人同時在線考試。
由此推導(dǎo)出服務(wù)器需求表,見表2。
表2 ?;不同考試規(guī)模PC服務(wù)器需求表
如果同時考試規(guī)模更大,可以使用Nginx作反向代理,將請求分流到多個相同的Nginx分布式高可用結(jié)構(gòu)中,而所有的MySQL數(shù)據(jù)庫服務(wù)器則作一個瞬時異步環(huán)向同步復(fù)制。
2 題庫建設(shè)
題庫建設(shè)包括創(chuàng)建試題類別、用模板創(chuàng)建試題和將試題的XML文件導(dǎo)入Moodle 三個步。
在Moodle中創(chuàng)建試題類別,可根據(jù)章節(jié)名稱創(chuàng)建,也可以根據(jù)試題類別名稱創(chuàng)建,如“填空題”、“單選題”、“多選題”、“是非題”或“簡答題”等類別名稱。Moodle 2支持多種題型,包括錄音題。
試題類別規(guī)劃、創(chuàng)建好后,便可以來制作題庫了。直接在Moodle平臺里一道一道制作題目,是一項非常耗時的工作,效率太低。
在Word中使用“Quiz authoring template for Microsoft Word” 插件簡稱moodle_quiz_v12(如圖3所示)批量制作題庫簡單易行[7],能大大減輕工作量;而且,題目或答案中都可以有若干插圖或Word公式。表3是使用moodle_quiz_v12插件制作題庫常見五類題型的技術(shù)標(biāo)準(zhǔn)。
<;E:\方正創(chuàng)藝5.1\Fit201412\圖\zzg圖3.tif>;
圖3 ?;moodle_quiz_v12模板
表3 ?;Moodle 2常見五類題型出題技術(shù)標(biāo)準(zhǔn)
[題型\&;技術(shù)標(biāo)準(zhǔn)\&;樣例\&;填空題\&;每道題只能有一空,答案用括號括起來放在Word文件里。填空題答案里不能包含無法通過鍵盤輸入的字符,如Word公式,上下角標(biāo)、圖形等等。\&;中國的首都是(北京)。
光在(真空)中一年所經(jīng)過的距離稱為一個光年。\&;判斷題\&;答案正確的和錯誤的題要分成兩類放置在Word文件里。\&;答案正確的:
0是整數(shù)。
1+1=2。
答案錯誤的:
地球是方的。
有翅膀的生物屬于鳥類。\&;單選題\&;第一個答案必須是正確答案,每道題按樣例排版(選擇項一行放一個),選擇項數(shù)量為任意個。\&;一周的第一天是( ?;)。
星期日
星期二
星期三
星期一\&;多選題\&;正確答案放在最前面,錯誤的答案放在最后面,之間用一個回車符分開,每道題按樣例排版(選擇項一行放一個),選擇項數(shù)量為任意個。\&;下面哪句描述正確( ?;)。
一周分為7天。
星期日是一周的第一天。
杭州是浙江省省會城市。
5不是自然數(shù)。
1+6=9\&;]
課程組將題目按上述標(biāo)準(zhǔn)在Word里創(chuàng)建好試題,交給技術(shù)組在moodle_quiz_v12模板中處理,導(dǎo)出XML文件。最后將此XML文件以“Moodle XML格式”的形式導(dǎo)入到Moodle 2平臺相應(yīng)的試題類別里就形成了Moodle 2題庫。
3 考試實施
考試是由考務(wù)組來實施的,包括:設(shè)置考場、抽題組卷、賬號管理和進(jìn)行考試四個環(huán)節(jié)。
設(shè)置考場就是在Moodle 2中建立一個“測驗”活動。表4是Moodle 2對考場的設(shè)置的十二個重點(diǎn)項,可見Moodle 2考試模塊功能之強(qiáng)大。
表4 ?;Moodle 2的考場設(shè)置項目
抽題組卷就是從靜態(tài)的題庫中將題目抽出來組成本次考試的考題。Moodle 2中可以指定題庫中具體某道題為本次考試題目,也可以要求系統(tǒng)隨機(jī)針對每個考生從題庫中自動抽題。題目抽好后,還需要給考卷中的每道題設(shè)置分值。
賬號管理包括導(dǎo)入賬號、分配角色和考生拍照三個環(huán)節(jié)。導(dǎo)入賬號就是導(dǎo)入課程組教師和考生的賬號信息到Moodle 2平臺中去,賬號表應(yīng)由username(賬號,通常用學(xué)號,只能包小寫字母和數(shù)字兩種字符)、password(密碼)、firstname(名)、lastname(姓)、email(郵箱)、idnumber(學(xué)號)、institution(機(jī)構(gòu))、department(部門)這八個字段組成,用UTF-8格式編碼,字段間以制表符分隔的一個文本文件。賬號表一次性導(dǎo)入到Moodle平臺后,默認(rèn)為“學(xué)生”角色。而課程組教師的角色則要設(shè)置為“無編輯權(quán)教師”,這樣,教師只能給試卷評分和導(dǎo)出結(jié)果,而無法修改試卷和學(xué)生的答案。導(dǎo)入的學(xué)生賬號,還需要以班級為名稱進(jìn)行分組;重要的考試,還要組織學(xué)生現(xiàn)場拍照。安裝PoodLL系列插件[8]可以輕松實現(xiàn)Moodle現(xiàn)場拍照;或者直接在Moodle 2的“網(wǎng)站管理/用戶/帳戶/上傳頭像”中上傳以“學(xué)號.jpg”命名的學(xué)生相片壓縮包*.zip。
為了防止考生修改重要信息,需要鎖定關(guān)鍵字段。
⑴ 在“網(wǎng)站管理-插件-身份認(rèn)證-人工帳號”中,將“名、姓、學(xué)號、機(jī)構(gòu)、系別”五個字段鎖定,非網(wǎng)站超級管理員就無法修改此五個字段。
⑵ 在“網(wǎng)站管理-安全-網(wǎng)站策略”中,勾選“禁用自定義頭像功能”, 非網(wǎng)站超級管理員就不能修改自己的頭像。
至此,可以組織學(xué)生到機(jī)房進(jìn)行在線考試了??记皩oodle 2服務(wù)器校時是一項非常重要的工作。筆者采用crond服務(wù)使Moodle 2服務(wù)器每天凌晨兩點(diǎn)整與上海交通大學(xué)網(wǎng)絡(luò)中心NTP服務(wù)器校時[9]。Moodle 2允許不同的科目同時考試,考試開始,學(xué)生用Firefox瀏覽器登入Moodle 2平臺,監(jiān)考老師把此場考試密碼告訴學(xué)生,學(xué)生方可打開試卷,試卷打開后,Moodle 2會自動為每個客戶端啟動一個獨(dú)立的倒計時器,時間一到,會自動關(guān)閉考卷。當(dāng)然,如果學(xué)生端的瀏覽器不小心關(guān)閉或電腦死機(jī),只要重新打開瀏覽器或更換一臺電腦登錄考卷繼續(xù)考試即可,而先前做題情況不會丟失。
為了提高考試的安全性和提高訪問速度,考試時通常將Moodle 2服務(wù)器網(wǎng)址臨時調(diào)整為內(nèi)網(wǎng)地址;為了減輕監(jiān)考壓力,還可使用限制程序運(yùn)行類軟件,使學(xué)生電腦只能運(yùn)行Firefox瀏覽器和允許使用的軟件。
4 成績管理
成績管理包括試題評分、導(dǎo)出成績、導(dǎo)出答題詳情表和導(dǎo)出成績分析表四個環(huán)節(jié)。
填空題、單選題、多選題和是非題是系統(tǒng)自動評分的,簡答題、論述題需要手工評分。但是,填空題有時候會有多個答案,為保險起見,建議評分人對判錯的填空題人工評閱。評分人可以在Moodle 2呈現(xiàn)的評分表里隨意修改任意題目的得分值。
評分工作完成后,教師就可以以班級為單位導(dǎo)出學(xué)生成績Excel文件。為了保留考試證據(jù),Moodle 2還允許教師導(dǎo)出答題詳情表留為檔案,方便學(xué)生查卷。
Moodle 2里充分使用了教育統(tǒng)計學(xué)方法,對每場考試提供了組成績平均分、成績次數(shù)分表;對每道題還統(tǒng)計了容易度指數(shù)、標(biāo)準(zhǔn)偏差、隨機(jī)猜測得分、預(yù)期權(quán)重、實際權(quán)重、區(qū)分度指數(shù)和區(qū)分效率,便于教育工作者能對考試質(zhì)量有針對性地改進(jìn)。
5 Moodle 2大規(guī)模在線考試實驗
2011-2014年,我校電子信息工程系在全國范圍內(nèi)率先依托本文提出的分布式高可用Moodle 2新平臺實施教考分離教改實驗(網(wǎng)址:http://61.164.87.150:5483/),針對十一門主干課程,成功地實施了四次大規(guī)模的在線考試。
實驗證實,由6臺蘋果iMac一體機(jī)(處理器:Intel?2.50GHz雙核心四線程、內(nèi)存:4.00GB,硬盤500GB)組成的分布式高可用Moodle 2架構(gòu)能輕松滿足1000人以上同時在線考試。在線考試激發(fā)了學(xué)生的學(xué)習(xí)熱情,有效防止了作弊,并徹底解放了教師勞動力,受到參與實驗師生的好評。該教學(xué)改革受到了上級領(lǐng)導(dǎo)肯定和表彰,先后獲得寧波職業(yè)技術(shù)學(xué)院第四屆教學(xué)成果一等獎和寧波市第六屆教學(xué)成果三等獎[10]。
6 結(jié)束語
本文全面總結(jié)了Moodle 2大規(guī)模在線考試的平臺架設(shè)和組織實施方法,并經(jīng)過了教育實踐的檢驗,驗證了其可靠性和有效性。
專著《Moodle大規(guī)模在線考試研究與實踐》將于年底前在人民郵電出版社出版發(fā)行,屆時敬請同行參考交流。
參考文獻(xiàn):
[1] 黎加厚:課程管理系統(tǒng)Moodle(魔燈)在中國的發(fā)展[EB/OL].<;http://
blog.sina.com.cn/s/blog_624df0fc0100onej.html.>;
[2] 曾棕根.基于WAMP的簡體中文Moodle架設(shè)與性能優(yōu)化[J].現(xiàn)代教
育技術(shù),2011.21(4):136-139
[3] 陳聲健.基于Moodle的在線考試系統(tǒng)的設(shè)計與實施[J].中國教育信
息化,2010.7:74-66
[4] 曾棕根.一種基于LNMP的Moodle 2分布式計算架構(gòu)[J].計算機(jī)時
代,2013.6:5-8
[5] 理解MySQL復(fù)制(Replication)[EB/OL].<; http://www.cnblogs.
com/hustcat/archive/2009/12/19/1627525.html.>;
[6] httperf官網(wǎng)主頁[EB/OL].<; http://www.hpl.hp.com/research/
linux/httperf/.>;
[7] moodle quiz template[EB/OL].<;https://moodle.org/mod/forum/
discuss.php?d=135112.>;
[8] PoodLL官網(wǎng)[EB/OL].<;http://poodll.com/.>;
[9] 在crontab中使用ntpdate同步時間 [EB/OL].<; http://www.2cto.
com/os/201207/144752.html.>;
[10] 曾棕根.Moodle災(zāi)難恢復(fù)與應(yīng)對計劃[J].計算機(jī)應(yīng)用與軟件,
2013.30(10):120-122