24 Development of the programming s learning tool for children be derived from maze 1130353 2013 3 1
,,,,., C Java,,.,,.,., 1 6 1 2.,,.,, i
Abstract Development of the programming s learning tool for children be derived from maze Shinobu Tanaka Out of growth and diffusion of information technology in recent days, demand of people with programming knowledge or demand of early programming instruction are increasing. In text programming language such as C and Java a program is written using English words and a particular grammar, and thus, it is difficult for children such as elementary school students to take an interest in programming and understand programming knowledge by these programming language. Therefore in this study, for making children of elementary education step take an interest in programming and understand algorithms and programming process etc, we develop a programming learning tool for children based on solving maze. The proposed system is an environment in which a user creates a program to lead a character in a maze to the goal by adding instructions using buttons. Then, we conducted an ecperinent on one first grade and one sixth grade of elementary school students. From the experimental result, we coufirwed that children of elementary education step could take an interest in programming and continue it for more than twentyminutes, as well as that they learned to use flow-control instructions such as repetition by the proposed system. key words Maze, Programming tool for children, Programming learning ii
1 1 1.1................................... 1 1.2.................................. 2 2 3 2.1 Scratch.................................... 3 2.2 @.................................. 5 2.3 Google Blockly............................... 7 3 10 3.1............................. 10 3.2............................. 11 3.3................................. 15 3.4...................... 17 4 21 4.1................................... 21 4.2........................... 22 5 23 5.1...................................... 23 5.2.................................. 24 25 26 iii
A 27 iv
1.1 C.............................. 1 1.2 Java............................... 1 2.1 Scratch................................. 3 2.2 Squeak Etoys............................. 4 2.3............................... 5 2.4 @......................... 6 2.5 2.4.............................. 6 2.6 Google Blockly............................ 7 2.7 4.............................. 8 2.8 10............................. 8 3.1.............................. 11 3.2............................... 12 3.3.............. 13 3.4............................... 13 3.5............................... 14 3.6............................. 15 3.7 1....................... 15 3.8............ 16 3.9............ 16 3.10.............. 17 3.11............ 17 3.12................................... 18 v
3.13........................ 18 3.14.... 19 3.15............ 19 3.16................................. 20 A.1............................... 27 A.2......................... 27 A.3......................... 28 A.4................................ 28 vi
1 1.1,,,,., C Java, 1.1, 1.2,. public class Sample{ #include <stdio.h> int main(void){ printf("hello World \n"); return(0); } public static void main(string args[]){ int a,b,c; a = 1; b = 2; c = a + b; System.out.println(c); } 1.1 C } 1.2 Java,,, 1
1.2 C Java, Scratch[1][2].,,., @ [3] Google Blockly[4],.,.,,.,,.,,. 1.2, 2,,,. 3,,. 4,. 5,. 2
2 2.1 Scratch Scratch, Squeak Etoys MIT [1][2]. 2.1, Scratch, ( ). 2.1 Scratch 3
2.1 Scratch Squeak Etoys, Alan Kay [5]. 2.2, Squeak Etoys,. 2.2 Squeak Etoys C Java, Scratch Squeak Etoys, Scratch,. 4
2.2 @ 2.2 @ @. @,,.,,. : 1 : 5 : 2 2.3. 2.3 5
2.2 @ @, 2.4., 2.4, 2.5 [3]. do { ; if ( ) { ; } else { ; } } while(! ); 2.4 @ 2.5 2.4 @. 1. @,.,., 2.4. 2. @,,.,.,,. 6
2.3 Google Blockly 2.3 Google Blockly Google Blockly, Google. Google Blockly, Google Code [6]. 2.6, Google Blockly. Scratch., ( ),,,. 2.6 7, 5, 10. 2.6 Google Blockly, 2.7 4. 4 4, 5. 7
2.3 Google Blockly 2.7 4, 2.8 10. 10 2.8,. 2.8 10 8
2.3 Google Blockly Google Blockly. 1. Google Blockly,.,.,.,,. 2. Google Blockly,,.,. 2.2,,. 9
3 3.1,.,,,.,, Java C,.,,,.,., 10
3.2 3.2, 3.1.,, [7][8][9] Java. 3.1, ( 3.2 1 ), 5 ( 2 ), 3 ( 3 ), ( 4 ), ( 5 ), 2 ( 6 7 ), ( 8 ), ( 9 ). 11
3.2 3.2 1,, 1, 1 2, 1, 3, 4, 5,...., 1, 1. 3,., 4, 3.3, 5 9,. 1 1, 5 9,.,1, 1 2, 3, 4,...., 1, 4. 1, 6 7, 3.3, 8,. 12
3.2 3.3 2, 6 1, 7 2 1, 8,.,, 1 4, 6 7., ( 3.4 1 ), ( 2 ). 3.2 2 5, 3.2 1 3.4 ( 3.2 1 ) : ( 3.2 2 ). 2,,. 3.4 13
3.2, ( 3.5 1 ), ( 2 ), ( 3 ), ( 4 ). 3.5 ( ), ( ),,,.,.,.,, 8 8, 9 9, 10 10, 3. 3,. 3.4 2, 3.6 ( ),. 14
3.3 3.6 3.3,. 1 3.7 1. 3.7 1 1. 3.8,. 15
3.3 3.8. 3.9,. 3.9 3.10 1. 16
3.4 3.10 3.11 1 3 2. 3.11 3.4, 3. 17
3.4, 3.12., 100.,, ( - ) 5, 0. 3.12,., 3.13,. 3.13 18
3.4 3.14 1, 1,,.,. 3.14 3.15.,. 3.15 19
3.4 3.16. 3.16 20
4 4.1 1 6 1, 4 4., 8 8. 10 15,,.,,.,, 6 20, 1 28., 1, 8 8, 9 9. 2,, 16, 15., 10.,,., ( ). A. 21
4.2 4.2,.,,,.,,,,,. 22
5 5.1,,,. C Java,,.,.,.,., 1 6 1, 4 4 6.,.,,,. 23
5.2 5.2, 1 6 1, 4 3 5,,,.,,.,,,,.. 24
,,.,,.,,.,.,,,,,.,,. 25
[1] Scrach, http://scratch.mit.edu/ [2] Scrach, http://etoys.jp/scratch/scratch.html [3],,,,, @ :,, 2008 CE 93, pp.41 48, 2008. [4] blockly - A visual programming editor - Google Project Hosting, https://code.google.com/p/blockly/ [5] Etoys Squeak Etoys, http://etoys.jp/squeak/squeak.html [6] Google Blockly :, http://wired.jp/2012/06/06/google-blockly/ [7], 3 Java [ 2 ],, 2000. [8] Harvey M. Deitel, Paul J. Deitel, Java vol.2,,, 1999. [9] Java Platform, Standard Edition 6 API - Docs Oracle, http://docs.oracle.com/javase/jp/6/api/. 26
A A.1, A.2,. A.1 A.2,,. 1 : 2 : 3 : 4 : 5 : 6 : 7 : 8 : 27
9 : 10 : 11 :1 ( ) 12 : 13 : 14 : 15 : 16 : 17 :1 18 : 19 : 20 : 21 : 22 : 23 : A.3,, A.4,.,, A.1 A.3. A.3 A.4 28
,,. 1 : 2 : 3 : 4 : 5 : 6 : 7 : 8 : 9 : 10 :1 11 : 12 : 13 : 14 : 15 : 16 :1 17 : 18 : 19 : 20 : 21 : 22 : 29