4 网络学习管理平台
一门课程的教学,应该包括课堂和课余两个时间段,长期以来,教师无法很好掌握学生的课余这个时间段,大部分教师只限于繁琐的收作业和改作业,无法与学生进行教学的交流,也无法在课余对学生进行教学的引导和管理。要解决这个问题,必须依托网络,为课程建立课程学习管理系统。商用的学习管理系统构建软件有Blackboard、WebC等,它们大都价格昂贵,软件本身的费用加上以后升级和服务的费用是许多学校难以承受的,其中美国BB(Blackboard,黑板之意)软件包是最著名的,但是,其价格极为昂贵,每套42.8万元人民币(以4000名注册学生的高校为例)。另外,由于商用软件不开放源码,用户的个性化定制要求很难实现。针对这些情况,使用开源的学习管理平台是一种绝佳的选择。开源的学习管理平台有很多,比如Albto、Sakai、Moodie等,笔者推荐使用Moodie。
Moodle是Modular objeet-oriented Dynamie Learning Environment(模块化面向对象的动态学习环境)的简称,它是澳大利亚Martin Dougiamas博士开发,免费、开源,全面体现大学最新课程理念,完全能满足学科教研人员远程网上教研和学生网上课程辅导需求。Moodie的重要特色是以社会建构教学法为其设计基础,教育者(老师)和学习者(学生)都是平等的主体,在教学活动中,他们相互协作,并根据自己己有的经验共同建构知识。Moodie基于PHP技术,后台采用MySQL数据库,系统界面简单、精巧,具有易安装、易使用、兼容性好、安全等特点,主要功能有:网站管理、用户管理、课程管理、作业模块、聊天模块、投票模块、论坛模块、测验模块、资源模块、问卷调查模块和专题讨论。它采用可自由组合的动态模块化设计,教师组织教学时就像搭积木一样简单有趣。Moodie支持多种教学模式,功能十分强大且发展迅速,迄今为止,有近百个国家2000余个机构 采用了Moodie网络教育平台。
5 作业检查和评测
《Linux程序设计》课程的作业主要是程序,通过Moodle的作业模块能让学生从网上进行作业的提交,但作业的评分和源代码抄袭检查就必须教师亲力亲为,这是最花费精力但又不得不做的事情,因此很多上程序设计课的教师往往布置作业尽量得少而精。如果要如上面说得那样要对学生进行压力教学,就必须帮教师很好地解决这两个问题。
笔者建议可以把这两个问题的解决整合到Moodle里。因为Moodle支持动态模块设计,教师可以通过自行开发相应的插件,使Moodle同时具备作业的提交、管理、评测和防抄袭功能。防抄袭插件开发时,为了节约开发时间,可以直接使用开源免费的源代码抄袭检查软件,这样就只需要在插件里设计源代码抄袭检查软件在Moodle里的使用和显示结果界面就可以了。源代码抄袭检查软件可以用斯坦福大学的moss,moss是专门为检测源代码抄袭而设计的,可以瞬间从数百份源代码中找出一对对的疑似抄袭,支持很多种编程语言,而且有很多非常贴心的功能。比如教师可以给出框架代码,学生程序中出现的框架代码会被忽略;可以设定n份学生程序中都出现的代码被自动忽略;有可视化程度非常好的结果显示。它还可以处理中文的纯文本文件。Moodle的评测插件开发也可以如防抄袭插件一样,使用ideone.com提供的免费Web服务,这个服务支持40余种编程语言的在线评测,只需要在插件里设计使用界面,所有的程序都是在ideone.com运行,对Moodle服务器来说很安全。
6 总结
《Linux程序设计》是一门教会学生在Linux下用C语言进行应用程序设计的重要课程。一个好的教师,要善于调动所有的可用资源,创造好的教学环境,大胆创新,采用科学合理的教学方法,才能达到良好的教学效果。本文从以上几个方面对该课程的教学作了一些探讨,虽然不一定符合所有从事该门课程教学的教师的实际情况,但总还是有所补益,能作一些教学的参考。
参考文献:
[1] 潘崇.谈高校计算机专业的Linux教学[J].丽水学院学报,2008(10):68-71.
[2] 陈晓岚.Linux环境下开源学习平台的应用研究[D].上海:华东师范大学信息学院计算中心,2008.