In this study, we examined freshmen students' sorting algorithm implementations in data structures and algorithms' course in two phases: at the beginning of the course before the students received any instruction on sorting algorithms, and after taking a lecture on sorting algorithms. The analysis revealed that many students have insufficient understanding of implementing sorting algorithms. For example, they include unnecessary swaps in their Insertion or Selection sort implementations resulting in more complicated and inefficient code. Based on the data, we present a categorization of these types of variations and discuss the implications of the results. In addition, we introduce an instrument to recognize these algorithms automatically. This is done in terms of white-box testing. Our aim is to develop an automatic assessment system to help teachers in the burden of marking students' assignments and give feedback to the students on their algorithmic solutions. We outline how the presented results can be used to develop the instrument further.
- algorithm recognition
- classifying students' sorting implementations
- automatic assessment tools
- roles of variables
- white-box testing
- program comprehension
Taherkhani, A., Korhonen, A., & Malmi, L. (2012). Categorizing Variations of Student-Implemented Sorting Algorithms. Computer Science Education, 22(2), 109-138. https://doi.org/10.1080/08993408.2012.692917