一句话:提出九条情境化设计原则,指导基于软件度量的代码质量自动化形成性反馈工具的设计与实现。
软件工程高等教育常忽视代码质量与可维护性,学生提交的编程作业往往存在严重代码质量问题且未被修正;同时,现有自动反馈工具虽能生成代码质量反馈,却缺少理论驱动的设计原则,难以系统化设计、论证质量与评估效果。为此,本文基于反馈与学习仪表盘等教育理论,提出九条情境化的自动化形成性反馈设计原则,并通过两个焦点小组(8名高年级软件工程学生和2名教师)进行实证验证与情境化。最终形成一套可用于指导基于软件度量的代码质量自动反馈工具实现的设计原则。
Code quality and maintainability are among under-emphasized and often neglected topics in the curriculum of software engineering (SE) in higher education.This neglect tends to overlook research findings that demonstrate SE students' programming submissions most often exhibit severe code quality issues, which are frequently left unaddressed by the students.Furthermore, it can result in the software engineering curriculum becoming indifferent to the essential requirements of the software development industry, where code quality and maintainability play a crucial role in the software's cost throughout its life cycle. Therefore, SE students in higher education should be trained to master the knowledge and skills of writing high-quality code. One possible approach to improving students' understanding of code quality issues is to provide automatically generated formative feedback about the code quality aspects of their programming submissions throughout the code development process. However, while there are tools available for generating automated feedback on the code quality aspects of programming submissions, they often lack a set of theory-driven design principles to underpin the content and presentation of their provided feedback. This lack of theoretical foundation makes it difficult to follow a systematic approach to designing and developing such tools, reasoning about their quality, and evaluating the effectiveness of their generated feedback. To address this lack, this study provides nine contextualized design principles for generating automated formative feedback on code quality. These design principles are rooted in solid educational constructs about feedback and learning dashboards, and empirically validated and contextualized by two focus group sessions consisting of 8 senior SE students and 2 teachers. This approach has resulted in a set of contextualized design principles. These design principles can be used to guide the implementation of tools that provide automated feedback on code quality using software metrics.
@inproceedings{AkerR24,
title = {Design principles for generating and presenting automated formative feedback on code quality using software metrics},
author = {Eddy van den Aker and Ebrahim Rahimi},
booktitle = {ICSE},
year = {2024},
doi = {10.1145/3639474.3640051}
}