复旦大学:以Sakai设计网络教学平台

2013-09-10 06:45文/高
中国教育网络 2013年5期
关键词:复旦大学开源社区

文/高 君

随着信息技术在我国高校的深入应用,以及网络化教学的逐步推进,许多高校都采用了网络教学平台作为日常教学的一种辅助手段。在传统的教学模式中,教师和学生在固定的地点(教室),固定的时间(上课时间)进行一对多的传授,这种模式限制了学习的时间和空间。随着社交网络、移动终端等科技的发展,现在的学子们已经是e时代的学生,他们从小特别熟悉网络环境,熟悉各类电子产品的操作。他们在正式的上课场合可能表现得非常内向、保守,不愿意在课堂上回答教师的问题或者表达自己的意见;但当他们处在虚拟化的网络世界时,一切顾虑和羞涩都会被抛在脑后,他们会对所有感兴趣的话题侃侃而谈,他们愿意在深夜打开网络查看同学的讨论、完成作业,他们愿意随时随地通过手机查看课程的新内容。网络教学平台拓展了教学的时间与空间,有助于加强师生之间的交流,提高教学效果。而如何经济、快速、高效地建立起一套适合高校自身业务流程的网络教学平台并将其用好,是国内各高校普遍面临的问题。

系统构建三种方式

在实践中,各高校在搭建网络教学平台时,主要采取了以下三种方式:

1. 直接采购商业产品

目前国内外都有较为成熟的商业网络教学平台,例如Blackboard和清华教育在线。这些商业产品能够帮助高校快速地完成相关系统的部署,并且高校不需要投入人力到系统的开发中去,避免直接解决相关技术问题,只需要与相关服务商沟通具体的使用需求即可。但这些商业产品往往价格不菲,而且需要按年支付服务费用。当高校需要根据自身业务流程定制功能时,服务商可能不愿意单独为某个学校进行开发,或者可能会索取高昂的开发费用,给高校带来较大的经济负担。

2.完全依靠自身力量进行开发

国内某些高校自身拥有一支独立的开发团队,可以完全依靠自身的力量,结合实际业务需要定制开发一套网络教学平台。由于整个系统都由高校完成,所以开发出来的系统对高校已有业务的集成程度很高,可以充分满足各种独特需求。清华大学、新加坡国立大学采取的都是这种模式。

然而,能够维持一支独立开发团队的高校毕竟是少数,同时这支队伍既要编写出符合业务需求的系统,又要保证系统的健壮性和稳定性。复旦大学于2004年通过完全自主开发的方式建设了“虚拟校园”系统。但到2010年时,由于维护成本和开发成本显著上升,最终放弃了这种开发模式。

3.使用开源的课程管理系统

随着开源运动的兴起,出现了一批如Sakai(http://sakaiproject.org)、Moodle(http://moodle.org)这样的开源网络教学平台。由于这些开源软件一般也是免费软件,所以采用这些软件会大大减少相关高校的软件采购投入,减轻高校的资金负担。但是,要将这些开源软件用好,往往需要配套一批熟悉技术的相关人员进行系统保障;同时,这些开源软件的开发者主要来自于西方国家,他们对于国内高校的相关需求了解不足,界面与文档的中文支持也有所欠缺,甚至还存在一些仅存在于中文环境下的问题。如果需要针对高校已有业务流程进行二次开发,开始的学习曲线较为陡峭,在没有指导的情况下会比较困难。国外使用这些开源软件的高校一般会组成一个社区,相互交流使用经验、分享开发模式、协调新功能的开发、沟通软件中的问题、提供相应的补丁,以互惠的方式进行合作。而国内目前缺少这样的组织,所以每个高校在采用开源软件时,都需要重复一次学习过程,探索开发模式,使得开源软件的应用效果与国外相比存在明显差距。

复旦大学自2010年起对Sakai系统进行有针对性的研发,根据复旦大学既有的业务流程,对Sakai系统进行了二次开发。截至目前,复旦大学在Sakai的开发上积累了大量的经验,希望能够在国内建立相关的社区组织,提供更加符合国内情况的系统,降低其他高校在采用同样解决方案时的难度,共同推动Sakai系统在国内的应用。

Sakai系统简介

Sakai系统于2004年由印第安纳大学、麻省理工学院、斯坦福大学、密歇根大学等高校合作开发。全世界超过300所高校使用Sakai系统,其中包括许多世界一流大学,如哥伦比亚大学、牛津大学、剑桥大学、加州大学伯克利分校、耶鲁大学等。目前项目的开发主要依靠社区成员(包括高校、商业公司、志愿者)和Sakai基金会。

Sakai系统提供了网络教学中的许多常见功能,如课程大纲、发布通知、发放课件、在线作业与考试、在线讨论、花名册、站点统计等。能够满足各类教学的需要。此外,Sakai社区中还有许多高校为特定目的开发的第三方工具(如LDAP认证、CAS集成)可以直接使用。

Sakai社区相当活跃,系统的发展方向、问题汇总等几乎都在社区内完成,保证了Sakai的需求直接来自于高校,开发人员也部分来自于高校,最终问题修正的确认也有高校完成。大量的部署实例保证了Sakai在系统配置方面的易配置性,以及良好的扩展性。目前使用Sakai系统的高校中,用户最多的是印第安纳大学,拥有超过13万的活跃用户,使用10台服务器搭建系统集群。

国内的Sakai应用尚处于起步阶段,从图1这张Sakai部署地图来看,大多数的部署都集中在欧美,中国范围内的部署案例还相当少。

复旦大学Sakai应用现状

图1 Sakai部署情况

图2 2012年下学期的每日用户登录情况

复旦大学于2010年以Sakai系统为基础,搭建了新一代的校内网络管理平台eLearning(http://elearning.fudan.edu.cn)。系统于2010年秋季学期开始试运行,2011年春季学期开始正式使用。目前,累计使用过系统的用户超过2万人,累计开设了超过1500个课程站点,覆盖近2000门课程;在没有任何奖励与惩罚措施的情况下,本学期有超过20%的本科生课程使用此系统作为教学的辅助手段,开通了课程站点。无论从应用的范围还是开设的课程量来看,复旦大学eLearning系统都居于国内Sakai应用的前列。表1是系统投入正式使用以来的开课情况。

图2是2012年下学期的每日用户登录情况。系统的日均独立访问用户约为2500~3000人(7日平均),日均访问量约为4500~6000人次,单日独立访问用户最高约为3500人。作为参考,目前复旦大学的所有本专科生、研究生人数总共约为3万人。考虑到教师数量相对学生较少,以及研究生课程因教学性质而较少使用网络教学平台,目前的数字已经能够说明学生(尤其是本科生)使用网络教学平台的频率已经相当高。

从每小时用户登录情况统计结果来看,最高的小时登录人数达到560人。从实际监控情况看,同时在线人数最高达到600人。系统的登录高峰在20:00至23:00,很少有传统的教学活动在这个时间段内进行,网络教学平台的使用时间与传统教学的时间段是互补的,网络教学平台的使用拓展了教学的时间,为教学提供了另一片空间。

图3是系统自试运行以来用户登录规律图,图中使用不同的颜色标记用户每周登录系统的次数。在使用系统的用户中,超过60%每周登录系统2次以上,约50%每周登录系统3次及以上,约20%每周登录系统5次或以上。考虑到正常的课程教学一般每周只有2次课堂教学时间,对于许多用户而言,网络教学平台的使用时间已经超过了课堂教学的时间。

表1 系统投入使用以来的开课情况

Sakai系统本地化开发

如果对Sakai系统进行功能验证,那么直接使用Sakai社区提供的二进制版本直接部署就可以满足需要。但如果要将Sakai系统在中文环境下用好,并且与已有的校内各类业务数据及流程进行整合,让其更好地提供教学服务,那就必须针对高校的具体情况进行二次开发。

由于Sakai系统的主要开发者的母语多属于印欧语系,对于东亚地区的语言文字缺乏必要的了解,所以在开发时也较少考虑中文环境的特殊情况。由此,Sakai中存在着一些仅存在于中文环境下的特殊问题,如PDF导出、E-mail通知发送等。复旦大学通过近几年的实践,逐步解决了这些问题,并且将相关补丁反馈给了Sakai社区,形成了良好的互动。此外,由于Sakai在中国大陆的部署实例还较少,再加上这些先期部署的高校并没有将相应的页面、文档等翻译反馈给社区,导致Sakai官方版本的简体中文支持较差。随着最近几年复旦大学逐步将相关内容汉化,并反馈给Sakai社区,简体中文的支持度已经大大提升。

对于学生规模较小,课程数量也较少的高校而言,或许可以通过完全手工维护的方式,管理用户名单、课程名单、选课名单。但是对于中等规模以上的高校而言,完全手工维护会带来大量的重复机械劳动,并可能产生一定的误操作。如果考虑到有些业务数据可能在学期内会发生变化(如选课信息),那么完全手工维护就成了一项完全不可行的操作。所以,有必要将Sakai系统与校内已有的数据进行整合,减轻管理员的日常工作,避免误操作。

图3 用户登录Sakai的规律

Sakai系统提供了两种与既有系统集成的方式,即“推”和“拉”两种。前者通过Sakai系统提供的Quartz自动任务定期将其他业务系统的数据推送到Sakai系统中来;后者是通过实现Sakai系统中的各个相关接口,当系统需要相关业务数据时,直接到业务系统的数据库中进行读取操作。在复旦大学,由于牵涉到的业务系统较多,规则配置复杂,所以我们不使用“拉”的方式,而是采取“推”的方式进行数据同步。基本流程如图4所示。复旦大学通过现有的共享数据平台,先将其他业务系统中的相关数据进行集成,然后将数据推送到eLearning系统(Sakai)的同步到数据库中,然后通过Quartz提供的计划任务每天将这些信息定期更新到Sakai系统中来。通过这种方式,我们向eLearning系统中同步了本科生、研究生、留学生、教职工、博士后、附属医院医生的基本信息,以及本科生和研究生的课程信息、开课信息、选课信息,使得校内发生的任何人员变化、课程变化和选课变化都能够即时同步到eLearning系统中。

图4 采取“推”的方式进行数据同步的基本流程

在系统整合方面,目前复旦大学所完成的主要还是从其他系统中获取相关基本信息,而Sakai系统本身其实提供了非常易于拓展的接口来实现更多更加强大的功能。例如在Sakai系统中汇总成绩,然后将成绩反馈给教务系统,实现数据互通,甚至可以将Sakai改造后包含选课的功能。其他高校完全可以根据自己的实际需求来进行相关开发。

Sakai复旦共享版

复旦大学在部署Sakai的过程中,积累了大量的经验,修正了原有系统的许多问题,同时针对国内高校的具体情况,开展了大量的开发工作。我们希望能够借鉴Sakai社区的运作方式,以高校互相协作的方式,推动Sakai系统在国内高校的应用。为此,复旦大学于2012年4月推出了Sakai复旦共享版(http://sakai.fudan.edu.cn)。

其主要特点如下:

1. 基于Sakai项目的官方版本,并随着官方版本升级,可以及时获得官方版本中的新功能和新补丁。

2. 更适合国内教学环境:针对Sakai系统对中文支持不全面的问题,强化功能、文档方面的中文支持。

3. 自 Sakai复旦共享版发布开始,复旦大学的eLearning系统将以此为基础,作为一个分支版本进行开发和维护,以复旦大学的实际系统为部署案例,保证版本的可用性。

4. 对于Sakai中设计不合理之处进行了修改。如Sakai官方版本中,姓名被分拆为“姓”和“名”两个字段。这个设置对于程序的识别能力要求过高,尤其对于少数民族和外籍人士的姓、名甄别存在相当大的困难,影响了人员信息自动化操作。所以在Sakai复旦共享版中,姓、名被合并成一个字段进行处理。

5. 灵活的源代码管理模式。Sakai官方版本使用Subversion作为版本控制软件,导致了若以官方版本为起点开发分支时很难兼顾官方版本的代码升级。Sakai复旦共享版使用了分布式版本控制软件Mercurial进行代码管理。为希望以复旦版为基础进行进一步定制开发的高校免除了后顾之忧,可以放心定制所需要的功能,又能够方便地将复旦版中的更新融入到修改后的系统中。

6. 采用与Sakai官方版本相同的ECL(Educational Community License) 2.0协议授权。保证了以此为基础进一步开发的程序尽量可以公开,也可以作为私有代码不公开。也由此允许商业公司加入共同开发的行列。

协作与共赢

尽管复旦大学在Sakai的开发和使用中积累了大量的经验,但是仅靠复旦大学是难以构建一个互助的协作社区的。国外高校恰恰是拥有这样一个社区组织,才得以在高校间进行合作,维护项目的良性发展。反观国内,以高校为主导的开源软件乏善可陈,相关的开源社区更是寥寥无几。所以,复旦大学希望国内有兴趣的高校一同加入进来,奉献各自的力量,共同推动Sakai系统在国内的应用。

参与的高校可以根据自己的特点为社区做出贡献:开发能力较强的可以为系统修补Bug、提供补丁、开发新功能;外语能力较强的,可以帮助翻译页面文字和完善文档;推广应用较好的,可以分享相关的推广经验,以此达到协作与共赢的效果。

猜你喜欢
复旦大学开源社区
社区大作战
3D打印社区
在社区推行“互助式”治理
五毛钱能买多少头牛
2019开源杰出贡献奖
复旦大学附属中山医院血液科简介
复旦大学附属中山医院整形外科简介
复旦大学附属中山医院整形外科简介
大家说:开源、人工智能及创新
开源中国开源世界高峰论坛圆桌会议纵论开源与互联网+创新2.0