APP下载

Moodle 2大规模在线考试的实现方法

2014-04-29曾棕根吴志荣汪志达

计算机时代 2014年12期
关键词:在线考试分布式

曾棕根 吴志荣 汪志达

摘  ;要: 纸质考试耗费资源,反馈迟缓,题库管理困难,无法随机抽题,教师阅卷工作量大,为此采用Moodle 2的在线考试模块进行了大规模在线考试实验。实验表明,Moodle 2的在线考试模块稳定安全、功能强大,在各级各类教育考试中值得推广应用。文章从高性能Moodle 2平台构建、题库建设、考试实施和成绩管理四方面详细阐述了Moodle 2大规模在线考试的实现方法及应用要点。

关键词: Moodle; 分布式; MySQL复制; 大规模; 在线考试

中图分类号:TP399  ;  ;  ;  ;  ;文献标志码: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重写了在线考试模块,使得该模块更稳定、安全、易用、灵活、强大,在线考试模块已成为Moodle 2应用的重中之重。使用Moodle 2实现大规模考试,是一项系统工程,其流程包括平台构建、题库建设、考试实施和成绩管理。

本文全面总结了笔者过去几年在建设高性能Moodle平台、实施大规模在线考试中的研究与实验经验[2],希望能为Moodle 2平台在我国的全面推广应用提供一些实际帮助和参考。

1 构建高性能LNMP+Moodle 2平台

在线考试是一个并发性要求最高的网上操作,要求架设的Moodle 2服务器具有高性能、高并发特点[3]。为了满足大规模在线考试的性能需求,就必须建立高性能的LNMP+Moodle 2服务器基础平台[4]。如果250人左右同时考试,那么使用一台独立服务器运行LNMP+Moodle 2即可;如果250人以上同时考试,就必须投入更多的服务器。图1是笔者研制的一种基于LNMP的分布式、高可用Moodle 2系统,PHP-FastCGI服务器采用分布式计算架构,而MySQL服务器则为一个环形复制结构。

图1  ;分布式高可用Moodle 2服务器架构

图1中客户端通过Web浏览器访问Nginx服务器,Nginx服务器采用轮询或Hash等负载均衡算法将用户的访问交由一台PHP-FastCGI服务器进行处理,每台PHP-FastCGI服务器独享一台MySQL数据库服务器,而当一台MySQL数据库服务器完成一个改变数据库的SQL操作时,该操作会瞬时异步向下一台环向传递,使得这N台MySQL数据库服务器上的数据始终保持一致,实质上实现了写同步和读均衡的效果。图2是两台MySQL环形复制工作原理示意图[5]。

图2  ;两台MySQL服务器环形复制工作原理示意图

该MySQL服务器结构是一种横向扩展的弹性结构,可随时调整PHP服务器和MySQL服务器的台数,从而满足不同人数的考试需求。值得注意的是,由于在线考试对文件系统访问要求不高,所以,所有PHP-FastCGI服务器共享一台NFS文件服务器即可。

计算该架构服务器数量必须考虑以下两个因素。

⑴ 单台服务器并发能力,参考表1。

表1  ;单台PC服务器性能表

表1数据是采用HP实验室著名的服务器性能测试工具httperf[6]在苹果iMac一体机(处理器:Intel?2.50GHz双核心四线程、内存:4.00GB)上测出的。从表1可以看出,并发瓶颈在于PHP程序的处理。

⑵ 考生点击网页频度。假定考生每10秒点击一次网页,那么,一台PHP服务器可以满足:MySQL并发处理100个请求/秒×10秒=1000人同时在线考试。

由此推导出服务器需求表,见表2。

表2  ;不同考试规模PC服务器需求表

如果同时考试规模更大,可以使用Nginx作反向代理,将请求分流到多个相同的Nginx分布式高可用结构中,而所有的MySQL数据库服务器则作一个瞬时异步环向同步复制。

2 题库建设

题库建设包括创建试题类别、用模板创建试题和将试题的XML文件导入Moodle 三个步。

在Moodle中创建试题类别,可根据章节名称创建,也可以根据试题类别名称创建,如“填空题”、“单选题”、“多选题”、“是非题”或“简答题”等类别名称。Moodle 2支持多种题型,包括录音题。

试题类别规划、创建好后,便可以来制作题库了。直接在Moodle平台里一道一道制作题目,是一项非常耗时的工作,效率太低。

在Word中使用“Quiz authoring template for Microsoft Word” 插件简称moodle_quiz_v12(如图3所示)批量制作题库简单易行[7],能大大减轻工作量;而且,题目或答案中都可以有若干插图或Word公式。表3是使用moodle_quiz_v12插件制作题库常见五类题型的技术标准。

<;E:\方正创艺5.1\Fit201412\图\zzg图3.tif>;

图3  ;moodle_quiz_v12模板

表3  ;Moodle 2常见五类题型出题技术标准

[题型\&;技术标准\&;样例\&;填空题\&;每道题只能有一空,答案用括号括起来放在Word文件里。填空题答案里不能包含无法通过键盘输入的字符,如Word公式,上下角标、图形等等。\&;中国的首都是(北京)。

光在(真空)中一年所经过的距离称为一个光年。\&;判断题\&;答案正确的和错误的题要分成两类放置在Word文件里。\&;答案正确的:

0是整数。

1+1=2。

答案错误的:

地球是方的。

有翅膀的生物属于鸟类。\&;单选题\&;第一个答案必须是正确答案,每道题按样例排版(选择项一行放一个),选择项数量为任意个。\&;一周的第一天是(  ;)。

星期日

星期二

星期三

星期一\&;多选题\&;正确答案放在最前面,错误的答案放在最后面,之间用一个回车符分开,每道题按样例排版(选择项一行放一个),选择项数量为任意个。\&;下面哪句描述正确(  ;)。

一周分为7天。

星期日是一周的第一天。

杭州是浙江省省会城市。

5不是自然数。

1+6=9\&;]

课程组将题目按上述标准在Word里创建好试题,交给技术组在moodle_quiz_v12模板中处理,导出XML文件。最后将此XML文件以“Moodle XML格式”的形式导入到Moodle 2平台相应的试题类别里就形成了Moodle 2题库。

3 考试实施

考试是由考务组来实施的,包括:设置考场、抽题组卷、账号管理和进行考试四个环节。

设置考场就是在Moodle 2中建立一个“测验”活动。表4是Moodle 2对考场的设置的十二个重点项,可见Moodle 2考试模块功能之强大。

表4  ;Moodle 2的考场设置项目

抽题组卷就是从静态的题库中将题目抽出来组成本次考试的考题。Moodle 2中可以指定题库中具体某道题为本次考试题目,也可以要求系统随机针对每个考生从题库中自动抽题。题目抽好后,还需要给考卷中的每道题设置分值。

账号管理包括导入账号、分配角色和考生拍照三个环节。导入账号就是导入课程组教师和考生的账号信息到Moodle 2平台中去,账号表应由username(账号,通常用学号,只能包小写字母和数字两种字符)、password(密码)、firstname(名)、lastname(姓)、email(邮箱)、idnumber(学号)、institution(机构)、department(部门)这八个字段组成,用UTF-8格式编码,字段间以制表符分隔的一个文本文件。账号表一次性导入到Moodle平台后,默认为“学生”角色。而课程组教师的角色则要设置为“无编辑权教师”,这样,教师只能给试卷评分和导出结果,而无法修改试卷和学生的答案。导入的学生账号,还需要以班级为名称进行分组;重要的考试,还要组织学生现场拍照。安装PoodLL系列插件[8]可以轻松实现Moodle现场拍照;或者直接在Moodle 2的“网站管理/用户/帐户/上传头像”中上传以“学号.jpg”命名的学生相片压缩包*.zip。

为了防止考生修改重要信息,需要锁定关键字段。

⑴ 在“网站管理-插件-身份认证-人工帐号”中,将“名、姓、学号、机构、系别”五个字段锁定,非网站超级管理员就无法修改此五个字段。

⑵ 在“网站管理-安全-网站策略”中,勾选“禁用自定义头像功能”, 非网站超级管理员就不能修改自己的头像。

至此,可以组织学生到机房进行在线考试了。考前对Moodle 2服务器校时是一项非常重要的工作。笔者采用crond服务使Moodle 2服务器每天凌晨两点整与上海交通大学网络中心NTP服务器校时[9]。Moodle 2允许不同的科目同时考试,考试开始,学生用Firefox浏览器登入Moodle 2平台,监考老师把此场考试密码告诉学生,学生方可打开试卷,试卷打开后,Moodle 2会自动为每个客户端启动一个独立的倒计时器,时间一到,会自动关闭考卷。当然,如果学生端的浏览器不小心关闭或电脑死机,只要重新打开浏览器或更换一台电脑登录考卷继续考试即可,而先前做题情况不会丢失。

为了提高考试的安全性和提高访问速度,考试时通常将Moodle 2服务器网址临时调整为内网地址;为了减轻监考压力,还可使用限制程序运行类软件,使学生电脑只能运行Firefox浏览器和允许使用的软件。

4 成绩管理

成绩管理包括试题评分、导出成绩、导出答题详情表和导出成绩分析表四个环节。

填空题、单选题、多选题和是非题是系统自动评分的,简答题、论述题需要手工评分。但是,填空题有时候会有多个答案,为保险起见,建议评分人对判错的填空题人工评阅。评分人可以在Moodle 2呈现的评分表里随意修改任意题目的得分值。

评分工作完成后,教师就可以以班级为单位导出学生成绩Excel文件。为了保留考试证据,Moodle 2还允许教师导出答题详情表留为档案,方便学生查卷。

Moodle 2里充分使用了教育统计学方法,对每场考试提供了组成绩平均分、成绩次数分表;对每道题还统计了容易度指数、标准偏差、随机猜测得分、预期权重、实际权重、区分度指数和区分效率,便于教育工作者能对考试质量有针对性地改进。

5 Moodle 2大规模在线考试实验

2011-2014年,我校电子信息工程系在全国范围内率先依托本文提出的分布式高可用Moodle 2新平台实施教考分离教改实验(网址:http://61.164.87.150:5483/),针对十一门主干课程,成功地实施了四次大规模的在线考试。

实验证实,由6台苹果iMac一体机(处理器:Intel?2.50GHz双核心四线程、内存:4.00GB,硬盘500GB)组成的分布式高可用Moodle 2架构能轻松满足1000人以上同时在线考试。在线考试激发了学生的学习热情,有效防止了作弊,并彻底解放了教师劳动力,受到参与实验师生的好评。该教学改革受到了上级领导肯定和表彰,先后获得宁波职业技术学院第四届教学成果一等奖和宁波市第六届教学成果三等奖[10]。

6 结束语

本文全面总结了Moodle 2大规模在线考试的平台架设和组织实施方法,并经过了教育实践的检验,验证了其可靠性和有效性。

专著《Moodle大规模在线考试研究与实践》将于年底前在人民邮电出版社出版发行,届时敬请同行参考交流。

参考文献:

[1] 黎加厚:课程管理系统Moodle(魔灯)在中国的发展[EB/OL].<;http://

blog.sina.com.cn/s/blog_624df0fc0100onej.html.>;

[2] 曾棕根.基于WAMP的简体中文Moodle架设与性能优化[J].现代教

育技术,2011.21(4):136-139

[3] 陈声健.基于Moodle的在线考试系统的设计与实施[J].中国教育信

息化,2010.7:74-66

[4] 曾棕根.一种基于LNMP的Moodle 2分布式计算架构[J].计算机时

代,2013.6:5-8

[5] 理解MySQL复制(Replication)[EB/OL].<; http://www.cnblogs.

com/hustcat/archive/2009/12/19/1627525.html.>;

[6] httperf官网主页[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官网[EB/OL].<;http://poodll.com/.>;

[9] 在crontab中使用ntpdate同步时间 [EB/OL].<; http://www.2cto.

com/os/201207/144752.html.>;

[10] 曾棕根.Moodle灾难恢复与应对计划[J].计算机应用与软件,

2013.30(10):120-122

猜你喜欢

在线考试分布式
分布式光伏发展的四大矛盾
分布式光伏热钱汹涌
基于预处理MUSIC算法的分布式阵列DOA估计
分布式光伏:爆发还是徘徊
基于Java的考场管理系统的研究与实现
大学物理在线考试与分析系统
效率观下高校课程考试形式的改革探索
高职院校移动互联自主学习考试平台的设计与实现
基于iOS 平台的智慧课堂管理系统的设计与实现
大数据背景下在线评教与在线考试融合的思路探讨