基于多样例黑盒测试的程序设计辅助教学平台探究

2023-03-01

一、目前大学生程序设计类课程存在的问题

随着计算机的普及和互联网的快速发展, 程序设计类课程成为高等学校人才培养过程中不可或缺的重要课程。但目前程序设计类课程却存在着一些问题:第一, 老师批改作业工作量大, 我们知道程序设计类课程需要编写大量程序, 一份实验报告可能有十几页, 老师批改起来难度很大。第二, 学生偏于理论学习, 实践能力差, 目前高校对于程序设计类课程考核主要依赖于纸质考试, 这就使得学生偏重于理论学习, 上机编程能力差。这些都是对程序设计类课程教学工作的忽视, 在一定程度上严重影响了程序设计类课程教学工作的质量和效率。

二、程序设计辅助教学平台概述

基于多样例黑盒测试的程序评判辅助教学平台是一个B/S模式的管理系统, 用户 (管理员、学生角色) 可以通过浏览器操作, 是用来辅助老师批改作业、学生练习的教学辅助系统。整个系统采取多样例黑盒测试, 对学生提交代码进行量化, 分为判题子系统、问题子系统、作业/比赛子系统等部分。该系统能够实现以下功能:学生课下程序设计练习, 在线实时判题, 反馈成绩, 进行实时比赛排名和分数排名, 成绩导出, 学生程序设计能力分析。

三、程序设计辅助教学平台的各子系统功能

(一) 判题子系统功能

判题子系统的主要作用是对学生提交的代码实时评判, 包括多样例性能评测, 问题测试样例提示, 学生所得分数反馈等功能。

(二) 题目子系统功能

题目子系统是对题库题目进行管理以及分类。不同的用户登录后, 系统所提供的功能不同, 管理员 (教师) 可以修改添加问题, 学生可以进行编程练习。同时, 题目子系统实现了对学生提交的记录及学生练习的分析等功能。

(三) 作业/竞赛子系统功能

作业/竞赛子系统包含作业/比赛创建, 比赛排名, 分值排名, 成绩导出等功能。管理员 (教师) 通过异步操作创建作业/比赛, 并导入自己所带班级学生学号姓名。学生登录提交自己的代码, 判题机进行判题并反馈结果, 同时, 系统通过判题机反馈数据, 对学生排名进行修改, 学生若对分数不满意, 可多次修改并提交自己代码。作业/比赛结束后, 管理员 (教师) 根据需要选择查看比赛排名或分数排名, 并导出学生成绩。

四、程序设计辅助教学平台创新点

(一) 多样例黑盒测试在线实时评分技术

对于每一个问题, 设计一个或多个评判标准的I/O文件, 按照I/O文件中测试样例的测试难度给出不同的分数。根据提交代码黑盒测试通过的测试样例数目, 计算出代码的正确率并给出性能分值, 进而对代码的质量和效率进行评价, 给出代码应得的分数。

(二) 定制化的题目测试样例难度管理方法

管理员可对每个题目及其测试样例按照测试强度及难易程度给出参考分值, 教师在布置作业或考试时可以根据自己需要修改题目及其测试样例的分数。

(三) 题库题目类型模块化

对于题库内所有题目, 按照课程章节或算法进行分类, 教师和学生可通过分类查找相应的题目, 从而方便教师布置作业或考试选题, 同时也可以使学生课下有针对性的练习复习。

五、总结

程序设计辅助教学平台采用计算机实时判题, 能够及时, 客观的反馈学生程序设计分数, 极大的减轻了老师的负担, 同时学生的成绩、排名和题目通过率一目了然, 方便老师采集成绩和发现问题。此外, 系统提供大量的进行分类处理过的题目, 学生在课下可有针对性的练习, 同时, 系统保存学生源代码, 方便学生随时复习。此系统大大提高了老师的教学质量和学生的学习效率, 能够更好的为程序设计类课程服务。

摘要:目前大学生程序设计类课程存在着一些问题, 如老师批改作业工作量大, 学生实践能力差等, 通过程序设计辅助教学平台可以提高老师的教学质量和学生的学习效率。

关键词:大学生,程序设计,教学辅助平台

参考文献

[1] 化志章, 揭安全, 甘登文.计算机程序设计教学辅助平台设计初探[J].计算机与现代化, 2002 (12) :2-3.

[2] 张洁, 张洪胜, 方厚加.利用教学平台辅助Java程序设计课程的教学实践[J].电脑知识与技术, 2017, 13 (21) :116-117.

[3] 郭艳燕, 周世平, 贺利坚, 毕远伟, 卢云宏, 杨军.信息化平台下的程序设计课程混合式教学[J].计算机教育, 2017 (06) :74-78.

[4] 贺晶晶.基于OJ平台的C程序设计混合式教学实践探究[J].计算机时代, 2017 (06) :58-60.

[5] 刘利.基于OJ平台的《程序设计基础》实践教学方法[J].电脑知识与技术, 2015, 11 (21) :104-105.

上一篇:关于公司法中强制性规范的研究下一篇:试论传统工艺美术中吉祥图案的文化意蕴