Identifying measures that represent the variance in novice programmers' code

Thumbnail Image
Probyn-Smith, Ian
Journal Title
Journal ISSN
Volume Title
University of Guelph

Motivation for this work is to improve automated feedback, producing individualized feedback for novice programmers. Metrics (industrially) are used to discern software attributes for multiple objectives, including quality assessment, characterizing source code, or runtime software attributes. Using software metrics to analyse software developed by students, this research aims to facilitate self-reflection and self-assessment. The research presented examines relationships between statically calculated characteristics of student C code collected over 3 semesters. Effort is taken to include a wide variety of measures. Measures showing high variation are selected for use in metrics. Statistical dimension reduction is conducted to simplify observing consistent patterns across and within assignments. Software metrics can be intended to open a multitude of perspectives evaluating programming associated academic parties. Advantages include assessing student code in greater volume and presenting results for third party analysis. This opens further possibilities of evaluation and comparison of students as well as educators.

software metrics, automated feedback, static code metrics, student code