呂麗君
(長治學(xué)院 電子信息與物理系,山西 長治 046011)
為提升高校工程課程的授課質(zhì)量,許多研究者基于Matlab及其用戶圖形界面技術(shù)(GUI)技術(shù)開發(fā)了各種類型的教學(xué)輔助工具或軟件。文獻(xiàn)[1]基于Matlab開發(fā)了一款名為SoFA的教學(xué)輔助軟件,實(shí)現(xiàn)了對(duì)淺地基進(jìn)行分析和設(shè)計(jì)。有學(xué)者基于Matlab-GUI實(shí)現(xiàn)了對(duì)一些工程課程的教學(xué)內(nèi)容仿真或可視化,比如電力系統(tǒng)[2]、物理光學(xué)[3]、直流電機(jī)[4]以及自動(dòng)控制系統(tǒng)[5][6]等。還有學(xué)者采用java、matlab等程序語言,開發(fā)出課程自動(dòng)評(píng)價(jià)系統(tǒng)[8][9],極大地減少了教師在學(xué)生作業(yè)評(píng)分方面的工作量。這些研究成果,在一定程度上提升了當(dāng)前高校工程教育的效率。
學(xué)生作業(yè)完成情況是授課教師分析學(xué)生對(duì)課堂內(nèi)容掌握程度的重要參考之一。當(dāng)前,越來越多的大學(xué)課程作業(yè)是學(xué)生通過電子郵件等方式提交,教師則需要對(duì)郵件進(jìn)行下載并評(píng)閱。有時(shí),兩個(gè)學(xué)生的作業(yè)疑似雷同,但由于評(píng)閱時(shí)間間隔較長,教師還需重新打開之前評(píng)閱過的作業(yè)進(jìn)行確認(rèn),浪費(fèi)大量時(shí)間。為進(jìn)一步方便教師對(duì)學(xué)生作業(yè)情況掌握和分析,筆者基于Matlab-GUI技術(shù)開發(fā)了一款教學(xué)輔助工具,主要實(shí)現(xiàn)作業(yè)文件的雷同檢測(cè)以及教師評(píng)閱成績的自動(dòng)保存、顯示等功能。
該教學(xué)輔助工具采用Matlab R2018a及其用戶圖形界面技術(shù)(GUI)結(jié)合office 365軟件進(jìn)行開發(fā),并在windows 7和windows 10環(huán)境下運(yùn)行通過。主要功能有:(1)能夠?qū)x定的作業(yè)文件(格式為.docx)同其他文件進(jìn)行雷同檢測(cè),并將雷同作業(yè)列表進(jìn)行顯示。為防止學(xué)生在作業(yè)中加入空格或?qū)⒉糠謨?nèi)容填入表格等方式來逃避該工具的檢測(cè),系統(tǒng)開發(fā)過程中也進(jìn)行了考慮;(2)自動(dòng)記錄教師對(duì)學(xué)生作業(yè)的評(píng)閱分?jǐn)?shù)。該工具可以自動(dòng)打開所要評(píng)閱的作業(yè)文件,并將教師給定的分?jǐn)?shù)自動(dòng)保存到相應(yīng)的Excel文件中,以供日后查看;(3)學(xué)生分?jǐn)?shù)管理及顯示。該功能能夠讓教師直觀地看到學(xué)生作業(yè)分?jǐn)?shù)的分布和變化趨勢(shì),以了解學(xué)生對(duì)課堂知識(shí)的掌握情況。
該教學(xué)輔助工具的主要界面如圖1和圖2所示。

圖1 工具啟動(dòng)過程界面:(a)歡迎界面,(b)初始化成功提示窗口,(c)初始化信息框
工具運(yùn)行后,彈出歡迎界面如圖1(a)所示。該工具首次運(yùn)行,將彈出初始化信息框如圖1(c)所示,待教師輸入課程名稱和班級(jí)名稱信息后,自動(dòng)生成和輸入內(nèi)容關(guān)聯(lián)的文件及文件夾,之后彈出初始化成功提示窗口如圖1(b)所示。再次打開該工具將不會(huì)彈出該輸入對(duì)話框,直接進(jìn)入主界面。

圖2 工具運(yùn)行部分界面:(a)主界面,(b)評(píng)閱成績輸入框,(c)雷同檢測(cè)結(jié)果窗口
在工具主界面(圖2(a))中,可以在下拉菜單中選擇課程、班級(jí)、學(xué)生姓名等,并且可以在可編輯文本框中輸入要查看的是第幾次作業(yè)。Uitable中展示學(xué)生的作業(yè)得分情況。點(diǎn)擊“Open File”按鈕將打開對(duì)應(yīng)學(xué)生的作業(yè)文件,并彈出評(píng)閱成績輸入框如圖2(b)所示,輸入分?jǐn)?shù)后點(diǎn)擊確定自動(dòng)保存分?jǐn)?shù)至特定的文件中。點(diǎn)擊“Anti_Plagiarism”按鈕,將所選文件同本班所有學(xué)生的本次作業(yè)文件進(jìn)行對(duì)比。雷同列表將顯示在雷同檢測(cè)結(jié)果窗口的listbox中。
為避免學(xué)生采用增加空格或?qū)?nèi)容填到表格中等方式逃避該工具的檢測(cè),程序提取作業(yè)文件內(nèi)容時(shí)摒棄空格和表格,只保留文本內(nèi)容,如表1所示。提取后三者內(nèi)容一致,判定為雷同。

表1 雷同檢測(cè)三種特例示意
從作業(yè)文件提取的內(nèi)容分別保存至相應(yīng)的矩陣中,利用Matlab矩陣運(yùn)算的優(yōu)勢(shì),可以對(duì)所有文件內(nèi)容進(jìn)行快速比對(duì)。但若兩份作業(yè)局部相同,將無法判定為雷同。
教學(xué)輔助工具工作流程示意圖如圖3所示。打開軟件后,先運(yùn)行歡迎界面并檢測(cè)當(dāng)前工作路徑中是否存在course_info.xlsx文件,如果存在該文件則判定為非首次使用,直接打開主界面;如果不存在該文件則為首次運(yùn)行,彈出課程信息輸入對(duì)話框等待教師輸入課程和班級(jí)信息。教師輸入課程相關(guān)信息后,軟件自動(dòng)在當(dāng)前工作路徑中生成和輸入信息相對(duì)應(yīng)的文件和文件夾。其中,自動(dòng)生成的文件包括course_info.xlsx和系列班級(jí)成績單.xlsx,文件夾包括課程名文件夾和課程名文件夾下的班級(jí)名子文件夾,然后打開主界面。
作業(yè)文件可以通過USB或Email等方式存放至班級(jí)名文件夾下,命名格式為m_n.docx,其中m表示學(xué)號(hào),n表示該生第幾次作業(yè)。
主界面包含評(píng)閱成績自動(dòng)保存、雷同檢測(cè)、作業(yè)分?jǐn)?shù)展示等三大功能。
從盈利能力來看,山東產(chǎn)權(quán)交易中心披露的信息顯示,2018上半年,山東高速籃球俱樂部實(shí)現(xiàn)營業(yè)收入3.69億元,凈利潤1.4億元,1-8月份實(shí)現(xiàn)營收3.69億元,凈利潤1.33億元。
軟件初始狀態(tài)包含的文件列表及其主要功能如表2所示。

圖3 教學(xué)輔助軟件工作流程示意圖

表2 軟件初始包含的文件及功能

文件名 文件類型 文件功能7 i n i t i a l_i n f o 函數(shù).m文件 生成課程信息輸入對(duì)話框8 c l a s s_s p l i t 函數(shù).m文件 將課程信息輸入對(duì)話框中的信息獲取并按規(guī)則進(jìn)行切割。將課程及班級(jí)信息整理成特定格式并保存到c o u r s e_i n f o.x l s x文件中,并生成和輸入信息相關(guān)的文件夾及文件。1 0 r e a d_w o r d 函數(shù).m文件 讀取將w o r d文件內(nèi)容1 1 r e f r e s h_g r a d e 函數(shù).m文件 將u i t a b l e內(nèi)容更新9 i n f o_s a v e 函數(shù).m文件
假定教師在課程信息輸入對(duì)話框中輸入的信息如圖1(c)中所示,則生成的文件夾及文件如表3所示。需要注意的是生成的文件夾或文件名以及數(shù)量同輸入的信息有關(guān)。

表3 初次運(yùn)行配置后新增的文件或文件夾及其功能
教師在主界面中選擇課程、班級(jí)、姓名以及在文本框中輸入第幾次作業(yè),軟件在對(duì)應(yīng)班級(jí)名文件夾下查找文檔。如果該文檔不存在,則給出提示“文檔不存在”。如果文檔存在,則調(diào)用office word軟件打開,并彈出成績輸入對(duì)話框。教師在對(duì)話框中輸入成績后,該成績將自動(dòng)保存至班級(jí)成績單中,并在主界面uitable中更新顯示。
教師在主界面中選擇課程、班級(jí)、姓名以及在文本框中輸入第幾次作業(yè)。點(diǎn)擊“Anti_Plagiarism”按鈕,軟件將對(duì)選定文件同該班級(jí)其他同學(xué)本次作業(yè)所有文件進(jìn)行比對(duì)。雷同的文件名列表將保存在自動(dòng)生成的same_list.xlsx文件中,并彈出Anti_Plagiarism_Results界面進(jìn)行顯示。
鼠標(biāo)選中主界面中的uitable任一單元格,將顯示學(xué)生作業(yè)分?jǐn)?shù)分布圖形窗口,分為兩部分:學(xué)生歷次作業(yè)成績趨勢(shì)曲線;本次作業(yè)全班成績分布柱狀圖。

圖4 作業(yè)評(píng)閱過程示意圖:(a)作業(yè)評(píng)閱前主界面,(b)打開作業(yè)文件,(c)作業(yè)評(píng)閱后主界面
作業(yè)雷同檢測(cè)過程如圖5所示,主界面下拉菜單依次選擇:課程【Automatic Control Theory】、班級(jí)【E_1701】、姓名【std_2】(學(xué)號(hào)為 2),在【第幾次作業(yè)】可編輯文本框中輸入1,表示將評(píng)閱學(xué)號(hào)為2的學(xué)生的第1次作業(yè),對(duì)應(yīng)文件名為2_1.docx。(a)軟件正在讀取全班學(xué)生的第二次作業(yè)內(nèi)容。(b)與2_1.docx文件雷同列表被顯示在listbox中。

圖5 作弊查詢過程示意圖
學(xué)生成績分布示意圖如圖6所示,(a)鼠標(biāo)選擇主界面中某一個(gè)單元格。(b)顯示選中表格所對(duì)應(yīng)的學(xué)生作業(yè)成績曲線。其中,上圖為該學(xué)生歷次成績分布趨勢(shì)曲線,虛線為其對(duì)應(yīng)的平均值;下圖為全班所有學(xué)生本次成績分布柱狀圖,虛線為其對(duì)應(yīng)的平均值。

圖6 學(xué)生成績分布示意圖
采用Matlab-GUI技術(shù),開發(fā)了一個(gè)教學(xué)輔助工具。能夠?qū)崿F(xiàn)課程作業(yè)雷同檢測(cè)、評(píng)閱分?jǐn)?shù)自動(dòng)保存和作業(yè)分?jǐn)?shù)展示等功能。操作簡單,界面友好,可以提高教師評(píng)價(jià)學(xué)生作業(yè)的效率。以后可以采用python語言編寫文件下載程序,實(shí)現(xiàn)從郵箱批量下載學(xué)生作業(yè)文件,按要求對(duì)文件自動(dòng)進(jìn)行命名并保存至對(duì)應(yīng)的文件夾中,進(jìn)一步減少教師評(píng)閱課程作業(yè)的工作量。