Jsvee & Kelmu: Creating and tailoring program animations for computing education. Issue 2 (28th November 2017) - Sirkiä, Teemu
Abstract: To learn to program, a novice programmer must understand the dynamic, runtime aspect of program code, a so‐called notional machine. Understanding the machine can be easier when it is represented graphically, and tools have been developed to this end. However, these tools typically support only 1 programming language and do not work in a Web browser. In this article, we present the functionality and technical implementation of the 2 visualization tools. First, the language‐agnostic and extensible Jsvee library helps instructors visualize notional machines and create expression‐level program animations for online course materials. Second, instructors can use the Kelmu toolkit to augment automatically generated animations, for instance, by adding annotations such as textual explanations and arrows on top of the original animation. Both of these libraries have been used in introductory programming courses, and there is preliminary evidence that learners find the animations useful and annotated animations change student behavior. Abstract : Providing interactive program animations for novice learners and tools for instructors to annotate the key steps in them gives new possibilities to create online course materials. This article presents 2 JavaScript libraries to create and tailor program animations as well as research results of using them in real CS1 courses. Key findings are that novices voluntarily used the animations, likely read the annotations, and paid more attention when the annotations were present.