基于开源Moodle平台的课程设计向导插件的设计与实现

来源 :中国教育信息化·基础教育 | 被引量 : 0次 | 上传用户:goodlyn
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:集开源与免费优势于一体的Moodle在线教学平台因功能强大而受到众多研究者与实践者青睐。然而,Moodle功能的多样化给许多新手教师造成了操作负荷。基于此,文章提出了支持常规课程编排需求的“课程设计向导”插件的解决方案,该插件具有便于操作、可移植等优势,以期为广大Moodle教师用户设计课程提供便捷。
  关键词:Moodle;课程设计;向导插件
  中图分类号:G434 文献标志码:A 文章编号:1673-8454(2017)02-0094-03
  Moodle作为一款著名的开源免费在线教学平台,其在建构主义教育理论基础上整合了许多新兴的社会性软件,如Blog、Wiki。此外,该平台遵循广泛的标准协议,允许用户在遵循GNU GPL协议的基础上根据自己的个性化需求自行设计开发功能插件。正是这些优越性,使得Moodle在我国各级各类学校的教学实践中得到广泛应用。
  一、问题的提出
  Moodle功能比较齐全,支持用户管理、课程管理以及平台管理三大模块30余项功能,基本能满足学生、课程教师、系统管理员的需求。然而,在实践应用中,其往往也给许多教师带来了不便:首先,教师添加资源和活动时须频繁打开“打开编辑功能”选项,影响了课程编辑的效率;其次,平台中的“添加资源和活动”列表菜单选项所对应的含义及功能很可能成为许多新手教师的棘手问题;另外,教学中需要用到的课程简介、教学目标要求、教学重点难点、课时安排、考核方式等一些基本课程信息,虽然也可通过Moodle现有的功能实现(如标签、网页),但对于初学者来说还需经过反复的测试练习才能体会到这些功能。
  事实上,教师应该把大部分时间精力投入在教学设计与教学内容上,若其将过多的时间花费在平台操作上,平台或许变成了教师的负荷,这样的教学也未必取得好的效果。基于此,本研究提出Moodle课程设计向导功能插件,旨在为广大Moodle教师用户设计课程提供便捷,同时也为Moodle插件开发实践者提供参考借鉴。
  二、Moodle平台下课程设计向导插件的设计
  1.设计思路与原则
  课程设计向导插件可通过接口整合、扩展开发的设计思路来实现。教师用户登录Moodle平台后,可通过该插件来添加课程公告、编写课程信息、添加教学大纲、添加作业、上传课件资料、编写作业、添加讨论区等。对于上述Moodle平台已经具有的部分功能(如作业、讨论区等),本插件通过相应的接口调用即可实现清晰的导航。而对于平台不具有的功能,如添加课程信息、教学大纲等,则需要在原有基础上扩展开发来实现。在此,本研究将Claroline平台导航清晰、操作简捷等特点融入本插件模型的设计中。
  插件设计需要遵循如下原则:①遵循Moodle平台的协议规范(如GNU GPL协议等)以及接口标准;②具有移植性、可扩展性。插件能在任何装有Moodle平台的机器上自动安装使用,并且数据信息不会因Moodle平台的擴充、升级而丢失;③实用性。注重从网络教学的实际需求出发来对插件功能进行设计;④易操作性。插件的界面、互动性等方面的设计注重用户体验。
  2.功能结构设计
  根据常规网络教学的需求,课程设计向导插件支持课程公告、课程简介、教学大纲、课程计划、课程讲义、教学视频等11项功能,其整体功能结构如图1所示。
  “课程公告”用于对课程动态信息的添加与编辑,该选项继承了Moodle中“新闻讨论区”的接口;“课程简介”用于描述课程的基本信息,包括内容简介、课程类型、授课教师、总学时以及课程学分等;“教学大纲”用于动态编辑与更新课程教学大纲,并可支持自动生成教学大纲表单的功能;“课程计划”为学生学习课程内容与进度安排提供依据;“课程讲义”支持教师上传课件资源包,继承了“连接文件和站点”接口;“教学视频”提供教师上传教学录像文件,它既可作为学生的复习教程,也可为学生提供自学教程;“课程作业”和“在线考试”都作为学生课程学习的评价依据,分别继承了Moodle平台中“作业”和“测验”接口;“学习论坛”、“小组协作”以及“聊天答疑”为师生间、学生间的交流互动提供了平台,分别继承了“讨论区”、“Wiki”和“聊天”接口。
  3.数据库设计
  依据上述“课程设计向导”插件的功能需求,在对Moodle平台现有数据表分析基础上需要扩展部分数据表。由图1可知,该插件涉及到课程公告表、课程简介表、教学大纲表、课程讲义表、教学视频表、在线考试表等。其中,在线考试、学习论坛、小组协作、聊天答疑数据表在原Moodle中已存在,因此我们需要创建其他几个数据表。在此,我们仅以课程简介表mdl_course_info和教学大纲表mdl_course_syllabus为例描述其表结构,分别如表1和表2所示。
  其中,id是表的主键,course_id课程编号是外键,通过Moodle平台中的全局变量$COURSE->ID自动获取。
  三、Moodle平台下课程设计向导插件的技术实现
  1.开发环境与开发工具
  由于Moodle平台主要采用PHP语言编程,数据库则采用了MySQL,因此本插件的开发主要基于WAMP环境(即Windows Apache MySQL PHP),以便其能更好地继承与移植。WAMP是一组常用来搭建动态网站或者服务器的开源软件的集合,其组成部分都是独立的程序,但因为常被放在一起使用,拥有了越来越高的兼容性,共同组成了一个强大的Web应用程序平台。开发工具主要使用Dreamweaver工具,该工具最大的特点是支持可视化编程,具有编程导向功能。
  2.主要技术及关键代码
  鉴于Moodle的协议标准及扩展接口定义规范,我们采用了面向对象的编程思想,通过调用Moodle类库中的函数来实现本插件开发。本例中插件的开发主要用到的关键技术包括定义接口、XML动态生成数据库表和创建语言包。   (1)定义接口
  插件能在任何Moodle平台下移植并自行安装运行的前提条件是它必须符合Moodle已定义好的接口规范,而该接口规范则是通过调用Moodle类库里面block.php内定义的upgrade_blocks_plugins()函数实现的。本例实现方法如下:
  第一步,在moodle/blocks文件目录下创建course_guide文件夹,并在该文件夹下创建三个子文件夹,分别命名为db、pix和lang(db用来存放数据库更新文件、pix用来存放向导图标文件、lang用来存放语言包)。
  第二步,在course_guide文件夹中创建block_course_guide.php文件(说明:此文件需以“block 文件夹名”来命名,其中block是插件文件标示符)。
  第三步,在block_course_guide.php文件中创建block_course_guide接口类,该类通过继承父類block_base或block_list中的get_content()函数来实现页面内容的显示。实现的关键代码如下:
  class block_course_guide extends block_list {
  //继承block_list类
  function init() {$this->title = get_string(’course_guide’); //初始化}
  function get_content() {
  //判断用户权限,如果是教师用户则可以编辑
  if (!has_capability(’moodle/course:update’, $currentcontext)) {
  $this->content = ’’; return $this->content; }
  $this->content->items[]=’wwwroot.’/blocks/course_info.php?id=’.$COURSE->id.’">’.get_string(’courseshortinfo’).’’;
  …}
  }
  (2)XML定义数据库表
  数据库表的安装接口是通过blocklib.php文件内定义的upgrade_blocks_plugins()函数来实现的。通过调用该函数可以在MySQL数据库中自动创建数据表,而非人为来创建,增加了插件移植的灵活性。实现方法如下:
  第一步,在db文件夹下创建一个XML文件和两个PHP文件,分别命名为install.xml、mysql.php和upgrade.php。其中XML文件用于定义数据库表的结构,mysql文件用于进行数据库更新的初始化工作,upgrade文件提供数据库操作的接口并执行XML文件。
  第二步,在XML文件中定义数据库表,其关键代码如下:
  
   //创建mdl_course_info表
  
   //定义表格字段
  
  
    
//设置主键
  
  
//创建mdl_course_syllabus表
  
    
  第三步,在upgrade文件中通过调用$table=new XMLDBTable(’mdl_course_info’)函数和$table=new XMLDBTable(’mdl_course_syllabus’)函数来执行XML中定义的两个数据库表。
  (3)创建语言包
  Moodle平台界面语言一般通过调用lang语言包中的文件来实现,对语言的定义需遵循如下规则:“$string[’参数’]=’文字’;”语句用来定义文字,“get_string(‘参数’);”语句则输出定义的内容。
  在本实例中,语言包的创建大致分为三步:首先需要在blocks/course_guide/lang文件目录下面创建文件夹并命名为zh_cn_utf8;然后在zh_cn_utf8文件夹中创建block_course_guide.php;之后在block_course_guide.php文件中定义向导中显示的中文汉字,如“课程公告”和“课程简介”的定义语句分别为“$string[’course_bulletin’]=’课程公告’;”和“$string[’course_description’]=’课程简介’;”。
  3.实现效果
  通过上述的设计开发,课程设计向导插件的实现效果如图2左侧所示,教师用户单击插件中菜单导航选项即可进入相应的编辑页面。因文章篇幅有限,在此仅以“课程简介”为例,其编辑页面效果如图2右侧所示。
  四、结束语
  当前Moodle开源教学平台在我国许多中小学以及部分高校广泛应用,并取得了较好效果。针对教师用户操作负荷问题,本研究通过对Moodle平台现有功能梳理与重组,扩展开发了“课程设计向导”功能插件,其为教师编辑课程提供便捷,进而在一定程度上提高了备课效率。文章对课程设计向导功能插件的开发过程和关键技术进行了阐述,以期能为相关研究者提供参考借鉴。
  参考文献:
  [1]Moodle’s developer documen[DB/OL]. http://docs.moodle.org/en/Developer_documentation.
  [2]Moodle官网.XMLDB解析[DB/OL]. http://docs.moodle.org./en/Development:XMLDB_introduction.
  [3]Claroline官网[DB/OL].http://www.claroline.net.
  (编辑:鲁利瑞)
其他文献
说明:本部分要点有:1.碳的单质.2.碳单质的化学性质.3.二氧化碳的性质、制法及用途.4.一氧化碳的性质及用途.5.常见的有机化合物.重点是2、3、4.同学们阅读课本中第五章有关内容,可在“知识
电流所做的功叫做电功,其实质是电能转化为其它形式的能。
随着计算机技术、网络技术的飞速发展,高校图书馆读者用户个性化的信息需求越来越明显。我国高校图书馆传统的服务模式已经不能满足读者用户的个性化信息的需求。网络环境下的
论文写作的过程中,"阅读"和"文献"是必不可少的两个要素。可以说,阅读和文献是写作的基本,阅读是贯穿整个写作的所有过程,而文献则是写作过程的物质基础。然而究竟什么是阅读,什
一、北京航空航天大学信息化历程北航的信息化建设经历了三个阶段:(1)基础设施建设阶段(7年):1994年12月开始网络1期建设;1997年9月进行网络2期建设:2001年12月进行网络3期建设。此阶
城市增长和城市最佳规模理论是城市发展的经济学理论基础,该理论对城市发展规划具有重要的指导意义。文章通过对有关城市增长的理论的阐述,分析了城市最佳规模理论对城市发展
新课程标准提倡科学探究学习,探究模拟型课件可以为科学探究创设良好的环境,有效地引导探究活动。文章以小学科学探究模拟型课件《血液循环》的设计为例,分别从模拟的真实度
关于职教课程改革建设的思考范向阳编者的话:中等职业教育课程体系的改革和教材建设,是涉及职业教育改革与发展全局的重要工作,也是关系到我国21世纪劳动者整体素质的大事。为了落
期刊论文基于开源Moodle平台的课程设计向导插件的设计与实现发表于2017年1期中国教育信息化·基础教育作者赵学孔 龙世荣,本篇论文的所有权归原作者赵学孔 龙世荣所有,如果您对本文有版权争议,可与客服联系进行内容授权或下架。