当前位置: X-MOL 学术Comput. Appl. Eng. Educ. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Customizable and scalable automated assessment of C/C++ programming assignments
Computer Applications in Engineering Education ( IF 2.9 ) Pub Date : 2020-08-15 , DOI: 10.1002/cae.22317
Pedro Delgado‐Pérez 1 , Inmaculada Medina‐Bulo 1
Affiliation  

The correction of exercises in programming courses is a laborious task that has traditionally been performed in a manual way. This situation, in turn, delays the access by students to feedback that can contribute significantly to their training as future professionals. Over the years, several approaches have been proposed to automate the assessment of students' programs. Static analysis is a known technique that can partially simulate the process of manual code review performed by lecturers. As such, it is a plausible option to assess whether students' solutions meet the requirements imposed on the assignments. However, implementing a personalized analysis beyond the rules included in existing tools may be a complex task for the lecturer without a mechanism that guides the work. In this paper, we present a method to provide automated and specific feedback to immediately inform students about their mistakes in programming courses. To that end, we developed the CAC++ library, which enables constructing tailored static analysis programs for C/C++ practices. The library allows for great flexibility and personalization of verifications to adjust them to each particular task, overcoming the limitations of most of the existing assessment tools. Our approach to providing specific feedback has been evaluated for a period of three academic years in a course related to object‐oriented programming. The library allowed lecturers to reduce the size of the static analysis programs developed for this course. During this period, the academic results improved and undergraduates positively valued the aid offered when undertaking the implementation of assignments.

中文翻译:

C/C++ 编程作业的可定制和可扩展的自动评估

编程课程中练习的修正是一项繁重的任务,传统上以手动方式执行。这种情况反过来又延迟了学生获得反馈的机会,这些反馈对他们作为未来的专业人士的培训有很大帮助。多年来,已经提出了几种方法来自动评估学生的课程。静态分析是一种已知技术,可以部分模拟讲师执行的手动代码审查过程。因此,评估学生的解决方案是否满足对作业的要求是一个合理的选择。然而,在没有指导工作的机制的情况下,实施超出现有工具中包含的规则的个性化分析对于讲师来说可能是一项复杂的任务。在本文中,我们提出了一种提供自动化和具体反馈的方法,以立即告知学生他们在编程课程中的错误。为此,我们开发了 CAC++ 库,它可以为 C/C++ 实践构建定制的静态分析程序。该库允许验证的极大灵活性和个性化,以根据每个特定任务调整它们,克服大多数现有评估工具的局限性。我们提供特定反馈的方法已经在一个与面向对象编程相关的课程中进行了为期三个学年的评估。图书馆允许讲师减少为本课程开发的静态分析程序的大小。在这段时期,
更新日期:2020-08-15
down
wechat
bug