SnapCheck: Automated Testing for Snap! Programs

SnapCheck: Automated Testing for Snap! Programs
复制标题

DOI:
10.1145/3430665.3456367
复制
发表时间:
2021-04
期刊:
Proceedings of the 26th ACM Conference on Innovation and Technology in Computer Science Education V. 1
影响因子:
--
通讯作者:
Wengran Wang;Chenhao Zhang;Andreas Stahlbauer;G. Fraser;T. Price
Wengran Wang;Chenhao Zhang;Andreas Stahlbauer;G. Fraser;T. Price
中科院分区:
其他
文献类型:
--
作者:
Wengran Wang;Chenhao Zhang;Andreas Stahlbauer;G. Fraser;T. Price

文献摘要

被引文献

相似文献

Snap、Scratch和Processing等编程环境通过允许学习者创建具有可视化和交互式输出的编程工件(如应用程序和游戏)来吸引学习者。在这种以媒体为中心的环境下学习编程已被证明可以提高保留率和成功率。然而,评估这些可视化的交互式项目需要时间和费力的手动工作,因此很难在学生工作时向他们提供自动或实时反馈。在本文中,我们介绍了SnapCheck,一个动态的测试框架,使教师能够作者的测试用例与条件动作模板的Snap。SnapCheck的目标是允许教师或研究人员编写基于属性的测试用例,这些测试用例可以高精度地自动评估学生的交互式程序。我们在介绍性编程课程中对来自Pong游戏作业的162个代码快照进行了SnapCheck评估,结果表明,我们的自动化测试框架在所有题目上的准确率至少达到98%,显示出使用SnapCheck进行自动评分并为学生提供形成性反馈的潜力。
Programming environments such as Snap, Scratch, and Processing engage learners by allowing them to create programming artifacts such as apps and games, with visual and interactive output. Learning programming with such a media-focused context has been shown to increase retention and success rate. However, assessing these visual, interactive projects requires time and laborious manual effort, and it is therefore difficult to offer automated or real-time feedback to students as they work. In this paper, we introduce SnapCheck, a dynamic testing framework for Snap that enables instructors to author test cases with Condition-Action templates. The goal of SnapCheck is to allow instructors or researchers to author property-based test cases that can automatically assess students' interactive programs with high accuracy. Our evaluation of SnapCheck on 162 code snapshots from a Pong game assignment in an introductory programming course shows that our automated testing framework achieves at least 98% accuracy over all rubric items, showing potentials to use SnapCheck for auto-grading and providing formative feedback to students.