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