周化鋼,劉 昊,任其達
(南寧學院 信息工程學院,廣西 南寧 530200)
互聯網,計算機和通信技術的發展,讓許多傳統行業發生革命,例如,電子商務改變了人們購物的習慣,移動通信讓傳統的固定電話逐步消失,計算機低功耗CPU技術,觸摸屏和操作系統的發展,出現了智能手機,依托這些最新的技術,到了2013年,隨著MOOC(大規模在線課程)的出現,引發了教育領域一場在線教育革命[1],并演化出了微課程,翻轉課堂,SPOC(小規模私有在線課程)平臺和O2O線上線下混合教學等學習模式。例如,中國人民大學就開始嘗試采用SPOC教學平臺,體驗到SPOC教學平臺的好處[2]。
在線教育和智能手機的結合,帶來了移動在線學習管理工具的需求,成為研究開發熱點,例如,哈爾濱工業大學的魏洪偉團隊,開發了“基于Android平臺的互聯網+移動學習系統”[3],大連理工大學高卓立的“基于移動終端的在線教育的設計與實現”[4],及山西大同大學國家自然科學基金青年科學基金項目“基于 Android的移動在線教育平臺的設計與實現”[5]。通過分析現有的系統和大家的設計思想,本課題主要研究目標是針對自己學校的特點,開發一個適合本校的移動在線學習管理系統。
首先,我們分析比較兩個流行的在線學習管理系統,超星的學習通和清華大學的雨課堂(https://www.yuketang.cn/)。在線學習的主要功能如表1所示:

表1 在線學習主要功能Tab.1 E-learning main functions
除了在線學習管理的基本功能外,其他增強功能如表2。

表2 在線學習的其他功能Tab.2 E-learning other functions
這兩個流行在線學習管理系統功能非常強大,但是,美中不足的是,無法根據學校的教學管理模式進行定制,雖然兩個系統都有綁定學校功能,其實就是與學校教務系統對接,獲取學校教務信息,試圖打造某一個學校的在線學習管理系統。但是,這種公用設計的系統,仍然無法解決學校教學管理的特殊性。所以,根據每一個學校的特殊性來開發一個在線學習管理系統是必要的。
我們從以下三個方面對在線學習管理系統的開發模式、開發靈活性,難易程度等方面進行分析:
(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]。
Drupal的生態圈非常大,通過官網(https://www.drupal.org/project/ project_module)統計分析,到2018年3月,Drupal社區貢獻了共有39,987個模塊。特別是Drupal 7的教育類模塊就有115個之多,其中就有著名的Quiz模塊,可以輕松地用來構建作業和考試題庫,其包含所有題庫類型如選擇題,對錯題,填空題,問答題等等。此外,還有半成品的在線學習系統模塊,如Course,用來構建商業化的在線課程學習系統,功能包括課程購買,注冊,聽課記錄,證書發放,學分管理,學習統計報告等等強大功能。但是,為了結合本校的教學管理方式,本課題選擇了用Drupal[17]核心及第三方模塊,用來開發一個根據本校教學管理模式定制的在線學習管理系統。
系統整體結構由課程小組(教學班)組成,一個課程小組又包含四個基本核心模塊:群廣播通知、課程作業(測驗、試題)、教學資源庫(標準題庫、課件庫和視頻庫等教學資源),和課程討論區組成。如圖1所示。

圖1 系統總體結構Fig.1 The system main structure
課程小組(班級)采用Organic Groups模塊,用 Quiz模塊創建課程作業,和標準題庫,用Notification模塊創建群廣播通知,用 Taxonomy模塊進行課程分類,專業分類,和班級分類。課程資源庫包括課件,視頻等多媒體教學資源,這些資源文件上傳下載是由Drupal的核心模塊完成。
用戶角色定義:學生,老師,題庫管理員,系統管理員。具體權限如下:
· 學生:加入課程小組(班級),做作業,查看作業成績結果,討論區發表提問。
· 老師:創建課程小組(班),創建發布作業題,管理班級學生,查看作業統計成績,群發廣播通知。
· 題庫管理員:創建、管理課程庫,錄入課程標準題庫,其他教學資源管理。
· 系統管理員:系統設置,管理用戶注冊及賦予權限。
可以選擇學生或老師角色,學生,老師注冊信息會有所不同。具有題庫管理員角色的用戶由系統管理員創建。老師注冊需要系統管理員確認。注冊界面如圖:

圖2 注冊界面Fig.2 The register UI
老師注冊登錄成功后,可以創建課程小組(教學班級),老師在自己的課程小組中發布新的作業,和自己制作的課程視頻,課程課件,發討論帖,回答學生問題,及在課程小組群發通知。在課程小組中,老師和學生和課程小組用用例圖描述如下:

圖3 老師,學生,課程小組,課程作業的用例圖Fig.3 The user case of teacher, student, class and assignments
老師創建一個課程小組,相當于一個教學班級,創建課程小組界面如圖:

圖4 創建課程小組Fig.4 Creating course group
一門課程的核心模塊,除了教學視頻,課件外,最重要的模塊是題庫(作業、測驗、和考試)設計[18],而Drupal社區就有一個著名的在線教育的核心題庫模塊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 –批量導出答題結果。
一門課程,必須有一個通用的標準題庫,作為在線考試或在線作業布置的資源。標準題庫建設,更符合一個真實學校的教學管理模式,而很多慕課平臺、SPOC平臺是沒有提供標準題庫功能,包括我們前面提到的超星的學習通和清華大學的雨課堂。有了標準題庫,如果一門同樣的課程分成兩個教學班,分別由A老師和B老師上,那么,A老師和B老師都可以從標準題庫中創建和布置作業,這樣,可以控制學習資源的統一,而不會因為同一門課,不同老師上課產生過大的差異。這就是公開課慕課學習平臺和學校教學學習平臺的區別。
創建課程題庫或作業界面如下:

圖5 題庫創建Fig.5 Creating question bank
有了標準題庫,老師就可以發布作業,學生通過課程小組在線做作業,下面是一個選擇題的答題界面:

圖6 選擇題的答題界面Fig.6 The UI of choice question
我們在設計上,把課程和班級都看成容器,用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
題庫的統計功能是通過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
通過Notification模塊,就可以在一個課程小組(班級)群發送電子郵件通知,界面如圖:

圖10 群發電子郵件Fig.10 The group notification by email
創建的課程小組就是相當于QQ的群概念,小組成員包括學生,老師都可以在課程小組發帖,展開問題討論,討論區用例圖如圖11所示。
Drupal的強大之一是不僅僅是一個CMS系統,還有很多基于移動設備的模塊,通過Mobile Theme模塊+Mobile主題的引入[19],Mobile Theme模塊實現移動設備檢測和移動瀏覽器識別來切換到Mobile主題,而不用分別開發 PC和移動的兩套系統。只要添加上面兩個模塊就可以做到移動響應式布局效果,并在PC和移動設備之間切換主題界面。

圖11 討論區用例圖Fig.11 The user case of forums
我們利用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提供的模塊開發接口,編寫代碼實現自己的設計思想,來達到構建一個更高層次的商業級系統。
我們不用寫代碼,就可以設計完成一個擁有基本功能的在線學習管理系統,對于學校老師來說,這個系統的成本低,開發效率高,使用簡單,容易上手。更容易根據學校教學管理特點來定制自己的在線學習管理系統,由于使用開源的Drupal開發,可以免費地推廣應用到各個學校,不用擔心版權問題。