歐陽習彪,徐寶林,蔣 謹
(廣東白云學院大數據與計算機學院,廣州510000)
實踐教學在應用型本科院校中尤為重要,而實驗報告通常是實踐環節評分的重要組成部分,能夠比較直接有效地反映學生對相關理論知識的理解和掌握程度。目前高校實驗教學中,對學生實驗報告提交、收集和管理方式較為繁瑣,主要有郵件收集、U 盤拷貝、FTP 方式、共享文件夾以及紙質實驗報告等幾種主要方式[1]。這些方式普遍存在教師需花費大量的時間去批閱每一個學生的實驗報告文檔,學生需要花費大量時間去整理格式,工作效率非常低;完全靠人工閱讀進行考評,主觀性較大等問題,針對以上弊端,本文設計研發一種實驗報告在線自動生成、提交、批改以及管理的方案[2]。
系統分為學生端和教師端,學生端包括學生基本信息和報告管理兩部分,學生基本信息中學生登錄后需要綁定手機號或者郵箱才能使用報告管理功能,學生可以通過實驗報告管理部分選擇對應的實驗任務進行編輯提交,提交后自動生成帶格式的實驗報告,學生只需編輯對應的實驗內容并不需要關注報告格式;教師端包括實驗參數設置、實驗管理、報告管理、學生管理、教師管理五部分,分為管理員和教師兩個角色。先由管理員負責錄入學生管理和教師管理的基礎數據,教師進入系統設置實驗參數、創建實驗任務并發布,學生通過賬號密碼登錄系統后便可看到剛創建的實驗任務,學生編輯任務提交,在教師端的報告管理列表中生成一條實驗報告記錄,如果創建實驗室設置的自動閱卷、系統通過定時任務,每一小時自動批閱一次所有未批閱的實驗報告,未啟動自動閱卷功能則需教師手動閱卷打分,閱卷后學生端便生成一份實驗報告檔案[3]。
該系統采用B/S架構,使用PHP語言進行開發,采用Nginx 作為反向代理服務器,選用MySQL 作為數據庫,系統前后端分離,前端界面采用Bootstrap 框架,使用Ajax 進行前后端交互,后端基于THINKPHP6 框架MVC 架構進行開發,系統中大量使用redis 作為緩存來提高訪問速度[4-5],利用Jieba 第三方中文分詞工具實現自動閱卷功能。
本系統中主要創建了如下表:
(1)實驗參數表(名為es_arctype):主要包括實驗名稱(typename)、截止時間(deadline)、是否開啟自動閱卷(is_auto_decided)、指定發送班級(class_ids)。
(2)字段表(es_channelfield):該表的字段在設置實驗參數時產生,主要包括字段名稱(name)、字段類型(dtype)、默認值(dfvalue)。
(3)教師表(es_admin):主要字段有用戶名(user_name)、用戶密碼(password)、手機號(mobile)、郵箱(email)。
(4)學生表(es_users):主要字段有用戶名(username)、用戶密碼(password)、手機號(mobile)、郵箱(email)、學生等級(level)。
(5)學生實驗報告記錄表(es_archives):該表不保存具體的實驗內容,主要記錄學生實驗報告分數及教師評語,主要字段有報告作者(author)、實驗報告分數(fraction)、教師評語(remark)。數據庫中各字段及屬性見表1。

表1 學生實驗報告記錄
(6)學生實驗報告內容表(es_article_content):該表與實驗報告表關聯,記錄學生的實驗報告的詳細信息,該表字段由程序控制進行動態擴建,后臺每新增一個實驗參數,會在此表生成一個實驗參數及其對應的分數字段。數據庫中各字段及屬性見表2。

表2 實驗報告內容
系統管理員在系統中錄入教師和學生賬號信息后,教師方可進行實驗任務的相關操作。實驗報告是由一系列參數組構成,教師創建實驗任務的第一步是設置實驗報告參數。在參數管理中點擊新增實驗參數,參數中字段類型支持各種輸入框類型(各輸入框類型已經提前在配置文件中配置好),參數可以選擇是否有分數,比如學生姓名、班級等信息是不需要配置分數,但如實驗原理、實驗步驟等參數則需要配置分數,界面如圖1所示。

圖1 實驗參數設置
實驗參數設置好之后教師可在實驗管理模塊中選擇增加實驗、擬定實驗名稱、設置實驗截止時間和超時扣分數值,設置好相關參數確認提交后會發郵件提醒相關學生有實驗任務發布,在截止時間的前兩天會自動發送郵件提醒相對應的學生及時提交,系統支持自動閱卷功能,默認關閉自動閱卷功能,教師必須選擇實驗參數,實驗參數從設置好的參數列表中進行選擇,每個參數配置對應的分數、排序值、參考答案(供自動閱卷功能使用,參考答案要求精簡,不能有重復的內容以方便計算分數),指定發送班級,提交后學生登錄系統自動生成一份實驗任務。界面如圖2所示。

圖2 創建實驗任務
學生通過賬號密碼登錄實驗報告學生端,初次登錄需要在學生信息中綁定手機號和郵箱。進入報告管理界面,學生在所屬欄目中選擇教師布置的任務進行編輯內容提交;在線制作實驗報告時學生只需在對應框中填入實驗內容,并不需要關注實驗報告格式,極大提高了寫作效率。在線制作實驗報告如圖3所示,提交后實驗報告效果圖如圖4所示。

圖3 在線制作實驗報告

圖4 實驗報告預覽效果
教師在報告管理中可按實驗任務或其他查詢條件,逐篇查看學生提交的實驗報告。教師可以依據分類(已批改、未批改或全部)等查詢條件篩選相應的實驗報告,對尚未批改的實驗報告進行批改,實驗報告列表如圖5所示,批閱實驗報告的界面如圖6所示。

圖5 教師查看并批改實驗報告

圖6 教師批閱實驗報告
若教師在創建實驗任務時開啟自動閱卷功能,利用定時任務每隔一個小時執行一次自動閱卷功能的腳本。自動閱卷功能執行流程如下:
(1)從數據實驗參數表(名為es_arctype)中取出當天所有未批閱的數據。
(2)循環處理每一條實驗報告記錄,調用Jieba中文分詞cutForSearch 方法,將實驗報告內容進行中文分詞,由于分詞后可能有重復,需要去重處理。
(3)從數據庫中取出當前循環實驗報告任務對應的參考答案,每個參考答案分值平均處理。
(4)將分詞后去重的實驗報告內容與參考答案進行匹配,匹配上就累加分值,最終分值就為實驗報告分數。
程序核心代碼如下:


筆者結合自己所在學校的開放實驗教學改革思路與開放實驗室的定位、功能和目標,以及實驗管理的實際需求,充分借鑒、吸收和融合當前在線作業系統的優點,開發了一套具備學校特色的在線實驗報告管理系統,本系統功能齊全,支持在線創建實驗報告任務、自動閱卷、批量導出實驗報告和分數等功能;學生在線制作實驗報告并不需要關心報告格式;極大提高了教師和學生的效率,提升了實驗教學效果。