PiktoMir: teaching programming concepts to preschoolers with ... - Core

6 downloads 0 Views 677KB Size Report
Another way to teach kids programming is using tools, like Alice (Cooper et.al., 2000) and Scratch (Maloney et.al., 2004). These programming languages ...
Available online at www.sciencedirect.com

Procedia - Social and Behavioral Sciences 28 (2011) 601 – 605

WCETR 2011

PiktoMir: teaching programming concepts to preschoolers with a new tutorial environment Irina Rogozhkina, Anatoly Kushnirenko* Moscow State University of Psychology & Education, 29 Sretenka str., Moscow 127051, Russian Federation Russian Scientific Research Institute for System Analysis, 36-1Nahimovsky pr., Moscow 117218, Russian Federation

Abstract In this paper, we present a new open source environment called PiktoMir (http://www.piktomir.ru/) that allows children to program a virtual robot behavior by using few pictograms. The goal of our research was to investigate the feasibility of using PiktoMir in teaching elements of programming to preschoolers. The obtained results allow us to assume that PiktoMir provides a working example of a natural textless environment that gradually introduces important programming concepts (such as subroutine, loop) without banging kids over heads. ‹3XEOLVKHGE\(OVHYLHU/WG Open access under CC BY-NC-ND license.

Keywords: Open source programming environment; Programming for kids

1. Introduction It is not a new idea that children can and should learn to know how to program. Programming helps to develop an algorithmic thinking, a unique mode of thought distinct from those encountered in the arts, mathematics and other sciences. It is a competence that has become important for everyone in the modern world. There are many different ways to introduce programming to children. One of them is using Logo, a programming language that is easy to learn (Papert, 1980). The most popular Logo environments have involved the Turtle, originally a robotic creature that sat on the floor and could be directed to move around by typing commands at the computer. Soon the Turtle migrated to the computer graphics screen where it was used to draw shapes, designs, and pictures. Logo provided genuine insight for further development of mini-languages (a combination of an actor with a language to control it). One of the most popular mini-ODQJXDJH.DUHOWKH5RERWZDVGHVLJQHGDVD³JHQWOHLQWURGXFWLRQ´WR3DVFDO 3DWWLV 1981). Karel contains all important Pascal-like control structures and teaches the basic programming concepts such as sequential execution, procedural abstraction, conditional execution, and repetition. Karel the Robot has been very important both as a mini-language and in stimulating other work. The following are several mini-languages that were directly inspired by Karel and use some of its features: Martino (Olimpo et.al., 1985) and Marta (Calabrese, 1989) in Italy, Darel (Kay & Tyler, 1993) in Australia and Karel-2D (Hvorecky, 1992) in Slovakia. The good survey of existing mini-languages can be found in Brusilovsky et.al., 1997. * Irina Rogozhkina. Tel.: +7-495-412-76-83; fax: +7-495-412-76-83. E-mail address: [email protected]. 1877-0428 © 2011 Published by Elsevier Ltd. Open access under CC BY-NC-ND license. doi:10.1016/j.sbspro.2011.11.114

602

Irina Rogozhkina and Anatoly Kushnirenko / Procedia - Social and Behavioral Sciences 28 (2011) 601 – 605

Another way to teach kids programming is using tools, like Alice (Cooper et.al., 2000) and Scratch (Maloney et.al., 2004). These programming languages minimize code and use graphics in a "drag-&-drop" environment. They allow creating an animation for telling a story, playing an interactive game, or a video to share on the web. Greenfoot (Henriken & Kolling, 2004) is a programming environment designed to teach kids (and older students) to code in Java. The framework is used to create a wide range of programs that can be visualized in a two-dimensional grid. All the programming environments mentioned above require the ability to write and read. That sets an age limit on when kids can start learning programming. But we believe that children are able to understand some programming concepts even if they are not yet at the reading stage. They just need a suitable environment that allows them to compose and debag a program without writing and reading any instructions in the textual form. Such an open source environment called PiktoMir (http://www.piktomir.ru/) was developed by Russian Scientific Research Institute for System Analysis. This software allows children to program a virtual robot behavior by using few pictograms (Kushnirenko et.al., 2010; Kushnirenko&Leonov, 2009). The popular flash-game Light Bot (http://armorgames.com/play/2205/light-bot) is based on the same idea. The game is played by dragging the arrows and other movement pictograms into the slots. But this game is not an educational environment. Though it includes the functions to re-use, it trains logic rather than introduces the important programming concepts. On the contrary, PiktoMir gradually introduces the concepts like subroutines, loops, conditionals, and provides a lot of tasks so the children could gain a better understanding of them. The goal of our research was to investigate the feasibility of using PiktoMir in teaching programming to preschoolers. Specifically, this study attempted to answer the following questions: (a) How well would preschoolers learn fundamental programming concepts working with PiktoMir? (b) Would the children have a positive experience in the PiktoMir course and would this experience stimulate their interest in programming? 2. What is PiktoMir? PiktoMir is a textless environment that supports teaching programming to FKLOGUHQ7RLQFUHDVHNLGV¶PRWLYDWLRQ the work begins with a story about robot living in PiktoMir. The robot named Fidget does an important job. He recovers coatings damaged during space shuttle launches. Fidget cannot make decisions by himself but he is able to execute several simple commands. These commands are FORWARD, TURN RIGHT, TURN LEFT, and FILL.

Figure 1: Programming environment PiktoMir

Irina Rogozhkina and Anatoly Kushnirenko / Procedia - Social and Behavioral Sciences 28 (2011) 601 – 605

603

Kids should instruct Fidget so he can do his job, get to the green squares and fill them. Children can control the robot behavior by dragging the appropriate pictograms into the main method grid. In addition to simple linear programs PiktoMir allows creating programs using subroutine, loops and conditionals (Figure 1). PiktoMir has several important features that make it a suitable environment for young kids. First of all, it is attractive and meaningful for kids. Second, PiktoMir is conversational language. It means that any command can be executed in both navigation mode (single command execution) and programming mode (complete program execution). Finally, PiktoMir is a very simple language that does not require writing or reading any instruction in the textual form. 3. The study To answer the research questions stated above, we conducted a study at the Moscow kindergarten where the first author teaches. This section describes the participants, the data collection instruments used, and the procedure performed. 3.1. Subjects The study group consisted of 42 preschoolers enrolled in a Moscow kindergarten. The subjects were 22 boys and 20 girls aged 5.5 to 7 years. 35 kids aged 6.5 to 7 years attended a senior group in the kindergarten. 7 kids were younger (aged 5.5 to 6 years) and attended a pre-senior group. 3.2. The procedure The experiment was conducted for 8 weeks. There were two consecutive class periods (20 minutes each) per week. The first period was used for introduction to PiktoMir and games without using a computer and the second for hands-on programming exercises. Throughout the experiment the instructor kept a teaching journal in which she recorded teaching material, classroom processes, feedback from children and miscellaneous observations. Finally, all the children were given a test to assess their comprehension of programming concepts. 3.3. The achievement test After completing the course children were required to attempt an achievement test. The test contained three blocks of tasks. The first block focused on linear programs. The second one contained the tasks that implied using subroutines. Finally, the third block focused on using loops. Each block consists of 6 tasks. In part of them it was required to draw the path of robot following the written instructions (Figure 2). These tasks were designed to assess the ability of children to execute the algorithm.

Figure 2: One of the task checking the ability to execute the algorithm. This task was contained in the block focusing on using subroutines

604

Irina Rogozhkina and Anatoly Kushnirenko / Procedia - Social and Behavioral Sciences 28 (2011) 601 – 605

In some tasks children had to find a mistake in the algorithm (Figure 3).

Figure 3: One of the tasks checking the ability to find a mistake in the algorithm. This task was contained in the block focusing on using loops

Finally, there were tasks in which kids were required to write a computer program with PiktoMir.

4. Results and discussion The quantitative data collected during the course of the study were analyzed using SPSS 15.0 for Windows. The teaching journal kept by the instructor was also analyzHG WR VXPPDUL]H WKH LQVWUXFWRU¶V PDMRU REVHUYDWLRQ 7KLV section presents the results of these analyses. 4.1. The achievement test The achievement test consisted of 3 blocks of tasks, each focusing on a specific programming concept taught during the experiment. The highest possible score in each block was 6. The kid was considered to pass the test (more specifically, the block of the test) if his score was above or equal 4. As Table 1 shows, almost all children (41 of 42 participants) have gained an understanding of how to write linear programs. Three fourths of them learned to use loops and subroutines in their programs. Table 1. Results of the Achievement test (all participants) Blocks

Mean score

Std. Deviation

Linear programs Subroutines Loops

5.02 4.21 4.28

0.81 1.00 1.06

The number of children passed the test 41 (98%) 31 (76%) 30 (74%)

Among the participants of the study there were seven children younger than 6 years. Only two of them passed all blocks of the achievement test. That allows us to assume that before reaching the age of 6 years it is hard for children to understand some programming concepts such as loops and subroutines. If we exclude the data of the children younger than 6 years the results of the achievement test will be more impressive (Table 2).

Irina Rogozhkina and Anatoly Kushnirenko / Procedia - Social and Behavioral Sciences 28 (2011) 601 – 605

605

Table 2. Results of the Achievement test (35 children aged 6.5 to 7 years) Blocks

Mean score

Std. Deviation

Linear programs Subroutines Loops

5.08 4.37 4.40

0.78 0.97 1.03

The number of children passed the test 35 (100%) 29 (83%) 28 (80%)

4.2. 7KHWHDFKHU¶VREVHUYDWLRQ In this section we present some of the most noticeable observations made by the teacher. (1) Informal interviews with the children revealed that almost all kids had positive attitudes toward learning 3LNWR0LU6RPHRIWKHNLGV¶ answers were: - ,OLNHWRSOD\ZLWK)LGJHW,W¶VVRFRRO - Sometimes it was like a puzzle but it was fun. - ,W¶VJUHDWWKDW,FDQFRQWUROWKHURERWDQGVHHZKDWKDSSHQVLI,JLYHKLPVRPHFRPPDQG (2) Three children younger than 6 years said that learning loops and subroutines were too hard for them and they were tired to the end of the course. (3) Several children did not like the fact that some tasks in PiktoMir were very similar. (4) Half of the children were eager to continue working with PiktoMir. Some of them have seen the pictograms labeled conditionals and wanted to know how they could use them. 5. Conclusion In this research we investigated if PiktoMir can be used to teach fundamental programming concepts to preschoolers. The obtained results allow us to assume that PiktoMir provides a working example of a natural textless environment that supports teaching programming to preschoolers. It gradually introduces important programming concepts (such as subroutine, loop) without banging kids over heads. Almost all children found PiktoMir fun to use. They enjoyed playing with Robot. The next version of PiktoMir will support some collaborative learning activities. We plan to use elements of NLGV¶FROODERUDWLRQDQGFRPSHWLWLRQLQRXUQH[WH[SHULPHQWLQDKRSHWRLQFUHDVHFKLOGUHQ¶VPRWLYDWLRQ References Brusilovsky, P., Calabrese, E., Hvorecky, J., Kouchnirenko, A., and Miller, P. (1997). Mini-languages: A Way to Learn Programming Principles. Education and Information Technologies 2 (1), 65-83. Calabrese, E. (1989). Marta - the "Intelligent Turtle". Proceedings of Second European Logo Conference, EUROLOGO'89. Edited by G. Schuyten and M. Valcke. Gent, Belgium, 30 Aug - 1 Sep 1989, 111-127. Cooper, S., Dann, W., Pausch, R. (2000). Alice: a 3-D tool for introductore programming concepts. Journal of Computing Sciences in Colleges, 15, 5. Henriken, P., and Kooling, M. (2004). Greenfoot: combining object visualization withinteraction. In Companion to the 19th annual ACM SIGPLAN conference on Object-otiented programming systems, languages, and applications, 73-82. Hvorecky, J. (1992) Karel the Robot for PC. Proceedings of East-West Conference on Emerging Computer Technologies in Education . Edited by P. Brusilovsky and V. Stefanuk. Moscow, 157-160. Kay, J. and Tyler, P. (1993) A microworld for developing learning design strategies. Computer Science Education3 (1), 111-122. Kushnirenko A.G. and Leonov A.G. (2009) PiktoMir: programming games for primary school children. http://www.ito.su/main.php?pid=26&fid=8248&PHPSESSID=d12d7b5d09fc001d29 Kushnirenko A.G., Leonov A.G., Roytberg M.A., Yakovlev V.V. (2010) PiktoMir: programming for preschoolers. http://window.edu.ru/window_catalog/files/r67202/Pereslavl-2010.pdf Maloney, J., Burd, L., Kafai, Y., Rusk, N., Silverman, B., and Resnick, M. (2004). Scratch: A Sneak Preview. Second International Conference on Creating, Connecting, and Collaborating through Computing. Kyoto, Japan, 104-109. Olimpo, G., Persico, D., Sarti, L., and Tavella, M. (1985) An experiment in introducing the basic concepts of informatics. Proceedings of Fourth World Conference on Computers in Education, WCCE'85 . Edited by K. Dunkan and D. Harris. Amsterdam, 31-38. Papert, S. (1980) Mindstorms, children, computers and powerful ideas. Basic Books, New York. Pattis, R. E. (1981) Karel - the robot, a gentle introduction to the art of programming. Wiley, London.