Integrating Algorithm Visualization Video into a First-Year Algorithm and Data Structure Course

Article excerpt


Algorithm visualization (in short, AV) is one of the two main subareas (along with program visualization) of the software visualization research field. In order to distinguish between static and dynamic visualizations of algorithms, in the literature it is often used the term algorithm animation instead of algorithm visualization: in this paper, we will consider the two terms equivalent. By adapting the definition of this latter field given in (Price, Baecker, & Small, 1993), we could say that AV is "the use of the crafts of typography, graphic design, animation, and cinematography with modern human computer interaction and computer graphics technology to facilitate" the human teaching and learning of the design, the behavior, and the analysis of algorithms and data structures. Since its birth (that can be identified with the seminal video of Ron Baecker developed at the beginning of the eighties and successively described in (Baecker, 1998)), AV has been one of the most active research areas within the more general field of computer science education. The 30-minute video, entitled Sorting out sorting, was developed with the assistance of Dave Sherman within the Dynamic Graphics Project of the University of Toronto in 1981, and successively included in SIGGRAPH Video Review 7, 1983. In particular, researchers alternated between the proposal of new tools and languages for developing and distributing algorithm visualizations (such as the ones described in (Rossling & Freisleben, 2002; Naps, Eagan, & Norton, 2000; Shneerson & Tal, 1997; Crescenzi & Nocentini, 2007; Laakso, Myller, & Korhonen, 2009)), and the experimental evaluation of the efficacy of these tools from a pedagogical point of view. This latter line of research culminated in the meta-study described in (Hundhausen, Douglas, & Stasko, 2002), which examined from a more abstract point of view 24 experimental studies performed during the nineties. In a further effort to understand these experimental results and to explore the role of visualization and engagement in computer science education, a framework for experimental studies of AV effectiveness has been proposed in (Naps et al., 2003), based, beyond other things, on an engagement taxonomy including six different forms of student engagement with AV technology.

In this paper, we focus our attention on the full integration of AV movies within the teaching material distributed to the students of a first-year algorithm and data structure course. Our goal is to experimentally validate (we refer to experimental validation in general sense and not to controlled experiment) the hypothesis that making AV movies available can significantly improve students' performances, whenever the visualization is strongly tightened with the front lecture and with the lecture notes. To this aim, we have developed eight sorting AVs, which have been distributed (in MPEG-4 format) along with the lecture notes after the front lecture. We have successively analyzed the students' grades obtained while taking a written exam on topics related to the AV movies. Finally, we have asked the students to fill surveys concerning their opinion about the usefulness of the AV movies.

The rationale behind the video format choice is that we also wanted to somehow verify the students attitude towards the emerging video pod-cast technology. Indeed, in the last few years several papers (Campbell, 2005; Brittain, Glowacki, Van Ittersum, & Johnson, 2006) have depicted this technology in a quite enthusiastic way, by imagining a world in which students would listen "to a podcast on the drive to school, then reinforcing the day's learning by listening to another podcast, or perhaps the same podcast, on the drive back home" (Campbell, 2005). The second goal of this paper is, then, to quantitatively and qualitatively verify the attitude of our students towards this near future scenario.

The rest of the paper is organized as follows. …


An unknown error has occurred. Please click the button below to reload the page. If the problem persists, please try again in a little while.