@TechReport{ it:2004-023, author = {Jarmo Rantakokko}, title = {Interactive Learning of Algorithms}, institution = {Department of Information Technology, Uppsala University}, department = {Division of Scientific Computing}, year = {2004}, number = {2004-023}, month = may, note = {Accepted to \emph{Third Program Visualization Workshop} (PVW'2004)}, abstract = {Visualization is believed to be an effective technique for learning and understanding algorithms in traditional computer science. In this paper, we focus on parallel computing and algorithms. An inherent difficulty with parallel programming is that it requires synchronization and coordination of the concurrent activities. We want to use visualization to help students to understand how the processors work together in an algorithm and how they interact through communication. To conceptualize this we have used two different visualization techniques, computer animations and role plays. As the students can see how the processors run simultaneously in parallel, it illustrates important concepts such as processor load balance, serialization bottlenecks, synchronization and communication. The results show that both animations and role plays are better for learning and understanding algorithms than the textbook.} }