陳 琦,胡 楊,姜瑩瑩
(徐州醫(yī)科大學(xué) 信息化處,江蘇 徐州 221004)
為防控“新冠”疫情,很多高校采取線上授課、封校等嚴(yán)格的管理措施,讓原本習(xí)慣于線下授課的師生感到不適。 如何利用信息化手段保持學(xué)生學(xué)習(xí)動(dòng)力,提高學(xué)習(xí)興趣,成為研究熱點(diǎn)。 黃亞婷等[1]研究了疫情背景下混合教學(xué)中本科生學(xué)習(xí)投入的影響機(jī)制;錢雪峰[2]闡述了疫情防控新常態(tài)下學(xué)校體育教學(xué)的應(yīng)對(duì)方法;張麗娟等[3]提出了疫情下高校線上教學(xué)質(zhì)量評(píng)價(jià)的新方法。 為激發(fā)學(xué)生在疫情防控期間的學(xué)習(xí)動(dòng)力,同時(shí)貫徹落實(shí)中共中央、國(guó)務(wù)院《關(guān)于加強(qiáng)和改進(jìn)新形勢(shì)下高校思想政治工作的意見(jiàn)》提出的“三全育人”要求,本研究利用信息化大數(shù)據(jù)手段分析本科生成績(jī),通過(guò)電子獎(jiǎng)狀的形式鼓勵(lì)取得優(yōu)異成績(jī)或巨大進(jìn)步的莘莘學(xué)子,增強(qiáng)本科生學(xué)習(xí)動(dòng)力,激發(fā)其學(xué)習(xí)興趣。
對(duì)于本科生來(lái)講,成績(jī)是決定順利畢業(yè)并獲取學(xué)位的關(guān)鍵因素。 因此,對(duì)本科生來(lái)說(shuō),成績(jī)的好壞至關(guān)重要。 對(duì)取得好成績(jī)或取得巨大進(jìn)步的學(xué)生給予學(xué)校層面的證書(shū)獎(jiǎng)勵(lì),無(wú)疑對(duì)學(xué)生心理上產(chǎn)生良好的正反饋?zhàn)饔?同時(shí)激發(fā)周邊同學(xué)競(jìng)爭(zhēng)意識(shí),帶動(dòng)學(xué)習(xí)積極性。 根據(jù)對(duì)教務(wù)處以及各學(xué)院的調(diào)研,本科生成績(jī)主要分為期末成績(jī)和階段性成績(jī)。
本科生的學(xué)習(xí)成績(jī)主要在每學(xué)期末產(chǎn)生,通過(guò)集中考試,取得考試成績(jī)錄入教務(wù)系統(tǒng)。 同時(shí),各學(xué)科老師會(huì)根據(jù)學(xué)生日常表現(xiàn)得出平時(shí)成績(jī)錄入系統(tǒng)。 兩個(gè)成績(jī)根據(jù)一定比例合計(jì)成為該課程最終成績(jī)。
本科生的課程一般分為必修課、專業(yè)選修課和公共選修課。 其中,必修課與專業(yè)選修課在同年級(jí)、同學(xué)院中有較好的可比較性。 公共選修課種類繁多,包含專業(yè)無(wú)關(guān)課程;學(xué)生選課靈活,基本不受限制;授課老師評(píng)分標(biāo)準(zhǔn)差別大,有的按照正態(tài)分布曲線進(jìn)行,有的平均學(xué)分績(jī)點(diǎn)卻達(dá)到4 分以上;因此,可比較性較差。
每學(xué)期僅在期末采取激勵(lì)措施,對(duì)于部分二級(jí)學(xué)院來(lái)說(shuō)次數(shù)太少。 有些學(xué)院在設(shè)置課程時(shí),會(huì)設(shè)置期中考試等階段性考試,這類考試成績(jī)一般不會(huì)進(jìn)入教務(wù)系統(tǒng),主要由任課教師掌握,用于了解學(xué)生階段性學(xué)習(xí)情況以及用于期末考試中平時(shí)成績(jī)的參考。 針對(duì)有階段性成績(jī)分析需求的學(xué)院,需要預(yù)留成績(jī)Excel 導(dǎo)入入口,用于階段性成績(jī)的導(dǎo)入,進(jìn)而形成階段性成績(jī)的評(píng)價(jià)結(jié)果。
Python 語(yǔ)言使用類似腳本語(yǔ)言的精簡(jiǎn)語(yǔ)法、擁有良好的編程語(yǔ)言生態(tài)及強(qiáng)大的通用編程能力,同時(shí)由于對(duì)接其他編程語(yǔ)言優(yōu)勢(shì)明顯,被業(yè)內(nèi)公認(rèn)“為膠水語(yǔ)言”,隨著NumPy、Pandas 等Python 開(kāi)源擴(kuò)展包的出現(xiàn),Python 成了數(shù)據(jù)分析處理的不二之選[4]。
3.1.1 基于NumPy 的Pandas
NumPy 是Python 的開(kāi)源擴(kuò)展包,主要用于數(shù)值計(jì)算,提供強(qiáng)大的維度數(shù)組與矩陣運(yùn)算能力,針對(duì)數(shù)組運(yùn)算也提供大量簡(jiǎn)單易用的數(shù)學(xué)函數(shù)庫(kù)。
Pandas 是基于Numpy 的Python 開(kāi)源擴(kuò)展包,提供Series(一維數(shù)據(jù))和DataFrame(二維數(shù)據(jù))兩種主要數(shù)據(jù)格式,在處理一維序列或二維表格數(shù)據(jù)時(shí)有著天然優(yōu)勢(shì)[5]。
根據(jù)業(yè)務(wù)分析,本科生成績(jī)主要為存儲(chǔ)在結(jié)構(gòu)化數(shù)據(jù)庫(kù)中的期末成績(jī)和以Excel 表格為主的階段性成績(jī),均為二維表格數(shù)據(jù)形式,正是Pandas 處理數(shù)據(jù)優(yōu)勢(shì)所在。
3.1.2 基于Tkinter 的CS 模式
Tkinter 是Python 的標(biāo)準(zhǔn)圖形用戶界面(Graphical User Interface,GUI)庫(kù)。 使用Tkinter 可以快速創(chuàng)建GUI 應(yīng)用程序。 對(duì)于簡(jiǎn)單的圖形界面,Tkinter 可以應(yīng)付自如[6]。
研究中激勵(lì)系統(tǒng)的用戶界面主要用于階段性成績(jī)的Excel 導(dǎo)入以及發(fā)放證書(shū)使用。 主要用戶為個(gè)別學(xué)院的教學(xué)辦老師、教務(wù)處以及學(xué)工處的個(gè)別老師,用戶面相對(duì)較窄,使用重客戶端的客戶端服務(wù)(Client Server,CS)模式即可很好地滿足需要,而且避免了系統(tǒng)服務(wù)器的安裝與維護(hù),只需保證客戶端與校內(nèi)數(shù)據(jù)庫(kù)及互聯(lián)網(wǎng)可以正常通信即可。
3.1.3 基于騰訊樂(lè)享的證書(shū)頒發(fā)
騰訊樂(lè)享是騰訊科技有限公司打造的企業(yè)社區(qū)平臺(tái),具有包括電子證書(shū)頒發(fā)在內(nèi)的眾多免費(fèi)應(yīng)用。 證書(shū)模塊提供證書(shū)編輯器功能,管理員可以用圖形化方式快速創(chuàng)建或編輯證書(shū);提供證書(shū)管理功能,可以查看、導(dǎo)出明細(xì)并批量頒發(fā)、收回證書(shū);提供證書(shū)自動(dòng)頒發(fā)功能,支持通過(guò)應(yīng)用程序編程接口(Application Programming Interface,API)頒發(fā)證書(shū)[7-8]。
由于騰訊樂(lè)享免費(fèi)及提供API 對(duì)接的特性,本研究中激勵(lì)系統(tǒng)的獎(jiǎng)狀制作使用騰訊樂(lè)享證書(shū)功能;同時(shí)利用騰訊樂(lè)享與同為騰訊產(chǎn)品的企業(yè)微信可以無(wú)縫對(duì)接的特性,通過(guò)企業(yè)微信為學(xué)生發(fā)送電子證書(shū)。
根據(jù)上述業(yè)務(wù)需求與技術(shù)分析,可以將系統(tǒng)設(shè)計(jì)如圖1 所示。
圖1 系統(tǒng)結(jié)構(gòu)
3.2.1 業(yè)務(wù)邏輯實(shí)現(xiàn)
本科生的課程因?qū)I(yè)、年級(jí)不同而存在較大差異,需根據(jù)學(xué)院、年級(jí)進(jìn)行分類;因個(gè)人選修不同,課程和課程數(shù)量也不相同,因此成績(jī)需要折算。 根據(jù)折算成績(jī)分學(xué)院、年級(jí)進(jìn)行排名。
計(jì)算學(xué)生成績(jī)需要使用到的相關(guān)數(shù)據(jù):學(xué)號(hào)、課程號(hào)、姓名、學(xué)院編號(hào)、年級(jí)、成績(jī)類型、課程性質(zhì)、學(xué)分、考試學(xué)期、折算成績(jī)。 根據(jù)業(yè)務(wù)邏輯數(shù)據(jù)需要,根據(jù)成績(jī)類型及分?jǐn)?shù)進(jìn)行清洗:其中,應(yīng)排除免修、緩考、取消成績(jī);將曠考、違紀(jì)、休學(xué)、作弊成績(jī)置為0;為避免掛科學(xué)生參選,將掛科學(xué)生折算成績(jī)直接記為0;去除重修和補(bǔ)考成績(jī);去掉只有公共選修課成績(jī)的學(xué)生。
將清洗后的數(shù)據(jù)折算為成績(jī)。 記每個(gè)學(xué)生的折算成績(jī)?yōu)門(mén),每門(mén)考試成績(jī)?yōu)镾i,每門(mén)課程學(xué)分?jǐn)?shù)為Ci,該學(xué)生參與計(jì)算折算成績(jī)的課程數(shù)量為n,得到如下公式:
根據(jù)計(jì)算結(jié)果,將折算成績(jī)由高到低進(jìn)行排序,根據(jù)人數(shù)取出前3%即獲得“學(xué)霸”證書(shū)獲得者。
計(jì)算進(jìn)步情況時(shí),記上次排名為R0,本次排名為R1,上次參與排名總?cè)藬?shù)為N0,本次總?cè)藬?shù)為N1,進(jìn)步占比記為P,得到如下公式:P為正值則為進(jìn)步,反之為退步,根據(jù)P大小進(jìn)行排序,取前3%作為“飛躍進(jìn)步”證書(shū)獲得者。
3.2.2 界面設(shè)計(jì)實(shí)現(xiàn)
根據(jù)業(yè)務(wù)需要,利用Tkinter GUI 庫(kù),設(shè)計(jì)并實(shí)現(xiàn)系統(tǒng)界面如圖2 所示。
圖2 界面設(shè)計(jì)實(shí)現(xiàn)
界面上標(biāo)注5 個(gè)記號(hào)點(diǎn)為相關(guān)功能點(diǎn)設(shè)計(jì),下面逐一分析。
(1)對(duì)于階段成績(jī),需要上傳Excel 表,點(diǎn)擊“選擇文件”按鈕可以選擇本地上傳文件,上傳完成后,點(diǎn)擊“開(kāi)始分析”按鈕,對(duì)Excel 數(shù)據(jù)進(jìn)行分析。
(2)對(duì)于期末成績(jī),針對(duì)教務(wù)系統(tǒng)數(shù)據(jù)庫(kù)中數(shù)據(jù)最近一次的期末成績(jī)進(jìn)行分析。 因發(fā)放獎(jiǎng)狀須有時(shí)效性,故每次啟動(dòng)直接分析最近一次成績(jī)。
(3)提供Excel 分析結(jié)果下載功能。 對(duì)于業(yè)務(wù)部門(mén),獎(jiǎng)狀誤發(fā)是極大的業(yè)務(wù)隱患,提供Excel 結(jié)果確認(rèn),增加業(yè)務(wù)部門(mén)對(duì)系統(tǒng)的認(rèn)可度及接受度。
(4)根據(jù)下拉選項(xiàng)選擇要頒發(fā)的證書(shū),并確認(rèn)頒發(fā)。
(5)提供信息提示框,提示用戶目前可進(jìn)行的操作,并提示結(jié)果。
3.2.3 證書(shū)頒發(fā)實(shí)現(xiàn)
證書(shū)的頒發(fā)需要利用騰訊樂(lè)享API 進(jìn)行,主要使用兩個(gè)API 接口,證書(shū)列表查詢和證書(shū)頒發(fā)。 騰訊樂(lè)享API 使用時(shí)需先根據(jù)App_Key 和App_Secret 獲取token(令牌,一種API 認(rèn)證機(jī)制),然后將token 放入API 請(qǐng)求中進(jìn)行二次請(qǐng)求,以進(jìn)行相關(guān)業(yè)務(wù)操作。(1)證書(shū)列表查詢。 為確保用戶界面中的證書(shū)列表中證書(shū)均為可用證書(shū),并確保該系統(tǒng)未來(lái)的擴(kuò)展性,顯示的證書(shū)列表從API 中直接獲取。 (2)證書(shū)頒發(fā)。 證書(shū)頒發(fā)的API 每次僅能為一人頒發(fā)證書(shū),需要根據(jù)分析結(jié)果循環(huán)調(diào)用API,根據(jù)學(xué)生學(xué)號(hào)進(jìn)行頒發(fā)操作。 調(diào)用API 時(shí)設(shè)置is_notify 屬性為true,即可通過(guò)企業(yè)微信通知證書(shū)接收人。
本研究詳細(xì)闡述了使用成績(jī)排名發(fā)放電子獎(jiǎng)狀以激勵(lì)學(xué)生學(xué)習(xí)的業(yè)務(wù)需求,同時(shí)對(duì)技術(shù)選型進(jìn)行了詳盡分析,對(duì)技術(shù)架構(gòu)和用戶界面進(jìn)行了詳細(xì)的設(shè)計(jì),并利用Python 中Pandas 的數(shù)據(jù)分析能力、Tkinter 的圖形用戶界面交互能力及騰訊樂(lè)享證書(shū)功能,完成了本科生學(xué)習(xí)激勵(lì)系統(tǒng)建設(shè)。 系統(tǒng)已在實(shí)踐中測(cè)試運(yùn)行,并在激勵(lì)學(xué)生方面取得了良好的效果,可以為有同樣需求的高校提供一種合理的解決思路及可行的實(shí)現(xiàn)路徑。