陳小健, 宋承繼
(陜西工業(yè)職業(yè)技術(shù)學(xué)院 信息工程學(xué)院, 咸陽 712000)
隨著無線網(wǎng)絡(luò)、4G移動互聯(lián)網(wǎng)和移動終端平臺的飛速發(fā)展,基于移動平臺的網(wǎng)絡(luò)化學(xué)習(xí)逐漸進(jìn)入人們的視野。智能手機(jī)、平板等設(shè)備的移動性和便捷性給學(xué)習(xí)者帶來了更加便捷的學(xué)習(xí)體驗。在高校信息化教學(xué)建設(shè)和推廣過程中,建設(shè)一個維護(hù)性良好、體系結(jié)構(gòu)清晰的運(yùn)行于移動終端平臺上的在線學(xué)習(xí)平臺具有十分重要的理論和現(xiàn)實意義。
目前互聯(lián)網(wǎng)上存在一些基于移動平臺的在線學(xué)習(xí)應(yīng)用,國際上比較出名的有斯坦福大學(xué)吳恩達(dá)教授主導(dǎo)創(chuàng)建的學(xué)習(xí)平臺Coursera、美國的盈利性質(zhì)的“在線大學(xué)”平臺Udacity、麻省理工和哈佛大學(xué)聯(lián)手創(chuàng)建的非盈利性在線學(xué)習(xí)平臺edX等。國內(nèi)較為出名的移動學(xué)習(xí)平臺有網(wǎng)易云課堂、極客學(xué)院、超星學(xué)習(xí)通等。以上學(xué)習(xí)平臺具有非常豐富的學(xué)習(xí)資源,但是面向的對象是所有學(xué)習(xí)人群,不具備定制性,不能作為高校教師和學(xué)生之間交互的平臺。
本文針對以上通用的移動在線學(xué)習(xí)平臺的缺陷,建立了一個基于Android的在線學(xué)習(xí)平臺,該平臺支持高校教師和學(xué)生之間的交流和通訊,并且提供教學(xué)視頻、教學(xué)資料等,支持在線測試、在線簽到、作業(yè)提交等功能。該平臺能夠增加高校學(xué)生學(xué)習(xí)的便利性和課程學(xué)習(xí)的參與度,使得高校教師和學(xué)生之間建立更加緊密的聯(lián)系,從而獲得更好的教學(xué)體驗。
本系統(tǒng)共分為8個功能模塊:課堂交互、作業(yè)管理、在線交流、用戶驗證、在線考試、后臺管理和資源管理。如圖1所示。
圖1 在線學(xué)習(xí)平臺總體架構(gòu)圖
該系統(tǒng)涵蓋了從課上交互到課下學(xué)習(xí)的多種學(xué)習(xí)模式。課上可通過該平臺完成課堂測驗、點名簽到和問題回答等活動。課下可以通過在線交流模塊與任課教師進(jìn)行交流、答疑等;學(xué)生可通過作業(yè)管理模塊查看作業(yè)任務(wù),并在完成后提交,老師可以布置作業(yè)并查看學(xué)生提交的作業(yè);學(xué)生可以課下下載該課程的視頻教學(xué)資源和課件教學(xué)資源,并且可以利用在線考試模塊進(jìn)行自測試。
該系統(tǒng)采用C/S架構(gòu),分為服務(wù)器端和客戶端。客戶端運(yùn)行于移動平臺(手機(jī)、平板等設(shè)備),采用基于Android的技術(shù),采用Android Studio作為開發(fā)工具。服務(wù)器端使用基于J2EE的技術(shù),采用Eclipse作為開發(fā)工具。數(shù)據(jù)庫采用輕量級的跨平臺的SQlite。客戶端、服務(wù)器與數(shù)據(jù)庫交互如圖2所示。
圖2 系統(tǒng)組成圖
Android和iOS是目前應(yīng)用最為廣泛的智能手機(jī)平臺。iOS為蘋果開發(fā)的智能手機(jī)操作系統(tǒng),不開源且不對外提供開發(fā)APP的技術(shù)支持,所以不宜采用iOS作為本文的開發(fā)平臺。Android是谷歌提供的開源手機(jī)平臺,技術(shù)開放且平臺擁有豐富的API開發(fā)接口。所以本文采用基于Android作為客戶端平臺。
Android采用基于Linux內(nèi)核的分層式體系架構(gòu),如圖3所示。
圖3 Android體系架構(gòu)
作為開發(fā)者,開發(fā)Android應(yīng)用程序只需關(guān)注應(yīng)用程序?qū)拥乃膫€模塊:活動(Activity)、活動內(nèi)容接收器(Intent Receiver)、服務(wù)(Service)和內(nèi)容提供器(Content Provider)。Activity是Android中的界面組成,一個界面對應(yīng)一個Activity,每個界面包含多個對事件進(jìn)行響應(yīng)的接口。Intent Receiver完成不同界面之間的切換,包含動作和動作對應(yīng)的數(shù)據(jù)。Content Provider完成與其他應(yīng)用共享數(shù)據(jù)的任務(wù),提供訪問本應(yīng)用存儲的數(shù)據(jù)的接口。Service是應(yīng)用在后臺為前臺提供支持的服務(wù),程序運(yùn)行時Service會保持后臺運(yùn)行。
在客戶端的開發(fā)過程中,主要使用Activity模塊和Intent Receiver模塊,通過使用系統(tǒng)組件完成界面設(shè)計和各響應(yīng)函數(shù)的填充。對于每一個模塊的功能建立相應(yīng)的類進(jìn)行維護(hù),使得程序設(shè)計符合模塊化規(guī)則。在對設(shè)計過程中的XML解析部分,使用Android中的SAX解析器對XML配置文件進(jìn)行讀取和解析。
SQlite數(shù)據(jù)庫由于其輕量化、占用內(nèi)存和硬件資源少等特點在基于Android的開發(fā)中占有一席之地,且目前存在集成了SQlite數(shù)據(jù)庫的基于Android的智能手機(jī)開發(fā)平臺,因此基于SQlite的移動平臺的開發(fā)是較為簡便的。
本文根據(jù)系統(tǒng)功能設(shè)計,創(chuàng)建了多個數(shù)據(jù)表,此處由于篇幅有限,選取用戶信息表、留言信息表和試題表進(jìn)行了展示,如表1—表3所示。
表1 用戶信息表設(shè)計
表2 留言信息表
表3 試題表
此外還存在視頻信息表、課件信息表、考試信息表等數(shù)據(jù)表,在此不一一贅述。
為了對該學(xué)習(xí)平臺的資源進(jìn)行豐富,除了任課教師的教學(xué)視頻和課件資料之外,還提供海量的網(wǎng)絡(luò)視頻資源和學(xué)習(xí)資源。提供搜索欄搜索感興趣的資源,并在主頁顯示推薦內(nèi)容。推薦內(nèi)容的相關(guān)性是很重要的,良好的推薦算法能夠?qū)崿F(xiàn)內(nèi)容的篩選,精確的實現(xiàn)用戶偏好內(nèi)容的推送,為用戶能夠提供良好的體驗。常用的推薦算法主要分為:基于內(nèi)容的推薦、基于網(wǎng)絡(luò)結(jié)構(gòu)的推薦、協(xié)同過濾推薦、基于社會網(wǎng)絡(luò)分析的推薦等。其中基于內(nèi)容的推薦是最為直觀有效的推薦算法,首先通過獲取用戶的常用搜索的關(guān)鍵詞,再與用戶偏好模型做匹配,從而選取匹配度最高的推薦對象,該種推薦方法簡單易實現(xiàn),不會占用過多的系統(tǒng)資源;基于網(wǎng)絡(luò)結(jié)構(gòu)的推薦是將用戶與推薦資源都虛擬成節(jié)點,使得整個系統(tǒng)的用戶和資源之間形成一個巨大的網(wǎng)絡(luò),統(tǒng)計網(wǎng)絡(luò)中的連線數(shù)和連接關(guān)系或者推薦資源。該方法效果好但是對平臺的資源要求較高;協(xié)同過濾推薦是考慮用戶的社交網(wǎng)絡(luò)的關(guān)系,參考社交網(wǎng)絡(luò)中接觸較多的人群的選擇,從而完成推薦,該種方法十分適合用于網(wǎng)購網(wǎng)站、圖書推薦系統(tǒng)等,但是由于學(xué)習(xí)系統(tǒng)并不具備很強(qiáng)的社交性,所以該種方法并不適合于本文中的平臺。經(jīng)過分析,本文使用基于內(nèi)容的推薦算法是比較合適的。
本文的基于內(nèi)容的推薦技術(shù)主要分為3步:首先,獲得用戶偏好內(nèi)容關(guān)鍵詞(3到5個);接著,使用關(guān)鍵詞依次對數(shù)據(jù)庫中記錄的資源進(jìn)行遍歷尋找,將與關(guān)鍵詞實現(xiàn)匹配的資源按匹配度從前向后記錄于系統(tǒng)緩沖區(qū)中;最后,通過將篩選出來的資源與多個關(guān)鍵詞依次進(jìn)行比對,包含較多關(guān)鍵詞的內(nèi)容依次向前排列,含有相同關(guān)鍵詞的資源按資源首字母的序號進(jìn)行排列。該算法流程圖如圖4所示。
圖4 基于內(nèi)容的排序算法流程圖
其中,獲得關(guān)鍵詞的方法如下:在用戶第一次使用搜索模塊時,需要選擇自己感興趣的領(lǐng)域和關(guān)鍵詞,將這些關(guān)鍵詞記錄到與用戶關(guān)聯(lián)的記錄表中,接下來根據(jù)用戶的搜索記錄將搜索關(guān)鍵詞進(jìn)行記錄,并統(tǒng)計頻次,通過頻次不斷更新記錄表,保證記錄表中的關(guān)鍵詞符合用戶最新的需求。
匹配度的度量是根據(jù)關(guān)鍵詞中字符的匹配個數(shù)和關(guān)鍵詞的匹配個數(shù)共同決定的。通過本文的雙次關(guān)鍵詞匹配算法的篩選,能夠盡可能的找到與用戶相關(guān)度最高的資源進(jìn)行推薦。
基于以上技術(shù)對該平臺進(jìn)行了開發(fā),該平臺分為服務(wù)器端和客戶端。服務(wù)器端是基于WEB進(jìn)行登錄管理的,只有系統(tǒng)管理員具有權(quán)限進(jìn)行管理。采用Java的J2EE技術(shù)對服務(wù)器端進(jìn)行開發(fā),開發(fā)平臺采用Eclipse。首先創(chuàng)建一個Java Web程序,進(jìn)行WEB創(chuàng)建配置,主要包括運(yùn)行環(huán)境配置、Tomcat服務(wù)器配置。然后創(chuàng)建一個Server服務(wù)器,在Eclipse上對WEB服務(wù)器界面通過組件配置開發(fā)。開發(fā)的系統(tǒng)登錄界面、試卷管理界面、課程管理界面如下圖5、圖6和圖7所示。
為了保證系統(tǒng)的安全性,防止惡意破壞,系統(tǒng)登錄界面使用驗證碼。圖3.2為試卷管理界面,在Web后臺對試卷進(jìn)行統(tǒng)一管理,具有刪除、增加、修改等權(quán)限。圖3.3為課程管理界面,具有網(wǎng)上課程、課程列表、添加課程和課程專題管理等菜單對網(wǎng)上學(xué)習(xí)平臺的課程進(jìn)行管理。
客戶端是運(yùn)行于使用Android操作系統(tǒng)的移動設(shè)備上的,采用Android平臺,使用Android Studio作為開發(fā)工具對客戶端程序進(jìn)行開發(fā)。首先創(chuàng)建一個Android工程,設(shè)計多個界面即創(chuàng)建多個Activity,一個界面對應(yīng)一個Activity,其中界面中包含多個對事件進(jìn)行響應(yīng)的接口,對這些響應(yīng)函數(shù)進(jìn)行設(shè)計和實現(xiàn)就完成了界面的設(shè)計。接下來對Intent Receiver進(jìn)行設(shè)計,完成不同界面之間的切換。
客戶端的使用對象是高校教師和學(xué)生。在注冊時不同角色填寫不同角色的注冊項目,經(jīng)過管理員審批后方可進(jìn)行登錄使用該學(xué)習(xí)平臺。首先進(jìn)行系統(tǒng)登錄,登錄界面如圖8所示。登陸后主界面如圖9所示。
圖5 系統(tǒng)登錄界面
圖6 試卷管理界面
圖7 課程管理界面
圖8 系統(tǒng)登錄界面
圖9 在線學(xué)習(xí)平臺主界面
從圖9可以看出,在線學(xué)習(xí)主要具有網(wǎng)上課堂、作業(yè)習(xí)題、留言答疑、在線測試、公告信息和在線討論這6大功能模塊。
篇幅有限,以下選取網(wǎng)上課堂、作業(yè)習(xí)題界面進(jìn)行展示。網(wǎng)上課堂界面如圖10所示,作業(yè)習(xí)題界面如圖11所示。
本文對基于移動互聯(lián)網(wǎng)的在線學(xué)習(xí)平臺進(jìn)行了研究,首先對總體架構(gòu)和使用的平臺架構(gòu)進(jìn)行了研究。接著對開發(fā)過程中的關(guān)鍵技術(shù)進(jìn)行了詳細(xì)介紹,主要包括基于Android的研發(fā)技術(shù)、數(shù)據(jù)庫開發(fā)技術(shù)和基于內(nèi)容的搜索算法的研究。最后對該學(xué)習(xí)系統(tǒng)進(jìn)行了實現(xiàn),主要分為基于WEB的管理端和基于Android桌面應(yīng)用的客戶端進(jìn)行了實現(xiàn),并且對界面進(jìn)行了展示。實踐表明,該平臺功能設(shè)計合理、運(yùn)行穩(wěn)定可靠。
圖10 網(wǎng)上課堂界面
圖11 作業(yè)習(xí)題界面