陳俊
(合肥師范學(xué)院數(shù)學(xué)與統(tǒng)計(jì)學(xué)院,安徽合肥 230601)
個(gè)性化學(xué)習(xí)的概念早在20世紀(jì)初就已經(jīng)出現(xiàn),它是根據(jù)學(xué)習(xí)者的個(gè)性特點(diǎn)和發(fā)展?jié)撃?,采取靈活、適合的方式充分滿足學(xué)習(xí)者個(gè)體需求的學(xué)習(xí)[1]。隨著互聯(lián)網(wǎng)技術(shù)的迅速發(fā)展,國(guó)內(nèi)教育信息化水平的不斷提高,知識(shí)獲取與知識(shí)傳播的方式發(fā)生了根本變化,在線學(xué)習(xí)的熱度不斷升高,逐漸被師生和家長(zhǎng)所認(rèn)可,不僅是因?yàn)樵诰€學(xué)習(xí)能夠?qū)崿F(xiàn)終身學(xué)習(xí)、寬生學(xué)習(xí)和深生學(xué)習(xí),從時(shí)空維度和內(nèi)容維度描繪出立體化的學(xué)習(xí)情景,學(xué)生可以獲取到更多豐富優(yōu)質(zhì)的學(xué)習(xí)資源,而且通過(guò)在線學(xué)習(xí)可以深入挖掘?qū)W習(xí)者學(xué)習(xí)習(xí)慣、學(xué)習(xí)狀態(tài)和學(xué)習(xí)水平等信息,在線學(xué)習(xí)可以幫助學(xué)生輕松實(shí)現(xiàn)個(gè)性化學(xué)習(xí),可以有效提高學(xué)生學(xué)習(xí)主動(dòng)性[2]。在線學(xué)習(xí)系統(tǒng)不但突破了傳統(tǒng)課堂教學(xué)的時(shí)空限制,而且為學(xué)習(xí)者提供了豐富的網(wǎng)絡(luò)資源,學(xué)習(xí)者只需要一部手機(jī)或電腦就可以實(shí)現(xiàn)在線網(wǎng)絡(luò)學(xué)習(xí)。隨著在線學(xué)習(xí)系統(tǒng)中學(xué)習(xí)資源的不斷增加,學(xué)生往往會(huì)花費(fèi)很多時(shí)間和精力去查找所需要的學(xué)習(xí)資源,這就導(dǎo)致出現(xiàn)了學(xué)習(xí)資源過(guò)載的現(xiàn)象[3]。將基于協(xié)同過(guò)濾的個(gè)性化資源推薦算法應(yīng)用于在線學(xué)習(xí)系統(tǒng),可以有效解決此問(wèn)題,從而提高學(xué)生的學(xué)習(xí)效率和系統(tǒng)體驗(yàn)效果。本系統(tǒng)采用基于Python 的經(jīng)典Web 框架Django來(lái)設(shè)計(jì)開(kāi)發(fā),用MySQL數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)系統(tǒng)數(shù)據(jù)。
Python 由吉多范羅·蘇姆于1989 年底發(fā)明,被廣泛應(yīng)用于處理系統(tǒng)管理任務(wù)和科學(xué)計(jì)算,是最受歡迎的程序設(shè)計(jì)語(yǔ)言之一。在TIOBE 最近公布的2022 年6月編程語(yǔ)言指數(shù)排行榜中,Python排第一位。Python語(yǔ)言簡(jiǎn)單易學(xué)易用,擁有許多標(biāo)準(zhǔn)庫(kù),在Windows 或Unix 等平臺(tái)上具有很好的兼容性。Python 完全支持面向?qū)ο蟪绦蛟O(shè)計(jì),并擁有豐富的成熟擴(kuò)展庫(kù)支持各種領(lǐng)域的應(yīng)用開(kāi)發(fā)。在Web 系統(tǒng)開(kāi)發(fā)和科學(xué)計(jì)算等領(lǐng)域,Python具有很好的應(yīng)用。
Django 是一個(gè)免費(fèi)開(kāi)源的Web 框架,可以用于快速搭建網(wǎng)站。Django 借鑒了經(jīng)典的MVC 模式,它也將交互的過(guò)程分為了3個(gè)層次,也就是MTV 設(shè)計(jì)模式;其采用模型(Model) ,視圖(View) 和模板(Template)。模型處理與數(shù)據(jù)相關(guān)的事務(wù),以及各數(shù)據(jù)之間的關(guān)系[4]。模板處理與表現(xiàn)層相關(guān)的事務(wù),視圖負(fù)責(zé)捕獲URL、存取模型、調(diào)取恰當(dāng)模板、處理相關(guān)業(yè)務(wù)邏輯,視圖層是模型層與模板層的橋梁。通過(guò)配置較少的功能代碼即可實(shí)現(xiàn)復(fù)雜的功能。Django MTV 設(shè)計(jì)模式如圖1所示。
圖1 Django MTV設(shè)計(jì)模式
MySQL 是一個(gè)開(kāi)源的小型關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),由瑞典MySQL AB 公司開(kāi)發(fā)。由于MySQL是開(kāi)源軟件,軟件安裝使用完全免費(fèi),安裝使用較為簡(jiǎn)單,同時(shí)支持多個(gè)平臺(tái)(Windows、Unix和Macintosh),是最流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)之一。由于MySQL 數(shù)據(jù)庫(kù)運(yùn)行速度快和安裝使用簡(jiǎn)單等優(yōu)點(diǎn),一般都選擇MySQL 作為網(wǎng)站開(kāi)發(fā)的首選數(shù)據(jù)庫(kù)。
作為世界使用排名第一的Web 服務(wù)器軟件,Apache 支持多個(gè)平臺(tái),包括Windows、Unix 和Macintosh,由于Apache 支持跨平臺(tái)和安全性等特點(diǎn),因此被互聯(lián)網(wǎng)公司廣泛使用,也是最流行的Web服務(wù)器端軟件之一。Apache服務(wù)器具有運(yùn)行速度快、安全穩(wěn)定等特點(diǎn)。通過(guò)簡(jiǎn)單的API 擴(kuò)展,就可以將Python/Perl等解釋器編譯到服務(wù)器中。
本系統(tǒng)采用基于Web 的B/S 三層體系結(jié)構(gòu),Web服務(wù)器采用Apache,數(shù)據(jù)庫(kù)采用MySQL,采用Python的Django 框架進(jìn)行設(shè)計(jì)開(kāi)發(fā)。
系統(tǒng)整體上采用模塊化方式進(jìn)行,系統(tǒng)分為教師模塊、學(xué)生模塊和管理員模塊。教師模塊主要供教師使用,教師用賬號(hào)和密碼登錄系統(tǒng)后可以先上傳優(yōu)質(zhì)的課程章節(jié)視頻和多媒體課件等學(xué)習(xí)資料,然后給學(xué)生布置一定的課程學(xué)習(xí)任務(wù),學(xué)生只要每完成一個(gè)課程單元學(xué)習(xí)任務(wù)后就進(jìn)行知識(shí)單元測(cè)試,教師也可以對(duì)學(xué)生的答題和作業(yè)進(jìn)行批改。
學(xué)生模塊主要是供學(xué)生用戶使用的子系統(tǒng),學(xué)生用戶登錄系統(tǒng)后可以在線觀看課程視頻和課件,課程學(xué)習(xí)結(jié)束后可以進(jìn)行在線考試,在課程學(xué)習(xí)過(guò)程中遇到疑難問(wèn)題,可以隨時(shí)在系統(tǒng)中向老師提問(wèn)或者跟其他同學(xué)討論交流,可以有效提高學(xué)生自主學(xué)習(xí)的主動(dòng)性。
管理員模塊主要是供系統(tǒng)管理員登錄的后臺(tái)系統(tǒng),系統(tǒng)管理員擁有系統(tǒng)最高權(quán)限,系統(tǒng)管理員不僅可以有效管理師生的系統(tǒng)登錄賬號(hào)密碼等信息,而且可以設(shè)置教師用戶的系統(tǒng)訪問(wèn)權(quán)限,還可以對(duì)系統(tǒng)的所有功能進(jìn)行定制。
系統(tǒng)總體功能框架圖如圖2所示。
圖2 在線學(xué)習(xí)系統(tǒng)框架圖
數(shù)據(jù)庫(kù)設(shè)計(jì)是開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的基礎(chǔ),在設(shè)計(jì)數(shù)據(jù)庫(kù)時(shí),應(yīng)當(dāng)要充分考慮每個(gè)模塊之間的關(guān)系,要?jiǎng)?chuàng)建大小合適、冗余度低和數(shù)據(jù)讀取效率高的數(shù)據(jù)模型。本系統(tǒng)數(shù)據(jù)庫(kù)包括學(xué)生信息表、教師信息表、章節(jié)信息表、視頻信息表、課程信息表、評(píng)論信息表、試題信息表等。
表1 學(xué)生信息表
表2 課程信息表
表4 視頻信息表
表5 試題信息表
表6 評(píng)論信息表
1)根據(jù)學(xué)習(xí)者對(duì)學(xué)習(xí)資源的顯式評(píng)分,可以建立學(xué)習(xí)者-學(xué)習(xí)資源評(píng)分矩陣,如表8所示。其中第i行第j列Xij表示第i個(gè)學(xué)習(xí)者對(duì)第j個(gè)資源的評(píng)分[5]。
2)先給矩陣稀疏性設(shè)定閾值μ,再計(jì)算學(xué)習(xí)者-學(xué)習(xí)資源評(píng)分矩陣的稀疏性。矩陣稀疏性計(jì)算公式如下所示:
3)采用余弦相似度方法計(jì)算學(xué)習(xí)者相似度,通過(guò)計(jì)算兩個(gè)向量間的夾角余弦來(lái)度量學(xué)習(xí)者間的相似度,計(jì)算公式如下:
通過(guò)學(xué)習(xí)者相似度計(jì)算,可以得到與學(xué)習(xí)者相似度最鄰近n個(gè)用戶的鄰居集:Z={stu_1,stu_2,stu_3,stu_4,...,stu_n}。
4)根據(jù)最近鄰數(shù)據(jù)集中的學(xué)習(xí)者對(duì)學(xué)習(xí)資源的評(píng)分,就可以預(yù)測(cè)目標(biāo)學(xué)習(xí)者對(duì)該學(xué)習(xí)資源的評(píng)分,產(chǎn)生最終的推薦結(jié)果,將學(xué)習(xí)資源推送給目標(biāo)學(xué)習(xí)者。
本系統(tǒng)首頁(yè)提供了教師和學(xué)生或者系統(tǒng)管理員登錄系統(tǒng)的登錄界面,系統(tǒng)登錄模塊會(huì)檢查用戶輸入的賬號(hào)和密碼是否正確,只有輸入正確的賬號(hào)密碼,才可以進(jìn)入在線學(xué)習(xí)系統(tǒng)。如果輸入錯(cuò)誤的賬號(hào)密碼,系統(tǒng)則提示用戶登錄失敗,需要重新輸入賬號(hào)密碼。在線學(xué)習(xí)系統(tǒng)登錄界面如圖3所示。
圖3 C語(yǔ)言在線學(xué)習(xí)系統(tǒng)登錄界面
本系統(tǒng)運(yùn)行需要大量的課程視頻數(shù)據(jù)和資料,教師需要定期對(duì)課程視頻資料進(jìn)行管理和維護(hù),系統(tǒng)實(shí)現(xiàn)了教師可以上傳C語(yǔ)言程序設(shè)計(jì)課件、視頻等學(xué)習(xí)資源,可供學(xué)生下載和在線觀看。
學(xué)生用戶登錄系統(tǒng)后可以進(jìn)行在線測(cè)試,只要點(diǎn)擊學(xué)生頁(yè)面的在線測(cè)試按鈕,即可打開(kāi)在線測(cè)試的頁(yè)面,在線測(cè)試時(shí)間為45分鐘,頁(yè)面顯示剩余答題時(shí)間,只要在線測(cè)試結(jié)束,系統(tǒng)會(huì)自動(dòng)提交試題,等待教師批閱試題后,學(xué)生可以查詢本次測(cè)試成績(jī)。
在線學(xué)習(xí)已經(jīng)成為目前主流的學(xué)習(xí)手段,在線學(xué)習(xí)系統(tǒng)為人們?cè)诰W(wǎng)絡(luò)上進(jìn)行在線學(xué)習(xí)和交流提供了平臺(tái),基于協(xié)同過(guò)濾推薦算法設(shè)計(jì)了在線學(xué)習(xí)系統(tǒng)的個(gè)性化推薦模型,可以根據(jù)每位學(xué)生的學(xué)習(xí)行為和習(xí)慣差異,系統(tǒng)可以推薦個(gè)性化的學(xué)習(xí)資源供其學(xué)習(xí),從而實(shí)現(xiàn)了C語(yǔ)言程序設(shè)計(jì)課程的個(gè)性化在線學(xué)習(xí),也提高了學(xué)生的學(xué)習(xí)效率。本系統(tǒng)主要面向開(kāi)設(shè)C語(yǔ)言程序設(shè)計(jì)課程的理工科專業(yè),為學(xué)生提供一個(gè)可以C語(yǔ)言在線學(xué)習(xí)和在線測(cè)試的網(wǎng)絡(luò)教學(xué)平臺(tái),滿足學(xué)生利用課外時(shí)間自主學(xué)習(xí)C語(yǔ)言,系統(tǒng)可以滿足師生在線交流討論的需要,以提高學(xué)生自主探究能力。