吕丽君
(长治学院 电子信息与物理系,山西 长治 046011)
为提升高校工程课程的授课质量,许多研究者基于Matlab及其用户图形界面技术(GUI)技术开发了各种类型的教学辅助工具或软件。文献[1]基于Matlab开发了一款名为SoFA的教学辅助软件,实现了对浅地基进行分析和设计。有学者基于Matlab-GUI实现了对一些工程课程的教学内容仿真或可视化,比如电力系统[2]、物理光学[3]、直流电机[4]以及自动控制系统[5][6]等。还有学者采用java、matlab等程序语言,开发出课程自动评价系统[8][9],极大地减少了教师在学生作业评分方面的工作量。这些研究成果,在一定程度上提升了当前高校工程教育的效率。
学生作业完成情况是授课教师分析学生对课堂内容掌握程度的重要参考之一。当前,越来越多的大学课程作业是学生通过电子邮件等方式提交,教师则需要对邮件进行下载并评阅。有时,两个学生的作业疑似雷同,但由于评阅时间间隔较长,教师还需重新打开之前评阅过的作业进行确认,浪费大量时间。为进一步方便教师对学生作业情况掌握和分析,笔者基于Matlab-GUI技术开发了一款教学辅助工具,主要实现作业文件的雷同检测以及教师评阅成绩的自动保存、显示等功能。
该教学辅助工具采用Matlab R2018a及其用户图形界面技术(GUI)结合office 365软件进行开发,并在windows 7和windows 10环境下运行通过。主要功能有:(1)能够对选定的作业文件(格式为.docx)同其他文件进行雷同检测,并将雷同作业列表进行显示。为防止学生在作业中加入空格或将部分内容填入表格等方式来逃避该工具的检测,系统开发过程中也进行了考虑;(2)自动记录教师对学生作业的评阅分数。该工具可以自动打开所要评阅的作业文件,并将教师给定的分数自动保存到相应的Excel文件中,以供日后查看;(3)学生分数管理及显示。该功能能够让教师直观地看到学生作业分数的分布和变化趋势,以了解学生对课堂知识的掌握情况。
该教学辅助工具的主要界面如图1和图2所示。
图1 工具启动过程界面:(a)欢迎界面,(b)初始化成功提示窗口,(c)初始化信息框
工具运行后,弹出欢迎界面如图1(a)所示。该工具首次运行,将弹出初始化信息框如图1(c)所示,待教师输入课程名称和班级名称信息后,自动生成和输入内容关联的文件及文件夹,之后弹出初始化成功提示窗口如图1(b)所示。再次打开该工具将不会弹出该输入对话框,直接进入主界面。
图2 工具运行部分界面:(a)主界面,(b)评阅成绩输入框,(c)雷同检测结果窗口
在工具主界面(图2(a))中,可以在下拉菜单中选择课程、班级、学生姓名等,并且可以在可编辑文本框中输入要查看的是第几次作业。Uitable中展示学生的作业得分情况。点击“Open File”按钮将打开对应学生的作业文件,并弹出评阅成绩输入框如图2(b)所示,输入分数后点击确定自动保存分数至特定的文件中。点击“Anti_Plagiarism”按钮,将所选文件同本班所有学生的本次作业文件进行对比。雷同列表将显示在雷同检测结果窗口的listbox中。
为避免学生采用增加空格或将内容填到表格中等方式逃避该工具的检测,程序提取作业文件内容时摒弃空格和表格,只保留文本内容,如表1所示。提取后三者内容一致,判定为雷同。
表1 雷同检测三种特例示意
从作业文件提取的内容分别保存至相应的矩阵中,利用Matlab矩阵运算的优势,可以对所有文件内容进行快速比对。但若两份作业局部相同,将无法判定为雷同。
教学辅助工具工作流程示意图如图3所示。打开软件后,先运行欢迎界面并检测当前工作路径中是否存在course_info.xlsx文件,如果存在该文件则判定为非首次使用,直接打开主界面;如果不存在该文件则为首次运行,弹出课程信息输入对话框等待教师输入课程和班级信息。教师输入课程相关信息后,软件自动在当前工作路径中生成和输入信息相对应的文件和文件夹。其中,自动生成的文件包括course_info.xlsx和系列班级成绩单.xlsx,文件夹包括课程名文件夹和课程名文件夹下的班级名子文件夹,然后打开主界面。
作业文件可以通过USB或Email等方式存放至班级名文件夹下,命名格式为m_n.docx,其中m表示学号,n表示该生第几次作业。
主界面包含评阅成绩自动保存、雷同检测、作业分数展示等三大功能。
从盈利能力来看,山东产权交易中心披露的信息显示,2018上半年,山东高速篮球俱乐部实现营业收入3.69亿元,净利润1.4亿元,1-8月份实现营收3.69亿元,净利润1.33亿元。
软件初始状态包含的文件列表及其主要功能如表2所示。
图3 教学辅助软件工作流程示意图
表2 软件初始包含的文件及功能
文件名 文件类型 文件功能7 i n i t i a l_i n f o 函数.m文件 生成课程信息输入对话框8 c l a s s_s p l i t 函数.m文件 将课程信息输入对话框中的信息获取并按规则进行切割。将课程及班级信息整理成特定格式并保存到c o u r s e_i n f o.x l s x文件中,并生成和输入信息相关的文件夹及文件。1 0 r e a d_w o r d 函数.m文件 读取将w o r d文件内容1 1 r e f r e s h_g r a d e 函数.m文件 将u i t a b l e内容更新9 i n f o_s a v e 函数.m文件
假定教师在课程信息输入对话框中输入的信息如图1(c)中所示,则生成的文件夹及文件如表3所示。需要注意的是生成的文件夹或文件名以及数量同输入的信息有关。
表3 初次运行配置后新增的文件或文件夹及其功能
教师在主界面中选择课程、班级、姓名以及在文本框中输入第几次作业,软件在对应班级名文件夹下查找文档。如果该文档不存在,则给出提示“文档不存在”。如果文档存在,则调用office word软件打开,并弹出成绩输入对话框。教师在对话框中输入成绩后,该成绩将自动保存至班级成绩单中,并在主界面uitable中更新显示。
教师在主界面中选择课程、班级、姓名以及在文本框中输入第几次作业。点击“Anti_Plagiarism”按钮,软件将对选定文件同该班级其他同学本次作业所有文件进行比对。雷同的文件名列表将保存在自动生成的same_list.xlsx文件中,并弹出Anti_Plagiarism_Results界面进行显示。
鼠标选中主界面中的uitable任一单元格,将显示学生作业分数分布图形窗口,分为两部分:学生历次作业成绩趋势曲线;本次作业全班成绩分布柱状图。
图4 作业评阅过程示意图:(a)作业评阅前主界面,(b)打开作业文件,(c)作业评阅后主界面
作业雷同检测过程如图5所示,主界面下拉菜单依次选择:课程【Automatic Control Theory】、班级【E_1701】、姓名【std_2】(学号为 2),在【第几次作业】可编辑文本框中输入1,表示将评阅学号为2的学生的第1次作业,对应文件名为2_1.docx。(a)软件正在读取全班学生的第二次作业内容。(b)与2_1.docx文件雷同列表被显示在listbox中。
图5 作弊查询过程示意图
学生成绩分布示意图如图6所示,(a)鼠标选择主界面中某一个单元格。(b)显示选中表格所对应的学生作业成绩曲线。其中,上图为该学生历次成绩分布趋势曲线,虚线为其对应的平均值;下图为全班所有学生本次成绩分布柱状图,虚线为其对应的平均值。
图6 学生成绩分布示意图
采用Matlab-GUI技术,开发了一个教学辅助工具。能够实现课程作业雷同检测、评阅分数自动保存和作业分数展示等功能。操作简单,界面友好,可以提高教师评价学生作业的效率。以后可以采用python语言编写文件下载程序,实现从邮箱批量下载学生作业文件,按要求对文件自动进行命名并保存至对应的文件夹中,进一步减少教师评阅课程作业的工作量。