Session T4A 978-1-4244-1970-8/08/$25.00 ©2008 IEEE October 22 – 25, 2008, Saratoga Springs, NY 38 th ASEE/IEEE Frontiers in Education Conference T4A-7 H-SICAS, a Handheld Algorithm Animation And Simulation Tool To Support Initial Programming Learning Maria Marcelino, Todor Mihaylov, and António Mendes zemar@dei.uc.pt, xanthus_tim@yahoo.com, toze@dei.uc.pt Abstract - Mobile devices, like PDAs and smart phones, are small, cheap and light machines capable of being used anytime anywhere. These and other characteristics make them very attractive from an educational point of view. As they have become more and more common and widespread, a crescent interest in developing software applications for them has raised too. Indeed, at present, we find quite easily many applications for them in various areas, including education. However, this is not yet the case for the area of programming learning. Programming learning can be quite difficult for the novice learner and during the years several approaches and tools have been proposed. Some were developed for desktop environments while others for Web-based environments. With the emergence of mobile devices it seems that the next step will include them. This led us to the development of H-SICAS, a handheld algorithm animation and simulation tool. This tool can be used to support initial stages of programming learning, using a procedural approach, and is based on SICAS, a desktop tool developed to achieve similar objectives that has been used with our students with some success. However, this involved several adaptations to be accomplished. Index Terms – m-learning, programming learning, algorithm animation and simulation, computer science education. INTRODUCTION With the appearance and generalized widespread of mobile devices, an interest was raised to investigate its applicability to programming learning. Indeed, they are becoming quite common and we easily find a lot of applications in many areas, like mathematics, chemistry, physics, and for different kinds of learning tasks [1-4]. However, applications to support programming learning using mobile devices are still not common. SICAS [5] is an algorithm animation and simulation tool, previously developed by our research group that has been used quite successfully till now with our students at the Informatics Engineering Department of the University of Coimbra, in the context of the Informatics Engineering and Communications and Multimedia Degrees [6]. As many of our students have mobile devices, we decided to develop H-SICAS, a version of SICAS to be used in this kind of devices. This would allow students to make a more flexible use of this learning tool, since they can use it in their desktops, laptops and also mobile devices. As its original application, H-SICAS focus on initial programming learning, using a procedural approach. Its target audience includes students who have some difficulties in learning how to program at a basic level, which, in our case, means a significant part of our students. We will start, in the next section, by making a short overview about some tools that have been proposed to support initial programming learning. Then, in the following section, we will describe SICAS main features. After that we will introduce H-SICAS, the handheld tool we have developed after SICAS. Subsequently we will point out the main issues about H-SICAS adaptation. Finally, we will end the paper with some conclusions. TOOLS TO SUPPORT INITIAL PROGRAMMING LEARNING Over the years several approaches and software tools have been developed to support the various stages of programming learning. Among those created to support the initial learning stages, we can mention: Simpler Programming Languages or mini-languages, like MiniJava [7], Controlled development environments, as BlueJ [8], Micro-worlds, from which an example is Karel the Robot [9], Tools to test solutions, like ELP [10], Tools to algorithm or program animation/simulation, as JELIOT [11] and SICAS. Many of these tools and solutions are for desktop or Web-based environments. Very few exist however that contemplate handheld devices. As an example we can mention “Learning Objects for Introductory Programming” that was developed after the standalone version [12]. This tool tries to explain abstract programming concepts using visualization techniques. However, our approach is quite different. According to the authors, several design issues were taken into account during this tool development: The limited screen area, User interaction with the stylus,