陳小健, 宋承繼
(陜西工業職業技術學院 信息工程學院, 咸陽 712000)
隨著無線網絡、4G移動互聯網和移動終端平臺的飛速發展,基于移動平臺的網絡化學習逐漸進入人們的視野。智能手機、平板等設備的移動性和便捷性給學習者帶來了更加便捷的學習體驗。在高校信息化教學建設和推廣過程中,建設一個維護性良好、體系結構清晰的運行于移動終端平臺上的在線學習平臺具有十分重要的理論和現實意義。
目前互聯網上存在一些基于移動平臺的在線學習應用,國際上比較出名的有斯坦福大學吳恩達教授主導創建的學習平臺Coursera、美國的盈利性質的“在線大學”平臺Udacity、麻省理工和哈佛大學聯手創建的非盈利性在線學習平臺edX等。國內較為出名的移動學習平臺有網易云課堂、極客學院、超星學習通等。以上學習平臺具有非常豐富的學習資源,但是面向的對象是所有學習人群,不具備定制性,不能作為高校教師和學生之間交互的平臺。
本文針對以上通用的移動在線學習平臺的缺陷,建立了一個基于Android的在線學習平臺,該平臺支持高校教師和學生之間的交流和通訊,并且提供教學視頻、教學資料等,支持在線測試、在線簽到、作業提交等功能。該平臺能夠增加高校學生學習的便利性和課程學習的參與度,使得高校教師和學生之間建立更加緊密的聯系,從而獲得更好的教學體驗。
本系統共分為8個功能模塊:課堂交互、作業管理、在線交流、用戶驗證、在線考試、后臺管理和資源管理。如圖1所示。

圖1 在線學習平臺總體架構圖
該系統涵蓋了從課上交互到課下學習的多種學習模式。課上可通過該平臺完成課堂測驗、點名簽到和問題回答等活動。課下可以通過在線交流模塊與任課教師進行交流、答疑等;學生可通過作業管理模塊查看作業任務,并在完成后提交,老師可以布置作業并查看學生提交的作業;學生可以課下下載該課程的視頻教學資源和課件教學資源,并且可以利用在線考試模塊進行自測試。
該系統采用C/S架構,分為服務器端和客戶端。客戶端運行于移動平臺(手機、平板等設備),采用基于Android的技術,采用Android Studio作為開發工具。服務器端使用基于J2EE的技術,采用Eclipse作為開發工具。數據庫采用輕量級的跨平臺的SQlite。客戶端、服務器與數據庫交互如圖2所示。

圖2 系統組成圖
Android和iOS是目前應用最為廣泛的智能手機平臺。iOS為蘋果開發的智能手機操作系統,不開源且不對外提供開發APP的技術支持,所以不宜采用iOS作為本文的開發平臺。Android是谷歌提供的開源手機平臺,技術開放且平臺擁有豐富的API開發接口。所以本文采用基于Android作為客戶端平臺。
Android采用基于Linux內核的分層式體系架構,如圖3所示。

圖3 Android體系架構
作為開發者,開發Android應用程序只需關注應用程序層的四個模塊:活動(Activity)、活動內容接收器(Intent Receiver)、服務(Service)和內容提供器(Content Provider)。Activity是Android中的界面組成,一個界面對應一個Activity,每個界面包含多個對事件進行響應的接口。Intent Receiver完成不同界面之間的切換,包含動作和動作對應的數據。Content Provider完成與其他應用共享數據的任務,提供訪問本應用存儲的數據的接口。Service是應用在后臺為前臺提供支持的服務,程序運行時Service會保持后臺運行。
在客戶端的開發過程中,主要使用Activity模塊和Intent Receiver模塊,通過使用系統組件完成界面設計和各響應函數的填充。對于每一個模塊的功能建立相應的類進行維護,使得程序設計符合模塊化規則。在對設計過程中的XML解析部分,使用Android中的SAX解析器對XML配置文件進行讀取和解析。
SQlite數據庫由于其輕量化、占用內存和硬件資源少等特點在基于Android的開發中占有一席之地,且目前存在集成了SQlite數據庫的基于Android的智能手機開發平臺,因此基于SQlite的移動平臺的開發是較為簡便的。
本文根據系統功能設計,創建了多個數據表,此處由于篇幅有限,選取用戶信息表、留言信息表和試題表進行了展示,如表1—表3所示。

表1 用戶信息表設計

表2 留言信息表

表3 試題表
此外還存在視頻信息表、課件信息表、考試信息表等數據表,在此不一一贅述。
為了對該學習平臺的資源進行豐富,除了任課教師的教學視頻和課件資料之外,還提供海量的網絡視頻資源和學習資源。提供搜索欄搜索感興趣的資源,并在主頁顯示推薦內容。推薦內容的相關性是很重要的,良好的推薦算法能夠實現內容的篩選,精確的實現用戶偏好內容的推送,為用戶能夠提供良好的體驗。常用的推薦算法主要分為:基于內容的推薦、基于網絡結構的推薦、協同過濾推薦、基于社會網絡分析的推薦等。其中基于內容的推薦是最為直觀有效的推薦算法,首先通過獲取用戶的常用搜索的關鍵詞,再與用戶偏好模型做匹配,從而選取匹配度最高的推薦對象,該種推薦方法簡單易實現,不會占用過多的系統資源;基于網絡結構的推薦是將用戶與推薦資源都虛擬成節點,使得整個系統的用戶和資源之間形成一個巨大的網絡,統計網絡中的連線數和連接關系或者推薦資源。該方法效果好但是對平臺的資源要求較高;協同過濾推薦是考慮用戶的社交網絡的關系,參考社交網絡中接觸較多的人群的選擇,從而完成推薦,該種方法十分適合用于網購網站、圖書推薦系統等,但是由于學習系統并不具備很強的社交性,所以該種方法并不適合于本文中的平臺。經過分析,本文使用基于內容的推薦算法是比較合適的。
本文的基于內容的推薦技術主要分為3步:首先,獲得用戶偏好內容關鍵詞(3到5個);接著,使用關鍵詞依次對數據庫中記錄的資源進行遍歷尋找,將與關鍵詞實現匹配的資源按匹配度從前向后記錄于系統緩沖區中;最后,通過將篩選出來的資源與多個關鍵詞依次進行比對,包含較多關鍵詞的內容依次向前排列,含有相同關鍵詞的資源按資源首字母的序號進行排列。該算法流程圖如圖4所示。

圖4 基于內容的排序算法流程圖
其中,獲得關鍵詞的方法如下:在用戶第一次使用搜索模塊時,需要選擇自己感興趣的領域和關鍵詞,將這些關鍵詞記錄到與用戶關聯的記錄表中,接下來根據用戶的搜索記錄將搜索關鍵詞進行記錄,并統計頻次,通過頻次不斷更新記錄表,保證記錄表中的關鍵詞符合用戶最新的需求。
匹配度的度量是根據關鍵詞中字符的匹配個數和關鍵詞的匹配個數共同決定的。通過本文的雙次關鍵詞匹配算法的篩選,能夠盡可能的找到與用戶相關度最高的資源進行推薦。
基于以上技術對該平臺進行了開發,該平臺分為服務器端和客戶端。服務器端是基于WEB進行登錄管理的,只有系統管理員具有權限進行管理。采用Java的J2EE技術對服務器端進行開發,開發平臺采用Eclipse。首先創建一個Java Web程序,進行WEB創建配置,主要包括運行環境配置、Tomcat服務器配置。然后創建一個Server服務器,在Eclipse上對WEB服務器界面通過組件配置開發。開發的系統登錄界面、試卷管理界面、課程管理界面如下圖5、圖6和圖7所示。
為了保證系統的安全性,防止惡意破壞,系統登錄界面使用驗證碼。圖3.2為試卷管理界面,在Web后臺對試卷進行統一管理,具有刪除、增加、修改等權限。圖3.3為課程管理界面,具有網上課程、課程列表、添加課程和課程專題管理等菜單對網上學習平臺的課程進行管理。
客戶端是運行于使用Android操作系統的移動設備上的,采用Android平臺,使用Android Studio作為開發工具對客戶端程序進行開發。首先創建一個Android工程,設計多個界面即創建多個Activity,一個界面對應一個Activity,其中界面中包含多個對事件進行響應的接口,對這些響應函數進行設計和實現就完成了界面的設計。接下來對Intent Receiver進行設計,完成不同界面之間的切換。
客戶端的使用對象是高校教師和學生。在注冊時不同角色填寫不同角色的注冊項目,經過管理員審批后方可進行登錄使用該學習平臺。首先進行系統登錄,登錄界面如圖8所示。登陸后主界面如圖9所示。

圖5 系統登錄界面

圖6 試卷管理界面

圖7 課程管理界面

圖8 系統登錄界面

圖9 在線學習平臺主界面
從圖9可以看出,在線學習主要具有網上課堂、作業習題、留言答疑、在線測試、公告信息和在線討論這6大功能模塊。
篇幅有限,以下選取網上課堂、作業習題界面進行展示。網上課堂界面如圖10所示,作業習題界面如圖11所示。
本文對基于移動互聯網的在線學習平臺進行了研究,首先對總體架構和使用的平臺架構進行了研究。接著對開發過程中的關鍵技術進行了詳細介紹,主要包括基于Android的研發技術、數據庫開發技術和基于內容的搜索算法的研究。最后對該學習系統進行了實現,主要分為基于WEB的管理端和基于Android桌面應用的客戶端進行了實現,并且對界面進行了展示。實踐表明,該平臺功能設計合理、運行穩定可靠。

圖10 網上課堂界面

圖11 作業習題界面