Understanding algorithms are one of the hardest tasks for novice computer science students. One of the reasons why algorithms are difficult to understand is because they use abstract concepts. Algorithm animations, especially animations with the conceptual view, can make a bridge between these abstract concepts and real world examples.
We collected and developed interactive animations to help students understand some of the sorting algorithms. In this contribution, we focus on two of our interactive animations: the collection of card sorting animations, and the box sorting game. These kinds of interactive animations with the conceptual view can help students to understand the main features of different sorting algorithms, but they are not going into details.
The collection of card sorting animations contains five animations of sorting algorithms: simple exchange sort, bubblesort, insertion sort, minsort, and maxsort. The learners' task is to sort the playing cards in ascending order. In the animation, only those steps are allowed, which are consistent with the steps of the given sorting algorithm. In this way, students recognize the main ideas of the algorithms while they learn the rules of the card sorting games. During the second semester of the academic year 2014/15 we conducted a pedagogical experiment, where first-year students were asked to fill out a pre-test, experiment with the card-sorting animations, and fill out a post-test. The results showed that students were able to recognize the main ideas of sorting algorithms, but they did not understand the algorithms in details.
The second, interactive box sorting animation is a simple game, where students' task is to sort three, five, or seven boxes in ascending order. The boxes are identical, and only a two-pan balance scale is available to find the lighter/heavier box of two selected boxes. During the second semester of the academic year 2014/15, first-year students were asked to play with the animations and fill out a questionnaire. Their goal was to sort the boxes without unnecessary weighing. Some of the students were not able to minimize the number of weighing when they used bubblesort. Other students were able to minimize the number of weighing when they grouped the boxes and simultaneously used an algorithm similar to bubblesort, or when they used quicksort algorithm.