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,