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