TY - JOUR
T1 - Categorizing Variations of Student-Implemented Sorting Algorithms
AU - Taherkhani, Ahmad
AU - Korhonen, Ari
AU - Malmi, Lauri
PY - 2012/6/1
Y1 - 2012/6/1
N2 - 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.
AB - 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.
KW - algorithm recognition
KW - classifying students' sorting implementations
KW - automatic assessment tools
KW - roles of variables
KW - white-box testing
KW - program comprehension
U2 - 10.1080/08993408.2012.692917
DO - 10.1080/08993408.2012.692917
M3 - Article
VL - 22
SP - 109
EP - 138
JO - Computer Science Education
JF - Computer Science Education
SN - 0899-3408
IS - 2
ER -