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.
翻译:Snap、Scratch和Pronical等编程环境让学习者参与,允许他们制作应用程序和游戏等编程工艺品,并配有视觉和互动产出。以这种媒体为重点的学习编程显示,能够提高保留率和成功率。然而,评估这些视觉、互动项目需要时间和艰苦的手工工作,因此很难在学生工作时向他们提供自动或实时反馈。在本文中,我们引入了“SnapCratch”(SnapCheck)(SnapCheck)(SnapCheck)(SnapCheck)(SnapCheck)(Sneck)(SnapCheck)(Sneck)(SnapCry)(Singget Check)(一个动态测试框架),使教员或研究人员能够用条件-动作模板来测试案件。“Singget”的目标是让教师或研究人员能够编写基于产权的测试案例,从而能够以高度精确地自动评估学生的交互式程序。我们在介绍性编程课程中用162个代码截图的拼图片上显示我们自动测试框架的“Snapgeck(Sneck(Sncleck)的“Sncleck(Snapget)”(Sneck)的“Sneck(Sneck)显示,显示,显示使用“Sing)“Sing)“clock(Sing)”(Sing)“clock(Sing)的精度(Sing)的“Sing)”(Sing)的精度。