Semi-automatic assessment approach to programming code for novice students

Programming languages have been an integral element of the taught skills of many technical subjects in Higher Education for the last half century. Moreover, secondary school students have also recently started learning programming languages. This increase in the number of students learning programming languages makes the efficient and effective assessment of student work more important. This research focuses on one key approach to assessment using technology: the semi-automated marking of novice students’ program code. The open-ended, flexible nature of programming ensures that no two significant pieces of code are likely to be the same. However, it has been observed that there are a number of common code fragments within these dissimilar solutions. This observation forms the basis of our proposed approach. The initial research focuses on the ‘if’ structure to evaluate the theory behind the approach taken, which is appropriate given its commonality across programming languages. The paper also discusses the results of real world analysis of novice students’ programming code on ‘if’ structures. The paper concludes that the approach taken could form a more effective and efficient method for the assessment of student coding assignments.