We continuously interact with computerized systems to achieve goals and perform tasks in our personal and professional lives. Therefore, the ability to program such systems is a skill needed by everyone. Consequently, computational thinking skills are essential for everyone, which creates a challenge for the educational system to teach these skills at scale and allow students to practice these skills. To address this challenge, we present a novel approach to providing formative feedback to students on programming assignments. Our approach uses dynamic evaluation to trace intermediate results generated by student's code and compares them to the reference implementation provided by their teachers. We have implemented this method as a Python library and demonstrate its use to give students relevant feedback on their work while allowing teachers to challenge their students' computational thinking skills.
翻译:我们不断与计算机化系统互动,以实现我们个人和职业生活中的目标和完成任务,因此,规划这种系统的能力是每个人所需要的技能,因此,计算思维技能对每个人都至关重要,这给教育系统大规模教授这些技能并让学生实践这些技能带来了挑战。为了应对这一挑战,我们提出了一个新办法,向学生提供编程任务方面的成型反馈。我们的方法是用动态评价来追踪学生代码产生的中间结果,并将其与教师提供的参考实施进行比较。我们把这种方法作为皮顿图书馆加以实施,并展示其用于向学生提供有关其工作的反馈,同时允许教师挑战学生的计算思维技能。