邱紅麗 張舒雅


摘 要:隨著信息技術的普及,教育行業也逐漸走向了智能化、科技化。所以,在高校也出現了越來越多的新技術來輔助傳統的課堂教學,這其中,尤其以APP居多。本文介紹了基于Python的Django框架的輔助學習APP系統的設計與實現,該系統界面簡單、去繁就簡,滿足學生常用的一些基本功能,具有更好的合理性和實用性。
關鍵詞:Python;排考場;APP
一、引言
隨著科技水平的提高,智能手機已經廣泛應用到了生活的方方面面,當然,這對教育行業的影響也非同小可。在高校眾多的輔助教學的新技術中,少不了APP的身影,學生可以使用手機利用碎片化的時間,隨時隨地學習。所以,近年來,用手機APP來輔助傳統教學的案例也越來越多。在高校APP市場中,由大型教育機構研發的如云端課堂、網易云課堂、中國大學MOOC、學習通等,得到了廣泛的應用。
本系統是在其他輔助教學技術的基礎上,主要針對學生在平時學習中出現的常見問題而開發的。
二、需求分析
本項目以我校學生作為研究對象,針對學生在平時學習中出現的常見問題而開發的。并且最終將學習成果計入課程平時成績的一部分。要解決的問題如下:
(一)章節測試及綜合測試
學生根據課程進度,選擇章節進行練習,題目根據難易程度隨機抽取,主要考察學生的理論知識的掌握程度。如果學生答錯,會有答案提示和試題解析。測試完成后,會自動批改本次成績,并提示是否計入本次成績,不過系統只計入學生的最高成績。最后會顯示所有參與本章節測試的成績分布圖。章節測試題目少,綜合測試試題題目相對較多。
(二)加入收藏夾或錯題庫
在測試過程中,學生可以把試題加入收藏夾或錯題庫,方便以后查看。學生也可以刪除收藏夾或錯題庫里面的試題,也可以查看試題的詳細信息,包含答案、解析、難易程度等。
(三)查看資源
主要是解決學生放學之后能夠方便學習的問題,提供的資源包含了與課程相關的ppt、教案、素材、作業、其他5個部分的內容,學生可以查看或者下載相關的資源。
(四)招聘信息
招聘信息的提供主要包括兩類:網絡招聘信息和線下招聘信息,這些招聘信息由教師提供,并且不定時更新。臨近畢業的學生可以查看一些招聘信息,沒有畢業的學生可以通過查看,了解公司都需要什么樣的人才。
(五)我的
這個界面主要包含了學生的一些主要信息、退出系統的功能。
(六)統計功能
學生測試完后,可以通過圖表看到所有學生的成績分布,以及自己的成績所處的分數段。
三、系統設計與實現
(一)開發工具及語言
開發平臺:PyCharm、HbuliderX
PyCharm是一種Python IDE(Integrated Development Environment,集成開發環境),帶有一整套可以幫助用戶在使用Python語言開發時提高其效率的工具,比如調試、語法高亮、項目管理、代碼跳轉、智能提示、自動完成、單元測試、版本控制。
HBuilderX是DCloud(數字天堂)全新推出的一款支持HTML5的Web開發工具,是一款編輯器和IDE的完美結合,體積小巧,啟動秒開,包含了優秀的字處理能力。
后臺開發語言:Python
Python是目前“最受歡迎的編碼語言”之一,它采用極簡主義設計思想,語法簡單優雅,學習簡單、上手快!Django框架是Python有三大主流Web框架之一,幾乎囊括了Web應用的方方面面,并且還提供了許多網站后臺開發經常用到的模塊。
前端開發語言:
前端使用了HTML5、CSS、JavaScipt進行開發,可以開發一次,針對Android和IOS分別打包。
(二)功能實現
根據需求,本系統主界面設計了“測試”、“資源”、“招聘”、“我的”四個子界面,共包含了用戶登錄、測試、答案提示、統計成績、資料列表、查看招聘信息、添加刪除收藏夾和試題庫等功能。
1、測試功能
學生進入主界面時,會顯示他所在專業的所有課程,學生可以選擇自己學習的課程以及現在學習的章節來進行測試。測試試題包含了10道單選題和5道判斷題,這些試題是根據中、易、難三個級別的不同比例動態抽取,考試結束之后,自動批改分數,學生可以選擇是否計入平時成績。在考試的過程中,可以把試題加入錯誤庫或收藏夾或從中刪除。
# 抽取試題
# 單選,容易,1條
querySet1=models.Question.objects.filter(SNO=sno, cno=cno, qtype=1, level=0).order_by('?')[:1]
# 單選,難,1條
querySet2=models.Question.objects.filter(SNO=sno, cno=cno,qtype=1,qlevel=1).order_by('?')[:1]
# 單選,中等,3條
querySet3=models.Question.objects.filter(SNO=sno,cno=cno,qtype=1,qlevel=2).order_by('?')[:3]
# 判斷,容易,2條
querySet4=models.Question.objects.filter(SNO=sno,cno=cno,qtype=2, qlevel=0).order_by('?')[:1]
# 單選,難,1條
querySet5=models.Question.objects.filter(SNO=sno,cno=cno,qtype=2, qlevel=1).order_by('?')[:1]
# 判斷,中等,2條
querySet6=models.Question.objects.filter(SNO=sno,cno=cno,qtype=2, qlevel=2).order_by('?')[:3]
測試完之后,會顯示成績對應的餅圖,如圖1所示。點擊“返回”,就會返回到主界面;點擊“再測試一次”,就會回到正在測試的章節,繼續測試:
2、資料列表
資源包含了與課程相關的ppt、教案、素材、作業、其他5個部分的內容,學生可以查看或者下載相關的資源。學生通過選擇課程的不同資料來進行學習,并且也可以下載這些資源。
3、招聘信息
招聘里面包含了網絡招聘信息和線下招聘信息,臨近畢業的學生可以查看一些招聘信息,沒有畢業的學生可以通過查看,來了解公司都需要什么樣的技術人才。招聘信息由教師根據招聘信息不斷的更新。
def getJob(request):
queryset = models.Job.objects.all()
4、“我的”功能
這個界面主要包含了學生的收藏夾和試題庫,學生可以通過左滑刪除里面的試題,也可以查看試題的詳細信息,包含答案、解析、難易程度。錯題庫界面如下圖所示:
5、后臺管理
Django提供的Admin管理后臺,是一套用于管理用戶和數據的是Web系統,通過它可以很方便的實現數據的增、刪、改、查功能,實現對用戶的管理。在這個系統中,使用了django-import-export插件實現了用戶的批量導入導出功能。其中管理員具有所有的權限,會在學期前把某個專業的所有課程和學生導入后臺,學期末會清空本學期學生的所有測試成績,還可以添加后臺的教師管理員;教師管理員擁有部分權限,可以導出所教授班級的平時成績。
四、總結
本系統是針對我院學生的學習特點而設計的,不能代表其他高校學生的特點,但是,這些功能具有普適性。為了更好的提高學生的學習效率和知識掌握程度,需要進一步進行需求分析,在功能和細節方面上進一步完善。但是,總體設計目標是就簡避繁,保證學生的使用舒適性。
參考文獻:
1、李榮杰. 輔助教學APP對課堂學生參與度及學習績效的影響[J].創新教育研究,2018(6):268-278
2、徐勇. 《數據結構》輔助教學軟件設計與實現[J]. 長春師范學院學報(自然科學版), 2010, 29(1):53-53
3、李軍豪. 輔助教學APP的設計與實現[J].福建電腦,2016, 32(9):111-11