H-SICAS, a Handheld Algorithm Animation And Simulation Tool To ...

8 downloads 140 Views 689KB Size Report
Simulation Tool To Support Initial Programming. Learning. Maria Marcelino, Todor Mihaylov, and António Mendes [email protected], xanthus_tim@yahoo.com, ...
Session T4A

H-SICAS, a Handheld Algorithm Animation And Simulation Tool To Support Initial Programming Learning Maria Marcelino, Todor Mihaylov, and António Mendes [email protected], [email protected], [email protected] 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

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.

• 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 Many of these tools and solutions are for desktop or areas, like mathematics, chemistry, physics, and for different Web-based environments. Very few exist however that kinds of learning tasks [1-4]. However, applications to contemplate handheld devices. As an example we can support programming learning using mobile devices are still mention “Learning Objects for Introductory Programming” not common. that was developed after the standalone version [12]. This SICAS [5] is an algorithm animation and simulation tool tries to explain abstract programming concepts using tool, previously developed by our research group that has visualization techniques. However, our approach is quite been used quite successfully till now with our students at the different. Informatics Engineering Department of the University of According to the authors, several design issues were Coimbra, in the context of the Informatics Engineering and taken into account during this tool development: Communications and Multimedia Degrees [6]. As many of our students have mobile devices, we • The limited screen area, decided to develop H-SICAS, a version of SICAS to be used • User interaction with the stylus, in this kind of devices. This would allow students to make a 978-1-4244-1970-8/08/$25.00 ©2008 IEEE October 22 – 25, 2008, Saratoga Springs, NY 38th ASEE/IEEE Frontiers in Education Conference T4A-7

Session T4A • •

Text length (it is tiresome to read large texts in a PDA), Animations (can be effective if small and simple).

During the tool evaluation authors concluded that users found the PDA more comfortable and providing a more interactive experience than the laptop. Other findings included that it can be used anywhere, it is smaller than a book and thus very convenient, and it gives an opportunity to learn at one own time and pace. Developers also found that: • • •

Screen size was not a problem if interfaces and screen layouts were simplified, Interactivity was not compromised, User experience was more personal.

All those findings were important to us during H-SICAS development as shall be pointed in the next sections. SICAS STANDALONE

to avoid common novice programmer errors, the information needed for each instruction was reduced to a minimum and connecting lines between flowchart elements are automatically inserted to avoid eventual flowchart inconsistencies. In Figure 1 we can see an algorithm developed by a student for the following problem: Write an algorithm that calculates the average age of a group of 5 persons. This is a classical problem with a cycle and some arithmetic. However many students show some problems when they first try to solve it. For example, a typical approach is to use a lot of variables and avoid the use of the cycle or repetition instruction as they usually feel more difficulty with it. The problem statement is shown in the bottom pane, the flowchart occupies the main pane and the defined variables are shown on the right pane, under Variables.

SICAS is a tool that allows the student to build and simulate his own algorithms. Algorithm specification is done through flowcharts (see Figure 1 for an example), but the tool also generates automatically the corresponding pseudo-code (in the language of the user, as some users do prefer this approach) and C and Java codes. This last option can be important for later stages of programming learning, since a student can develop an algorithm first in SICAS and afterwards copy the code to a general IDE for compilation and running. It has basically two operation modes: • •

Teacher mode and Student mode.

In the first mode, teachers introduce problems for students to solve, providing, or not, the possible solution(s). These solutions, if given, can be afterwards compared by the students with their own. In student mode, students create solutions (or algorithms) to solve problems provided by teachers. As SICAS aims to support the initial stage of programming learning, algorithms can include only simple instructions like: • • • •

Assignments, Input/output, Repetition and Selection instructions.

FIGURE 1 SICAS DESKTOP ENVIRONMENT – SPECIFICATION MODE.

After completely or partially finishing a solution, the student can execute the solution to verify if it works correctly, or not. Several speeds can be used: • • • •

Step-by-step, Slow, Fast or Run all through.

In the first three modes the flowchart is executed instruction by instruction, either controlled by the user or by Variables can only be numeric (it encompasses both the computer, with a faster or slower speed. The instruction integer and real numbers), strings and arrays to ease things. being executed is shown in a different color, so that the student can better visualize its outcomes. He/she can also see Functions can also be defined by the user and used. Instructions or flowchart elements are introduced by the different values that the involved variables take during clicking and pointing in the flowchart pane and can be execution. Students often say this feature is very helpful, as deleted, copied or modified easily at any moment. In order it clearly shows what is really happening in the computer memory during execution and it also makes clear what the 978-1-4244-1970-8/08/$25.00 ©2008 IEEE October 22 – 25, 2008, Saratoga Springs, NY 38th ASEE/IEEE Frontiers in Education Conference T4A-8

Session T4A result of each algorithm instruction is. In general, they say SICAS helps them understand how the algorithm works and to find out the reasons why it does not work as expected (when this happens). As soon as execution ends, the final output can be visualized. In Figure 2 we can see the result of the execution of the previous algorithm.

It is also a tool to create and simulate programming algorithms that are specified through flowcharts. It also automatically generates the corresponding pseudo-code, C and Java codes, as the standalone version. It works in teacher and student modes too with similar functionalities. In Figure 3 we can see a screenshot showing the previous problem specification in teacher mode and in Figure 4 the same problem opened by a student (in the bottom of Figure 4).

FIGURE 2 SICAS DESKTOP ENVIRONMENT - EXECUTION MODE.

Now, in the bottom pane appears the final output and in the right pane the last values taken by the various variables, under Facts. The possibility to simulate her/his own algorithm gives extra possibilities to the student, not available when she/he creates the algorithm on paper (although we think in some situations programming with paper and pencil can be very educational). Using SICAS the student can verify if the algorithm is correct, if it has errors, if it is sufficient to solve the problem, etc., without giving it to the teacher. On the other hand, the tool helps preventing the student from making some logical mistakes, such as using a variable that is not yet declared or incorrectly nesting two cycles or two selection instructions. Although not all possible errors are detected by the tool, this is already a precious help. We can consider that SICAS is based on a constructivist model, as feedback is discriminative and active, i.e., it does not give a correct answer when the student makes mistakes but, on the contrary, it tries to leads her/him to create an adequate answer. It is also a configurable tool, since it is possible to add new problems, new solutions, change existent solutions, at any time. It allows alternative representations to a problem, since it is possible to have different solutions for the same problem or have a solution in flowchart, pseudo-code, C and Java codes [5-6]. Other programming languages could also be added quite easily and without changing the essential of the tool. H-SICAS

H-SICAS means handheld SICAS and it was developed after the standalone version of SICAS.

FIGURE 3 H-SICAS – PROBLEM SPECIFICATION IN TEACHER MODE.

After opening a problem, the student can develop an algorithm that solves it. H-SICAS supports the same types of variables and instructions as SICAS does and it uses similar clicking and pointing techniques to specify an algorithm. In Figure 5 we can see a screenshot showing a situation where a student is creating some variables. In Figure 6 the student is defining a repetition instruction to solve the average age problem. In Figure 7 and 8 we have the full algorithm flowchart for this problem, before and after being run respectively. The problem statement now is not shown in the bottom pane, but it could be by clicking in the toolbar small window button. The flowchart occupies the main pane of the screen and the defined variables are shown on the right pane, under Var. After finishing creating a solution it can be simulated. This can be done also in all the 4 speed modes available in the standalone version with a similar behavior. As soon as execution ends, the final output can be visualized too. Now, in the bottom pane appears the final output, if shown, and in

978-1-4244-1970-8/08/$25.00 ©2008 IEEE October 22 – 25, 2008, Saratoga Springs, NY 38th ASEE/IEEE Frontiers in Education Conference T4A-9

Session T4A the right pane the last values taken by the various variables, under Var again.

FIGURE 4 H-SICAS – STARTING A PROBLEM IN STUDENT MODE.

FIGURE 5 H-SICAS – CREATING PROBLEM VARIABLES IN STUDENT MODE.

FIGURE 6 H-SICAS – SPECIFYING A REPETITION IN STUDENT MODE.

FIGURE 7 H-SICAS – SPECIFYING A PROBLEM IN STUDENT MODE.

978-1-4244-1970-8/08/$25.00 ©2008 IEEE October 22 – 25, 2008, Saratoga Springs, NY 38th ASEE/IEEE Frontiers in Education Conference T4A-10

Session T4A User interaction was not a big issue also, as it can be done similarly with the stylus or the mouse. As the tool is not much text-based, text length was not a big problem. Animations in SICAS are small and simple, so we could manage well in this respect too. Also the tool speed, when simulating an algorithm, was not a critical factor. CONCLUSIONS

FIGURE 8 H-SICAS – RUNNING A PROBLEM IN STUDENT MODE.

H-SICAS ADAPTATION ISSUES In adapting the standalone version of SICAS to a handheld device, the bigger problem was the pane where the flowchart should be edited and simulated. Indeed, this is the more complex pane we have in the tool from the user point of view, as it can take a lot of objects, scrolling, etc. Scroll helped us to gain space, due to the handheld small screen dimensions. Also we opted by having a smaller fixed toolbar and two hide/show toolbars, for creating the flowchart instructions and simulating the algorithm, instead of only one fixed toolbar with all the tools, as in the standalone version. The first one gives access to the other two by clicking in the first and second buttons respectively. Also the problem, input/output and example panes can be hidden or shown (by clicking in the fixed toolbar third button). We eliminated the Facts pane to simplify the layout too. Now we always use the Var pane to show variables and their values, both in creation and simulation modes. Flowchart objects’ dialog boxes were redesigned without problems as well as those for editing, opening and saving problems and for opening and saving algorithms. Menus were easily adapted too, although the tool has a menu with some complexity to a handheld device. Pseudo-code, Java and C panes were not problematic either, since they were implemented as text panes and the amount of text is usually not large.

In this paper we described H-SICAS main features, a handheld tool to support initial programming learning using a procedural approach. It was developed after a standalone tool with similar purposes and the development involved mainly redefining some screen issues, like having hiding/showing toolbars and panes and reducing the number of panes. Surprisingly, the tool screen is perfectly manageable as users experienced it. That was one of the key design questions for us. Although we need more testing, namely with students, the results from the first usability studies that involved only teachers were positive. In the future H-SICAS will be integrated with a Webbased system that will include several tools and where teachers can contribute with problems that students can solve, working easily at distance or downloading them using their handhelds. As it can be hard for a single teacher to provide problems for such a system, the idea is to build a sharing platform that can be fed by several teachers and used by many students. For that some small adaptations must be implemented in H-SICAS, namely the synchronization with the system, as we want that users will be able not only to download problems, but also to submit their solutions for validation. REFERENCES [1]

Naismith, L. et al. 2005. Learning with Mobile Technologies, Report 11. NESTA Futurelab, UK.

[2]

Savill-Smith, C. and Kent, F. 2003. The Use of Palmtops computers for Learning. Learning and Skills Development Agency, UK.

[3]

Roschelle, J. 2003. “Unlocking the learning value of wireless mobile devices.” Journal of Computer Assisted Learning, Vol. 19, pp. 260272.

[4]

Soloway, E., et al. 2001. “Log on education: handheld devices are ready-at-hand.” Communications of the ACM, Vol. 44, pp. 15-20.

[5]

Gomes, A. and Mendes, A. 1999. “A animação na aprendizagem de conceitos básicos de programação.” Revista de Enseñanza y Tecnología, Vol. 13, pp. 22-32.

[6]

Rebelo, B. Marcelino, M. and Mendes, A. “Evaluation and Utilization of SICAS - A System to Support Algorithm Learning.” In CATE 2005. 29-31 August 2005. Proceedings of the 8th IASTED International Conference on Computers and Advanced Technology in Education. Oranjestad, Aruba, pp. 153-158.

[7]

Roberts, E. “An overview of MiniJava.” In SIGCSE’01. 21-25 February 2001. Proceedings of the 32nd SIGCSE Technical Symposium on Computer Science Education. Charlotte, USA, pp. 1-5.

[8]

Kolling, M., Quig, B., Patterson, A. and Rosenberg, J. 2003. “The BlueJ system and its pedagogy.” Journal of Computing Science Education, Special Issue of Learning and Teaching Object Technology, Vol. 12, pp. 249-268.

978-1-4244-1970-8/08/$25.00 ©2008 IEEE October 22 – 25, 2008, Saratoga Springs, NY 38th ASEE/IEEE Frontiers in Education Conference T4A-11

Session T4A [9]

Pattis, R. 1981. Karel the Robot: A Gentle Introduction the Art of Programming. John Wiley & Sons.

AUTHOR INFORMATION

[10] Truong, N., Bancroft, P. and Roe, P. “A web based environment for learning to program.” In ACSC’03. 4-7 February 2003. Proceedings of the 26th Australasian Computer Science Conference. Adelaide, Australia, pp. 255-264.

Maria Marcelino, Assistant Professor, University of Coimbra, [email protected].

[11] Ben-Ari, M., Myller, N., Sutinen, E., Tarhio, J. “Perspectives on Program Animation with Jeliot.” 2001. Lecture Notes in Computer Science. Springer-Verlag, Vol. 2269, pp. 31-45.

Todor Mihaylov, Master Student, University of Rousse, [email protected].

[12] Bradley, C. and Haynes, R. “Prototypes for multimedia mLearning.” In Mobile Learning. 28-30 June 2005. Proceedings of the IADIS International Conference on Mobile Learning 2005. Qawra, Malta, pp. 3-10.

António Mendes, Assistant Professor, University of Coimbra, [email protected].

978-1-4244-1970-8/08/$25.00 ©2008 IEEE October 22 – 25, 2008, Saratoga Springs, NY 38th ASEE/IEEE Frontiers in Education Conference T4A-12

Suggest Documents