基于开源DRUPAL移动在线学习管理系统开发设计

2018-07-13 01:40周化钢任其达
软件 2018年6期
关键词:题库教学资源管理系统

周化钢,刘 昊,任其达

(南宁学院 信息工程学院,广西 南宁 530200)

0 引言

互联网,计算机和通信技术的发展,让许多传统行业发生革命,例如,电子商务改变了人们购物的习惯,移动通信让传统的固定电话逐步消失,计算机低功耗CPU技术,触摸屏和操作系统的发展,出现了智能手机,依托这些最新的技术,到了2013年,随着MOOC(大规模在线课程)的出现,引发了教育领域一场在线教育革命[1],并演化出了微课程,翻转课堂,SPOC(小规模私有在线课程)平台和O2O线上线下混合教学等学习模式。例如,中国人民大学就开始尝试采用SPOC教学平台,体验到SPOC教学平台的好处[2]。

在线教育和智能手机的结合,带来了移动在线学习管理工具的需求,成为研究开发热点,例如,哈尔滨工业大学的魏洪伟团队,开发了“基于Android平台的互联网+移动学习系统”[3],大连理工大学高卓立的“基于移动终端的在线教育的设计与实现”[4],及山西大同大学国家自然科学基金青年科学基金项目“基于 Android的移动在线教育平台的设计与实现”[5]。通过分析现有的系统和大家的设计思想,本课题主要研究目标是针对自己学校的特点,开发一个适合本校的移动在线学习管理系统。

1 在线学习管理系统分析

1.1 在线学习管理系统的功能研究

首先,我们分析比较两个流行的在线学习管理系统,超星的学习通和清华大学的雨课堂(https://www.yuketang.cn/)。在线学习的主要功能如表1所示:

表1 在线学习主要功能Tab.1 E-learning main functions

除了在线学习管理的基本功能外,其他增强功能如表2。

表2 在线学习的其他功能Tab.2 E-learning other functions

这两个流行在线学习管理系统功能非常强大,但是,美中不足的是,无法根据学校的教学管理模式进行定制,虽然两个系统都有绑定学校功能,其实就是与学校教务系统对接,获取学校教务信息,试图打造某一个学校的在线学习管理系统。但是,这种公用设计的系统,仍然无法解决学校教学管理的特殊性。所以,根据每一个学校的特殊性来开发一个在线学习管理系统是必要的。

1.2 在线学习管理系统的开发模式和可行性分析

我们从以下三个方面对在线学习管理系统的开发模式、开发灵活性,难易程度等方面进行分析:

(1)利用国外针对教育的开源学习管理系统,例如,LMS(Learning Management System)开源学习管理系统、VLE(Virtual Learning Environment)开源虚拟环境学习系统、CMS(Course Management System)开源的课程管理系统和 LCMS(Learning Content Management System)学习内容管理系统,而最著名的开源在线学习管理系统是 Moodle(moodle.org),被广泛应用于大中小学教育系统,2016年四月还发布了Moodle Mobile 3.0,进入移动学习领域。例如,文献[6][7]采用Moodle平台构建的系统。虽然以上系统是针对教育领域的,但是,灵活性差,要定制自己的功能比较难。

(2)完全自主设计开发一套在线学习管理系统,通过调研发现,这个是国内目前采用最多的开发方法。“并且还有本科生、硕士生、博士生,他们都乐于选择这一领域作为毕业论文研究课题”[8]。例如,近几年许多硕士论文都是侧重于自主开发的系统,其中有基于HTML5的WEB移动学习平台设计与实现[9-11],基于Java Web和Struts 2+Spring+Hibernate框架的在线学习系统的设计与实现[12-14],基于云服务的教师教学网站的设计与实现[15]。自主开发,耗时费力,开发出来的功能不规范,或不完善,推广应用难。

(3)利用开源内容管理系统(CMS)开发,目前国内外比较流行的CMS系统有Drupal, Wordpress和Joomal。CMS系统的优势是模块化,灵活应变,基本不需要编写计算机代码就可以开发一个门户网站,甚至可以构建某一领域的应用系统。通过知网关键字“Drupal”搜索发现,比较多的高校领域更倾向于采用Drupal平台来开发教育应用系统[16]。

1.3 Drupal开发在线学习管理系统的优势

Drupal的生态圈非常大,通过官网(https://www.drupal.org/project/ project_module)统计分析,到2018年3月,Drupal社区贡献了共有39,987个模块。特别是Drupal 7的教育类模块就有115个之多,其中就有著名的Quiz模块,可以轻松地用来构建作业和考试题库,其包含所有题库类型如选择题,对错题,填空题,问答题等等。此外,还有半成品的在线学习系统模块,如Course,用来构建商业化的在线课程学习系统,功能包括课程购买,注册,听课记录,证书发放,学分管理,学习统计报告等等强大功能。但是,为了结合本校的教学管理方式,本课题选择了用Drupal[17]核心及第三方模块,用来开发一个根据本校教学管理模式定制的在线学习管理系统。

2 系统总体结构设计

系统整体结构由课程小组(教学班)组成,一个课程小组又包含四个基本核心模块:群广播通知、课程作业(测验、试题)、教学资源库(标准题库、课件库和视频库等教学资源),和课程讨论区组成。如图1所示。

图1 系统总体结构Fig.1 The system main structure

课程小组(班级)采用Organic Groups模块,用 Quiz模块创建课程作业,和标准题库,用Notification模块创建群广播通知,用 Taxonomy模块进行课程分类,专业分类,和班级分类。课程资源库包括课件,视频等多媒体教学资源,这些资源文件上传下载是由Drupal的核心模块完成。

3 用户管理

3.1 用户角色和权限

用户角色定义:学生,老师,题库管理员,系统管理员。具体权限如下:

· 学生:加入课程小组(班级),做作业,查看作业成绩结果,讨论区发表提问。

· 老师:创建课程小组(班),创建发布作业题,管理班级学生,查看作业统计成绩,群发广播通知。

· 题库管理员:创建、管理课程库,录入课程标准题库,其他教学资源管理。

· 系统管理员:系统设置,管理用户注册及赋予权限。

3.2 用户注册

可以选择学生或老师角色,学生,老师注册信息会有所不同。具有题库管理员角色的用户由系统管理员创建。老师注册需要系统管理员确认。注册界面如图:

图2 注册界面Fig.2 The register UI

4 课程小组管理

老师注册登录成功后,可以创建课程小组(教学班级),老师在自己的课程小组中发布新的作业,和自己制作的课程视频,课程课件,发讨论帖,回答学生问题,及在课程小组群发通知。在课程小组中,老师和学生和课程小组用用例图描述如下:

图3 老师,学生,课程小组,课程作业的用例图Fig.3 The user case of teacher, student, class and assignments

老师创建一个课程小组,相当于一个教学班级,创建课程小组界面如图:

图4 创建课程小组Fig.4 Creating course group

5 题库设计

一门课程的核心模块,除了教学视频,课件外,最重要的模块是题库(作业、测验、和考试)设计[18],而Drupal社区就有一个著名的在线教育的核心题库模块Quiz。

5.1 Quiz模块

著名的Quiz模块(https://www.drupal.org/project/quiz/)提供的题型非常多,目前最新版本有以下题型:

· True or false(判断题)

· Multiple choice(选择题)

· Short answers(填空题)

· Long answers(问答题)

· Scale(量表题)

· Question directions(导向题)

· Matching(匹配题)

· Drag and drop(拖拽题)

· 通过下面插件,还可以实现更多题库功能:

· H5P questions –添加基于HTML5的更多题型。

· Charts –考试,作业结果统计图。

· jQuery Countdown –考试,测验计时器。

· Views Data Export –批量导出答题结果。

5.2 标准题库建设

一门课程,必须有一个通用的标准题库,作为在线考试或在线作业布置的资源。标准题库建设,更符合一个真实学校的教学管理模式,而很多慕课平台、SPOC平台是没有提供标准题库功能,包括我们前面提到的超星的学习通和清华大学的雨课堂。有了标准题库,如果一门同样的课程分成两个教学班,分别由A老师和B老师上,那么,A老师和B老师都可以从标准题库中创建和布置作业,这样,可以控制学习资源的统一,而不会因为同一门课,不同老师上课产生过大的差异。这就是公开课慕课学习平台和学校教学学习平台的区别。

创建课程题库或作业界面如下:

图5 题库创建Fig.5 Creating question bank

有了标准题库,老师就可以发布作业,学生通过课程小组在线做作业,下面是一个选择题的答题界面:

图6 选择题的答题界面Fig.6 The UI of choice question

6 课程与班级关系

我们在设计上,把课程和班级都看成容器,用Organic Groups群组模块实现。课程里面存放的是标准题库,课件库,视频库,及其它教学资源,而班级,在我们系统里称之为课程小组,是课程的子容器(相当于面向对象的子类),继承了课程容器的所有资源,这种设计方式,主要是实现两个现实教学管理目标:

(1)实现并解决了同一门课的教学资源共享问题。例如,《C语言程序设计》课程,课程容器建有一个标准题库、课件库,视频资源库等教学资源,一个学期可能会分成三个教学班上课,那么,系统可以从《C语言程序设计》课程容器发布教学资源给三个课程小组(教学班)A,B,C使用,同时,课程小组A的老师制作的教学资源也可以在其他课程小组相互分享,发布给课程小组B和C。如图所示:

图7 一门课的教学资源、标准题库共享Fig.7 The share of teaching resource and general question bank in one course

(2)实现课程团队的协同工作。一门课程的标准题库、课件和视频由课程负责人创建,课程团队老师加入到课程容器,课程负责人和课程团队老师被系统管理员授予题库管理员权限。他们可以随时修改,添加课程容器里面的教学资源,或者从授课老师的课程小组里面将新的教学资源发布回课程容器。

课程和班级关系的设计如下面用例图所示:

图8 课程和班级的关系用例图Fig.8 The relationship of course and class within user case

7 作业、测验和在线考试统计

题库的统计功能是通过Charts模块做出的饼形图,棒形图。如下图8是一个课程小组(班级)在线作业的成绩统计图,图9A列出90分以上的学生名字和成绩,图9B是60分及格、不及格及未能完成测试的分布,图9C是80-90分的学生有54人,60-80分有39人,40-60分有14人,20-40分有4人,0-20分有24人。

图9 A 最高分获得者统计Fig.9A The top scorers

图9 B 测试通过率分布Fig.9B The distribution of test result

图9 C 成绩区间分布统计Fig.9C The distribution of scores

8 群广播

通过Notification模块,就可以在一个课程小组(班级)群发送电子邮件通知,界面如图:

图10 群发电子邮件Fig.10 The group notification by email

9 课程讨论区

创建的课程小组就是相当于QQ的群概念,小组成员包括学生,老师都可以在课程小组发帖,展开问题讨论,讨论区用例图如图11所示。

10 移动设计

Drupal的强大之一是不仅仅是一个CMS系统,还有很多基于移动设备的模块,通过Mobile Theme模块+Mobile主题的引入[19],Mobile Theme模块实现移动设备检测和移动浏览器识别来切换到Mobile主题,而不用分别开发 PC和移动的两套系统。只要添加上面两个模块就可以做到移动响应式布局效果,并在PC和移动设备之间切换主题界面。

图11 讨论区用例图Fig.11 The user case of forums

11 结语

11.1 未来研究方向及存在问题

我们利用Drupal这个开源CMS系统,结合高校具体的教学模式,进行系统设计,利用Drupal的各种现有模块巧妙地组合搭配和设置,成功开发了一个具有基本功能的在线学习管理系统。在开发过程中,还有一些问题需要解决,主要在这几个方面:

(1)中文化问题。由于 Drupal是一个国外开发的CMS系统,虽然,中国的开发人员无私奉献了Drupal核心模块的翻译,但是还有很多模块没有完全中文化,幸好,Drupal提供了手工翻译功能,无需第三方帮助,系统开发者自己可以做到完全中文化界面翻译。

(2)与中文社交网络接口问题。一个在线学习管理系统,如果要建立广泛的生态环境,需要与现有的社交网络应用互动的接口,例如,把学习内容分享到微信和QQ上。虽然,中国的开发者在努力提供了Drupal相应的社交模块,但是模块功能不是很全,版本更新比较慢。如果自己开发相应接口模块,花费时间和人力太大。

(3)系统子域名管理问题。系统设计完成后,随着老师注册进入系统逐渐增多,课程分类,班级管理出现很大问题,我们提出的解决方法是系统按二级学院分成独立的子系统,这样,信息工程学院的子系统,基本是本学院老师和学生注册,课程也是按信息工程学院人才培养方案的教学大纲进行分类,管理趋于合理化。而Drupal系统是允许实现多站点(Multi-Site-Sharing)管理,共享一套基本代码,使用不同的数据库和配置文件管理子系统,减少管理复杂性。也可以考虑Subdomain模块,提供一个更简单的解决方案。

未来,我们将在下面几个方面对系统进行改进:

(1)加强数据分析的功能。除了在线作业、测验的成绩统计分析,通过视频观看,课件下载量或在线阅读时间等方式,及学生在课程讨论区的提问和跟帖数据,分析学生学习行为。

(2)更多地利用移动技术优势。例如,二维码+地理位置签到考勤,手势签到,人脸识别,在线问卷调查,弹幕互动等等。

(3)加强碎片化教学资源的分类整理。教学资源,除了传统的自己制作的微视频,课件外,互联网上也包含有丰富的学习资源,Drupal提供了强大的多媒体内容管理功能,很容易将YouTube,土豆,优酷等等视频网站资源链接进来。

(4)加强课堂管理功能[20]。我们的系统实现了PC和移动端的自动切换功能,在多媒体教室环境的课堂上,利用在线学习系统实现老师使用 PC机,学生使用手机进行互动。

(5)与现有的在线学习管理系统衔接。前面提到的雨课堂和学习通,在高校领域有了一定的市场,利用这些现有的在线学习系统资源整合到我们的系统[21],建立一个良好的在线学习系统生态圈。

总之,利用Drupal社区丰富的模块生态圈,基本满足实现大部分功能。甚至,通过Drupal提供的模块开发接口,编写代码实现自己的设计思想,来达到构建一个更高层次的商业级系统。

11.2 开发小结

我们不用写代码,就可以设计完成一个拥有基本功能的在线学习管理系统,对于学校老师来说,这个系统的成本低,开发效率高,使用简单,容易上手。更容易根据学校教学管理特点来定制自己的在线学习管理系统,由于使用开源的Drupal开发,可以免费地推广应用到各个学校,不用担心版权问题。

猜你喜欢
题库教学资源管理系统
基于James的院内邮件管理系统的实现
“勾股定理”优题库
“轴对称”优题库
“轴对称”优题库
基于LED联动显示的违停管理系统
海盾压载水管理系统
初中语文数字化教学资源应用探索
初探教学资源开发的系统思维
临床实验教学中教学资源的整合优化与应用
基于RFID的仓储管理系统实现