Classifying and recognizing students' sorting algorithm implementations in a data structures and algorithms course

Loading...
Thumbnail Image
Journal Title
Journal ISSN
Volume Title
School of Science | D4 Julkaistu kehittämis- tai tutkimusraportti tai -selvitys
Date
2012
Major/Subject
Mcode
Degree programme
Language
en
Pages
21
Series
Aalto University publication series SCIENCE+TECHNOLOGY, 4/2012
Abstract
We discuss an instrument for recognizing and classifying algorithms (Aari) in terms of whiteboxtesting. We examined freshmen students' sorting algorithm implementations in a datastructures and algorithms course in two rounds: at the beginning of the course before thestudents received any instruction on sorting algorithms, and after taking lectures on sortingalgorithms. We evaluated the performance of Aari with the implementations of each roundseparately. The results show that the sorting algorithms (in Java), which Aari has been trainedto recognize (Insertion sort, Selection sort, Bubble sort, Quicksort and Mergesort), arerecognized with an average accuracy of about 90%. When considering all the submitted sortingalgorithm implementations (including the variations of the standard algorithms), Aari achievedan overall accuracy being 71% and 81% for the first and second round, respectively. The manual analysis of the implementations revealed that students have manymisconceptions related to sorting algorithms. For example, they include unnecessary swaps intheir Insertion or Selection sort implementations. Based on the data, we present acategorization of these types of variations. We also discuss how these categories can be used toimprove education of sorting methods, and to further develop Aari as a white-box testing tool,which gives feedback to the students on their inappropriate solutions and asks them to correctthe problem; something black-box testing is not capable of doing.
Description
Keywords
algorithm recognition, classifying students' sorting implementations, roles of variables, automatic assessment of tools, white-box testing
Other note
Citation