论文题目:面向大学程序设计类课程的编程与调试行为可视分析
录用期刊:计算机辅助设计与图形学学报 (CCF A)
录用时间:2024年5月15日
作者列表:
1)连远锋 中国石油大学(北京)信息科学与工程学院/人工智能学院 计算机系教师
2)庄永琪 中国石油大学(北京)信息科学与工程学院/人工智能学院 计算机科学与技术专业 硕22
3)高涵钊 中国石油大学(北京)信息科学与工程学院/人工智能学院 计算机技术专业 硕21
4)董华松 中国石油大学(北京)信息科学与工程学院/人工智能学院 计算机系教师
摘要:
传统的编程与调试行为分析工具缺乏从课程类型、题目类别和内存中数据关系的实时变化等维度给出协同交互的可视化分析,无法准确地刻画学生编程能力。为此设计了多视图协同交互的编程与调试行为可视分析系统——MPDVAS。首先通过多维度环状热力图,集成展示班级、课程、编程作业及考试成绩的时空分布;其次构造了基于多平台在线课程数据的主题模型,将学生按照用户画像进行聚类,进而提出基于层次气泡图可视化展示方法,将课程、成绩和编程行为评价进行多维度量化分析与交互推理。最后设计了对称堆叠柱状图和多维时间序列图相结合的新布局, 实现代码调试过程的评估及程序结果自动对比,进一步给出编程题目和课程推荐结果。通过313名学生的真实编程数据案例分析,收集2名相关管理人员、2名主讲教师和20名学生的反馈进行方差分析,p值为0.008小于显著性水平0.05,验证了MPDVAS的有效性与实用性。
背景与动机:
以编程和调试行为作为切入点对计算机专业教学过程进行多角度分析,对于优化培养计划、辅助教师教学内容设计和全面提升学生的编程能力具有重要的意义。在对各高校CG和OJ平台进行调研后,我们发现对于编程和调试协同可视分析的研究较少,并且上述平台的算法编程与调试数据分析处理中存在以下问题:(1)难以有效探索学生成绩、作业及考试题目和编程与调试行为之间的关系;(2)难以有效挖掘大规模学生编程调试数据中的隐含信息。
主要内容:
模型结构
本文使用t-SNE降维方法将用户多平台特征信息降维到二维空间进行用户画像的聚类操作,为推荐系统提供先验参数。根据多元编程数据的特点设计了异构信息多层图,如图1所示。将数据整合输入到推荐系统中,并通过层间元路径进行特征聚合。根据用户当前的编程行为和答题情况进行题目与课程的推荐。
图1 多层图
可视化交互设计
图2 MPDVAS系统主界面
如图2所示,MPDVAS界面由首页控制台及6部分协同交互的可视化视图组成。用户可以在控制面板中配置角色,年级和班级等参数;用户可以根据目标达成度条形图确定培养计划或教学大纲是否需要调整,同时查看相应的视图分析问题并寻找可能的原因。视图A是对学生编程画像的整体概览,视图B、C、D展示了某个班级的编程课数据,视图E、F用于展示题目和课程推荐结果。群体用户编程及可视化行为的展示界面包括多维度环状热力图-雷达图、层次气泡图、扩展桑基图、对称堆叠柱状图-多维时间序列图、题目推荐词云图与课程推荐和弦图。
图3 MPDVAS分析导航
图3所示为MPDVAS分析导航, 支持教务人员、主讲教师和学生3类角色对学生编程行为特征进行分析, 通过多视图交互实现优化培养方案、调整教学计划和提高学生编程能力水平.
实验结果及分析:
图4 学生整体成绩与编程数据展示
多维度环状热力图-雷达图集成展示班级、课程、编程作业和考试成绩在不同学期的分布,如图4所示。并且从整个年级的角度展现整体的编程行为数据,如平台登录次数、平台使用时长、断点设置个数、代码通过率、代码提交次数、总得分等。在热力图下方,采用面积图展示不同学年整体作业的加权平均得分,能够直观地了解同一届学生不同学年的成绩变化,以及同一学期作业成绩的变化,便于分析学生整个学期的学习状态。
图5所示为学生编程调试行为与代码相似度分析界面,点击气泡图中某位学生的气泡可以查看其具体的编程信息数据,选择某个编程题目对学生编程行为和代码相似度进行联合分析,帮助教师了解具体学生编程能力,进行分类教学管理。图6展示了学生作业代码调试过程中的内存状态,结合堆叠图中的堆栈情况进行比较分析。
图5 学生编程调试行为与代码相似度分析
图6 代码调试过程内存状态可视化
根据学生的编程行为画像为其推荐适合的编程题目如图7所示,可以根据词云图了解薄弱知识点,根据单轴气泡图选择适合难度题目进行练习。进而系统为其提供多门课程按照学习优先级展示在外层圆环上,如图8所示,根据课程节点之间的连接关系,可以确定某些课程的前置课程进行学习,更好的理解课程知识点。
图7 题目推荐结果
图8 课程推荐结果
表1给出了视图因素方差分析的结果,因变量为信息匹配度,检验统计量F的值为3.163,P值为0.008小于显著水平0.05,因此拒绝原假设。说明不同视图在准确率上存在显著性差异。另外图9展示了测试者对相应任务的主观打分,可以看出只有Q4任务的得分较低,其他任务都能获得较高的评分,这表明系统是用户有好的,具有很好的可用性。
表1 视图单因素方差分析结果
图9 测试者任务主观打分
本文使用不同量级的数据对系统的响应速度进行测试,在AMD Ryzen 7 4800H with Radeon Graphics设备上进行实验。实验结果如表2所示,可以看出系统响应主要受数据加载的影响,不同量级数据的界面渲染时间相当。随着数据量增多,数据加载时间越长,但界面渲染响应都不超过2s。
表2 系统响应时间
结论:
本文设计了一个多视图协同交互的编程与调试行为可视分析系统MPDVAS。经过教务人员、教师与学生的试用后认为,该系统能够从课程、题目和编程及调试的数据中给出协同交互的可视化分析,能够准确地刻画学生编程画像并开展学生自我编程能力评价。在可视化设计过程中,本文提出了多维度环状热力图-雷达图和堆叠柱状图与多维时间序列图相结合的新布局,实现对学生代码调试过程的实时评估及程序结果自动对比。最后基于真实课程数据进行了案例研究,验证了MPDVAS工具的有效性和实用性。未来我们将结合其他代码库的数据,挖掘更多有实际价值的编程与调试行为信息。进一步听取用户及可视化专家的反馈意见,完善分析需求,开展新的可视化展示方法。
作者简介:
连远锋,教授,硕士生导师。研究方向为图像处理与虚拟现实、机器视觉与机器人、深度学习与数字孪生。
致谢:
本文写作动机源自纪连恩老师的“面向多主体的大学课程成绩相关性可视探索与分析”一文,相应课程教学数据的获取得到范江波、张建兵、张丽英、赵旭霞等老师的大力支持,在此一并表示感谢。