歐陽習(xí)彪,徐寶林,蔣 謹
(廣東白云學(xué)院大數(shù)據(jù)與計算機學(xué)院,廣州510000)
實踐教學(xué)在應(yīng)用型本科院校中尤為重要,而實驗報告通常是實踐環(huán)節(jié)評分的重要組成部分,能夠比較直接有效地反映學(xué)生對相關(guān)理論知識的理解和掌握程度。目前高校實驗教學(xué)中,對學(xué)生實驗報告提交、收集和管理方式較為繁瑣,主要有郵件收集、U 盤拷貝、FTP 方式、共享文件夾以及紙質(zhì)實驗報告等幾種主要方式[1]。這些方式普遍存在教師需花費大量的時間去批閱每一個學(xué)生的實驗報告文檔,學(xué)生需要花費大量時間去整理格式,工作效率非常低;完全靠人工閱讀進行考評,主觀性較大等問題,針對以上弊端,本文設(shè)計研發(fā)一種實驗報告在線自動生成、提交、批改以及管理的方案[2]。
系統(tǒng)分為學(xué)生端和教師端,學(xué)生端包括學(xué)生基本信息和報告管理兩部分,學(xué)生基本信息中學(xué)生登錄后需要綁定手機號或者郵箱才能使用報告管理功能,學(xué)生可以通過實驗報告管理部分選擇對應(yīng)的實驗任務(wù)進行編輯提交,提交后自動生成帶格式的實驗報告,學(xué)生只需編輯對應(yīng)的實驗內(nèi)容并不需要關(guān)注報告格式;教師端包括實驗參數(shù)設(shè)置、實驗管理、報告管理、學(xué)生管理、教師管理五部分,分為管理員和教師兩個角色。先由管理員負責(zé)錄入學(xué)生管理和教師管理的基礎(chǔ)數(shù)據(jù),教師進入系統(tǒng)設(shè)置實驗參數(shù)、創(chuàng)建實驗任務(wù)并發(fā)布,學(xué)生通過賬號密碼登錄系統(tǒng)后便可看到剛創(chuàng)建的實驗任務(wù),學(xué)生編輯任務(wù)提交,在教師端的報告管理列表中生成一條實驗報告記錄,如果創(chuàng)建實驗室設(shè)置的自動閱卷、系統(tǒng)通過定時任務(wù),每一小時自動批閱一次所有未批閱的實驗報告,未啟動自動閱卷功能則需教師手動閱卷打分,閱卷后學(xué)生端便生成一份實驗報告檔案[3]。
該系統(tǒng)采用B/S架構(gòu),使用PHP語言進行開發(fā),采用Nginx 作為反向代理服務(wù)器,選用MySQL 作為數(shù)據(jù)庫,系統(tǒng)前后端分離,前端界面采用Bootstrap 框架,使用Ajax 進行前后端交互,后端基于THINKPHP6 框架MVC 架構(gòu)進行開發(fā),系統(tǒng)中大量使用redis 作為緩存來提高訪問速度[4-5],利用Jieba 第三方中文分詞工具實現(xiàn)自動閱卷功能。
本系統(tǒng)中主要創(chuàng)建了如下表:
(1)實驗參數(shù)表(名為es_arctype):主要包括實驗名稱(typename)、截止時間(deadline)、是否開啟自動閱卷(is_auto_decided)、指定發(fā)送班級(class_ids)。
(2)字段表(es_channelfield):該表的字段在設(shè)置實驗參數(shù)時產(chǎn)生,主要包括字段名稱(name)、字段類型(dtype)、默認值(dfvalue)。
(3)教師表(es_admin):主要字段有用戶名(user_name)、用戶密碼(password)、手機號(mobile)、郵箱(email)。
(4)學(xué)生表(es_users):主要字段有用戶名(username)、用戶密碼(password)、手機號(mobile)、郵箱(email)、學(xué)生等級(level)。
(5)學(xué)生實驗報告記錄表(es_archives):該表不保存具體的實驗內(nèi)容,主要記錄學(xué)生實驗報告分數(shù)及教師評語,主要字段有報告作者(author)、實驗報告分數(shù)(fraction)、教師評語(remark)。數(shù)據(jù)庫中各字段及屬性見表1。
表1 學(xué)生實驗報告記錄
(6)學(xué)生實驗報告內(nèi)容表(es_article_content):該表與實驗報告表關(guān)聯(lián),記錄學(xué)生的實驗報告的詳細信息,該表字段由程序控制進行動態(tài)擴建,后臺每新增一個實驗參數(shù),會在此表生成一個實驗參數(shù)及其對應(yīng)的分數(shù)字段。數(shù)據(jù)庫中各字段及屬性見表2。
表2 實驗報告內(nèi)容
系統(tǒng)管理員在系統(tǒng)中錄入教師和學(xué)生賬號信息后,教師方可進行實驗任務(wù)的相關(guān)操作。實驗報告是由一系列參數(shù)組構(gòu)成,教師創(chuàng)建實驗任務(wù)的第一步是設(shè)置實驗報告參數(shù)。在參數(shù)管理中點擊新增實驗參數(shù),參數(shù)中字段類型支持各種輸入框類型(各輸入框類型已經(jīng)提前在配置文件中配置好),參數(shù)可以選擇是否有分數(shù),比如學(xué)生姓名、班級等信息是不需要配置分數(shù),但如實驗原理、實驗步驟等參數(shù)則需要配置分數(shù),界面如圖1所示。
圖1 實驗參數(shù)設(shè)置
實驗參數(shù)設(shè)置好之后教師可在實驗管理模塊中選擇增加實驗、擬定實驗名稱、設(shè)置實驗截止時間和超時扣分數(shù)值,設(shè)置好相關(guān)參數(shù)確認提交后會發(fā)郵件提醒相關(guān)學(xué)生有實驗任務(wù)發(fā)布,在截止時間的前兩天會自動發(fā)送郵件提醒相對應(yīng)的學(xué)生及時提交,系統(tǒng)支持自動閱卷功能,默認關(guān)閉自動閱卷功能,教師必須選擇實驗參數(shù),實驗參數(shù)從設(shè)置好的參數(shù)列表中進行選擇,每個參數(shù)配置對應(yīng)的分數(shù)、排序值、參考答案(供自動閱卷功能使用,參考答案要求精簡,不能有重復(fù)的內(nèi)容以方便計算分數(shù)),指定發(fā)送班級,提交后學(xué)生登錄系統(tǒng)自動生成一份實驗任務(wù)。界面如圖2所示。
圖2 創(chuàng)建實驗任務(wù)
學(xué)生通過賬號密碼登錄實驗報告學(xué)生端,初次登錄需要在學(xué)生信息中綁定手機號和郵箱。進入報告管理界面,學(xué)生在所屬欄目中選擇教師布置的任務(wù)進行編輯內(nèi)容提交;在線制作實驗報告時學(xué)生只需在對應(yīng)框中填入實驗內(nèi)容,并不需要關(guān)注實驗報告格式,極大提高了寫作效率。在線制作實驗報告如圖3所示,提交后實驗報告效果圖如圖4所示。
圖3 在線制作實驗報告
圖4 實驗報告預(yù)覽效果
教師在報告管理中可按實驗任務(wù)或其他查詢條件,逐篇查看學(xué)生提交的實驗報告。教師可以依據(jù)分類(已批改、未批改或全部)等查詢條件篩選相應(yīng)的實驗報告,對尚未批改的實驗報告進行批改,實驗報告列表如圖5所示,批閱實驗報告的界面如圖6所示。
圖5 教師查看并批改實驗報告
圖6 教師批閱實驗報告
若教師在創(chuàng)建實驗任務(wù)時開啟自動閱卷功能,利用定時任務(wù)每隔一個小時執(zhí)行一次自動閱卷功能的腳本。自動閱卷功能執(zhí)行流程如下:
(1)從數(shù)據(jù)實驗參數(shù)表(名為es_arctype)中取出當(dāng)天所有未批閱的數(shù)據(jù)。
(2)循環(huán)處理每一條實驗報告記錄,調(diào)用Jieba中文分詞cutForSearch 方法,將實驗報告內(nèi)容進行中文分詞,由于分詞后可能有重復(fù),需要去重處理。
(3)從數(shù)據(jù)庫中取出當(dāng)前循環(huán)實驗報告任務(wù)對應(yīng)的參考答案,每個參考答案分值平均處理。
(4)將分詞后去重的實驗報告內(nèi)容與參考答案進行匹配,匹配上就累加分值,最終分值就為實驗報告分數(shù)。
程序核心代碼如下:
筆者結(jié)合自己所在學(xué)校的開放實驗教學(xué)改革思路與開放實驗室的定位、功能和目標(biāo),以及實驗管理的實際需求,充分借鑒、吸收和融合當(dāng)前在線作業(yè)系統(tǒng)的優(yōu)點,開發(fā)了一套具備學(xué)校特色的在線實驗報告管理系統(tǒng),本系統(tǒng)功能齊全,支持在線創(chuàng)建實驗報告任務(wù)、自動閱卷、批量導(dǎo)出實驗報告和分數(shù)等功能;學(xué)生在線制作實驗報告并不需要關(guān)心報告格式;極大提高了教師和學(xué)生的效率,提升了實驗教學(xué)效果。