廖祉沐 李行 李梓源 廖一鳴
【摘要】? ? E-Growth是一款面向大學(xué)生的個(gè)人學(xué)分可視化管理平臺(tái),在當(dāng)今的大學(xué)生活中,“學(xué)分”是評判一個(gè)學(xué)生能否按期畢業(yè)的關(guān)鍵因素,學(xué)生的培養(yǎng)方案則具體的規(guī)劃了大學(xué)生的學(xué)分安排。但是,由于在校的大學(xué)生需要處理繁重的專業(yè)課程以及不同的修讀類別,這就導(dǎo)致很多同學(xué)在修讀的過程中會(huì)對自己的學(xué)分造成誤判,不能夠直觀地了解到修讀進(jìn)度從而造成不良的影響。所以結(jié)合上述的問題,筆者利用Python語言的Flask框架結(jié)合Echarts可視化插件設(shè)計(jì)了一款面向大學(xué)生的學(xué)分可視化管理平臺(tái),旨在于簡化學(xué)生們對于學(xué)分的自我管理,并且輔以相關(guān)課程及同伴的推薦機(jī)制助力大學(xué)生更高質(zhì)量地完成學(xué)業(yè)。
【關(guān)鍵詞】? ? 學(xué)分管理? ? Flask框架? ? Echarts插件? ? 推薦機(jī)制
引言
隨著時(shí)代的不斷進(jìn)步和發(fā)展,大學(xué)生的學(xué)業(yè)要求也在逐漸增加,很多同學(xué)因?yàn)樽约旱氖д`錯(cuò)過了一些關(guān)鍵課程的修讀機(jī)會(huì)或是由于自己的疏忽導(dǎo)致畢業(yè)時(shí)學(xué)分不滿足畢業(yè)的要求等。為了能進(jìn)一步提高學(xué)生的日常學(xué)習(xí)效率并減輕學(xué)生的生活壓力,筆者就學(xué)分管理這一概念進(jìn)行系統(tǒng)設(shè)計(jì)。本文將以國內(nèi)的總學(xué)分修讀制度展開,希望可以開發(fā)出一款面向大學(xué)生群體的個(gè)人學(xué)分可視化管理平臺(tái),并利用相關(guān)的可視化技術(shù)嵌入到系統(tǒng)當(dāng)中進(jìn)行個(gè)人學(xué)分的可視化管理,額外結(jié)合推薦模塊和論壇模塊來進(jìn)一步輔助學(xué)生更好地進(jìn)行課程選擇、課程討論等。
一、系統(tǒng)需求設(shè)計(jì)
結(jié)合引言當(dāng)中所整合的信息以及前期的設(shè)計(jì)思路和調(diào)研結(jié)果,本文可以明確學(xué)生對于學(xué)分制的管理系統(tǒng)有較大的需求且需求導(dǎo)向較為明確,主要集中于學(xué)分可視化管理以及課程推薦兩個(gè)方面,筆者現(xiàn)將整體功能需求描述如下:
①該系統(tǒng)需要具有最基本的用戶登陸功能,系統(tǒng)為每一名學(xué)生分配一個(gè)初始的賬號和密碼,用戶可以直接登陸。同時(shí),添加修改密碼功能,用戶可以在登錄之后對自己的初始密碼進(jìn)行修改,防止其他用戶惡意篡改。用戶的個(gè)人信息只有系統(tǒng)管理員有權(quán)限查看,并對密碼的后臺(tái)存儲(chǔ)采取MD5的加密方式進(jìn)行加密防止被惡意泄露。
②該系統(tǒng)需要具備課程信息查詢功能。數(shù)據(jù)庫中需要存儲(chǔ)各年級的培養(yǎng)計(jì)劃信息,包括課程名、授課教師、開課學(xué)期、課程學(xué)分等必要的課程信息。同學(xué)也可以通過可視化的管理方式對自己的學(xué)分進(jìn)行管理,可以模擬課程的選擇和退選,利用樹狀圖的形式展現(xiàn)每一學(xué)期的修讀計(jì)劃并提供操作接口。
③該系統(tǒng)需要為每個(gè)用戶存儲(chǔ)個(gè)人課程信息,根據(jù)個(gè)人情況自動(dòng)計(jì)算學(xué)分情況。用戶可以在數(shù)據(jù)庫系統(tǒng)中選擇自己的已修課程,系統(tǒng)根據(jù)用戶的課程信息,自動(dòng)計(jì)算并反饋當(dāng)前學(xué)分進(jìn)度等詳細(xì)信息。該系統(tǒng)還應(yīng)具有友好簡潔的界面設(shè)計(jì)風(fēng)格。數(shù)據(jù)庫系統(tǒng)需要將課程信息以直白易懂的方式呈現(xiàn)給用戶,如樹狀圖、熱力圖等。為實(shí)現(xiàn)個(gè)性化推薦課程的功能,該系統(tǒng)需要對用戶的個(gè)人數(shù)據(jù)進(jìn)行分析,結(jié)合其他用戶的課程信息,給出具有針對性的推薦方案。
④該系統(tǒng)還應(yīng)為用戶提供討論交流的功能。用戶可以在系統(tǒng)的社區(qū)版塊發(fā)表言論,表達(dá)自己的想法,對課程提出合理化建議。其他用戶可以對發(fā)言進(jìn)行查看和回復(fù)。
結(jié)合上述功能需求分析的內(nèi)容,本文將數(shù)據(jù)庫進(jìn)行了統(tǒng)籌設(shè)計(jì)。本系統(tǒng)的數(shù)據(jù)庫主要包括五張主表:STUDENT表(用于存儲(chǔ)學(xué)生用戶的相關(guān)信息,以學(xué)生序號STU_NO作為主鍵)、EDUCATION_PLAN表(用于存儲(chǔ)學(xué)生個(gè)人學(xué)分修讀情況的信息,以課程序號CO_NO作為主鍵)、CHOOSE表(用于存儲(chǔ)學(xué)生已修課程表,以課程序號CO_NO作為主鍵)、NEWS表(用于存儲(chǔ)課程評價(jià)信息,以課程評價(jià)NEWS_ID作為主鍵)以及LOG_INFORMATION表(用于存儲(chǔ)登錄操作,以登陸時(shí)間LOG_TIME作為主鍵)。
二、系統(tǒng)架構(gòu)設(shè)計(jì)
在本系統(tǒng)中,筆者對功能進(jìn)行細(xì)化,將學(xué)生的學(xué)分統(tǒng)計(jì)和管理的需求放到首位,對其進(jìn)行可視化的設(shè)計(jì)。為了能使項(xiàng)目具有更加優(yōu)良、更加友好的用戶交互性,筆者篩選了不同方式的表示模型,最終選定利用Echarts進(jìn)行可視化學(xué)分展示。
相較于傳統(tǒng)的SSH框架、SSM框架以及新興的Django框架,系統(tǒng)使用了更為輕便的Flask框架進(jìn)行開發(fā),原因可歸為:①本次項(xiàng)目的開發(fā)重點(diǎn)較為集中,功能較為簡便,不需要使用較為繁復(fù)的開發(fā)框架;②Python語言近兩年的發(fā)展勢頭很高漲,而其中Flask框架的學(xué)習(xí)成本較低,可以更為便捷的進(jìn)行網(wǎng)站開發(fā);③Flask框架偏屬于微架構(gòu),旨在保持應(yīng)用程序的核心簡單且可擴(kuò)展,交互性和操作性也更為輕便友好。
綜上,本系統(tǒng)使用基于Python語言的Flask框架以及HTML+CSS+JS進(jìn)行整體的WEB引擎開發(fā),后臺(tái)數(shù)據(jù)庫使用Mysql,項(xiàng)目中的可視化效果渲染使用的是Echarts插件,具體的工作模塊包括:
①登陸注冊模塊:在用戶登陸和注冊的模塊中,用戶可以輸入自己的賬號以及密碼,同時(shí)用戶也可以通過輸入學(xué)號、原始密碼、新密碼對密碼進(jìn)行修改。
②學(xué)分管理模塊:在可視化學(xué)分管理模塊,系統(tǒng)利用Echarts渲染前端內(nèi)容,以三色進(jìn)度條方式顯示目前所修讀課程的完成情況。同時(shí),用戶可以通過點(diǎn)擊課程樹的課程節(jié)點(diǎn)以進(jìn)行預(yù)選課、撤銷選課,預(yù)選撤銷過程中自動(dòng)實(shí)現(xiàn)進(jìn)度條的預(yù)更新,只有當(dāng)點(diǎn)擊提交按鈕后方才真正更新自己課程修讀情況。
③推薦模塊:在推薦模塊當(dāng)中,系統(tǒng)利用SVD分解算法為用戶推薦與其課程興趣相同的用戶,以加強(qiáng)用戶間的相互交流。同時(shí),在基于SVD分解算法為用戶推薦其可能感興趣的課程的基礎(chǔ)上,加強(qiáng)對于過擬合效果的干預(yù),加入懲罰項(xiàng)優(yōu)化模型為RSVD進(jìn)行課程推薦。
對課程進(jìn)行評分后將生成一個(gè)User-Course稀疏矩陣R,根據(jù)用兩個(gè)矩陣P和Q的乘積來表示評分矩陣R。利用R中的已知評分訓(xùn)練P和Q使得P和Q相乘的結(jié)果更好地?cái)M合已知的評分,那么推測的評分也就可以用得到。為了進(jìn)一步優(yōu)化擬合評分,可以通過額外的隨機(jī)梯度下降模型對SSE進(jìn)行訓(xùn)練,從而得出較好的評分模型。為了進(jìn)一步避免Basic SVD過擬合的問題,可以在目標(biāo)函數(shù)SSE中加入正則化參數(shù)。
④交流討論模塊:在課程評價(jià)模塊當(dāng)中,所有用戶都可以在“發(fā)布評價(jià)”板塊發(fā)布對課程的評價(jià)信息,評價(jià)信息包括主題和內(nèi)容兩部分。用戶可以在“課程評價(jià)”板塊查看其他用戶發(fā)布的課程評價(jià)信息。
三、系統(tǒng)測試及分析
3.1登陸界面測試:
1)登陸系統(tǒng):登錄到系統(tǒng)登陸界面后用戶可以點(diǎn)擊界面中“登陸”即可進(jìn)入登陸系統(tǒng)界面,在登錄界面中輸入用戶名和密碼,點(diǎn)擊登錄即可登錄系統(tǒng);2) 修改密碼:切換到修改密碼界面后用戶點(diǎn)擊界面中“修改密碼”即可進(jìn)入修改密碼界面,提交需要的信息即可修改密碼。
3.2系統(tǒng)首頁主界面:
用戶經(jīng)過登錄檢驗(yàn)后登錄到系統(tǒng)首頁主界面后即可進(jìn)入系統(tǒng)首頁。點(diǎn)擊頁面中的“課程進(jìn)度”、“選課推薦”、“課程討論”、“個(gè)人中心”按鈕可以快速鏈接到對應(yīng)的功能頁面中。
3.3學(xué)分可視化管理:
1)查看個(gè)人學(xué)分修讀進(jìn)度:用戶登陸后點(diǎn)擊圖系統(tǒng)主首頁界面右上角的“課程進(jìn)度”進(jìn)行操作,學(xué)分修讀進(jìn)度的呈現(xiàn)方式分為頁面左部的進(jìn)度條形式和右部的樹狀形式。樹狀圖中葉子結(jié)點(diǎn)為綠色代表該用戶已選擇該門課程,紅色代表該用戶未選擇該門課程;2)修改個(gè)人學(xué)分修讀完成狀態(tài):用戶點(diǎn)擊圖學(xué)分可視化管理界面右部樹形圖的葉子結(jié)點(diǎn)進(jìn)行學(xué)分修讀完成狀態(tài)修改,方便用戶進(jìn)行選擇評估;3)課程評分課程評分界面如圖所示。在學(xué)分可視化管理界面點(diǎn)擊左側(cè)“評分”即可進(jìn)入評分界面。
3.4推薦模塊:
用戶登陸后點(diǎn)擊系統(tǒng)首頁界面右上角的“課程推薦”即可進(jìn)入課程推薦界面。課程推薦界面將為用戶推薦其可能喜歡的課和與用戶具有相似選課/相似課程評分的同學(xué)。
3.5交流論壇模塊:
1)查看課程評論信息:用戶登陸后可以點(diǎn)擊系統(tǒng)首頁界面右上角的“課程論壇”即可進(jìn)入課程論壇界面;2)課程評論:用戶可以點(diǎn)擊課程論壇界面左側(cè)的“課程討論”按鈕即可進(jìn)入課程評論界面;3)話題回復(fù):用戶可以點(diǎn)擊課程論壇界面的話題超鏈接即可進(jìn)入該話題的話題回復(fù)界面。
3.6用戶信息管理模塊:
在登陸界面輸入管理員賬號密碼即可進(jìn)入管理員界面。管理員管理界面主要用于管理員管理用戶個(gè)人信息。
1)添加用戶:填寫所需要的用戶信息并點(diǎn)擊“添加用戶”按鈕即可添加用戶;2)刪除用戶:點(diǎn)擊管理界面下方的“刪除用戶”按鈕即可進(jìn)入刪除用戶界面;3)編輯用戶:點(diǎn)擊管理界面下方的“編輯用戶”按鈕即可進(jìn)入編輯用戶界面。
結(jié)合測試的流程以及測試的實(shí)際操作結(jié)果,我們可以看出當(dāng)前的系統(tǒng)具有完善的功能、流暢的操作以及良好的后期拓展性。
四、總結(jié)與展望
Growth的開發(fā)圍繞著學(xué)生的切實(shí)需求展開,并專注如何能夠以最優(yōu)效果向?qū)W生展示最全面且交互性友好的學(xué)分管理系統(tǒng),同時(shí)并輔以課程評分、課程推薦、交流討論等模塊助力學(xué)生更好的完成本專業(yè)的修讀任務(wù)。系統(tǒng)利用輕便的Flask框架作為前后臺(tái)的開發(fā)引擎模板,并結(jié)合可視化插件Echarts實(shí)現(xiàn)信息的可視化,這種樹狀的學(xué)分可視化管理具有很大的開發(fā)和應(yīng)用潛力,相信該系統(tǒng)的使用可以很大程度上減輕學(xué)生對于個(gè)人的學(xué)分管理,提高學(xué)生的學(xué)習(xí)效率和學(xué)習(xí)興趣。
參? 考? 文? 獻(xiàn)
[1]楊德仕,曹健.基于.NET平臺(tái)的在線開放課程學(xué)分認(rèn)定管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)——以中原工學(xué)院為例[J].中原工學(xué)院學(xué)報(bào),2020,31(01):38-43.
[2]曹宇欣.大學(xué)生創(chuàng)新學(xué)分管理系統(tǒng)分析設(shè)計(jì)[J].電腦知識與技術(shù),2019,15(01):69-71.
[3]汪玲,阮智,張立濤,田越.大學(xué)生創(chuàng)新學(xué)分管理設(shè)計(jì)與實(shí)現(xiàn)研究——基于SSH框架[J].現(xiàn)代商貿(mào)工業(yè),2017(15):159-161.
[4]黃志衛(wèi).鶴山職校學(xué)生學(xué)分管理系統(tǒng)的研究與分析[D].云南大學(xué),2015.