=Paper= {{Paper |id=Vol-2193/paper1 |storemode=property |title=AI Programming by Children using Snap! Block Programming in a Developing Country |pdfUrl=https://ceur-ws.org/Vol-2193/paper1.pdf |volume=Vol-2193 |authors=Ken Kahn, Rani Megasari, Erna Piantari, Enjun Junaeti |dblpUrl=https://dblp.org/rec/conf/ectel/KahnMPJ18 }} ==AI Programming by Children using Snap! Block Programming in a Developing Country== https://ceur-ws.org/Vol-2193/paper1.pdf
         AI Programming by Children using Snap! Block
             Programming in a Developing Country

               Ken Kahn1 , Rani Megasari 2 , Erna Piantari2 and Enjun Junaeti2
           1
               Department of Education, University of Oxford, 15 Gardens, Oxford, UK
    2 Department of Computer Science Education, Universitas Pendidikan Indonesia, Indonesia

    toontalk@gmail.com, magasari@upi.edu, erna.piantari@upi.edu,
                           enjun@upi.edu



         Abstract. The development of human civilization today can’t be separated from
         the Artificial Intelligence. To prepare for this, early education on Artificial
         intelligent should be done. Some activities have been done to support students
         making AI programs, for example Google AIY, Machine Learning for Kids
         website, the Wolfram Language, and the eCraft2Learn project. One of the new
         block programming languages Snap! has been extended to provide an easy-to-
         use interface that provides AI cloud services as well as other AI functions.
         However, there is little research about AI programming learning for children in
         developing countries. This paper presents how the learning of AI programming
         using Snap! programming in Indonesia. The learning process was evaluated with
         40 Senior High Schools and Vocational students. 84% students had some basic
         programming experience but others had none. 70% students who had basic
         programming experience felt that AI programming using Snap! was easy to
         understand, yet the students with no programming experience found it difficult.
         Even though mostly the students can answer the evaluation question about how
         AI works and all the students were keen on creating AI programs using Snap!.
         We concluded that Snap! programing worked to introduce AI to children and help
         to provide enjoyable environment to explore AI programming. However, some
         improvements are required to improve the learning process of AI programing
         using Snap! in developing country. The improvements are presented in this paper
         as the result of this research.

Keywords: AI programming, Block programming, Snap!, Education, Computer
     Science Education.


1        Introduction
Nowadays, AI slogan is becoming more popular without exception in developing
country. Many services are developed by including AI features with the aims to increase
the value of product and to interest many users from adults to children such as for
tourism planning[1], for educational robotics [2], for chatting[3], and for daily mail
reading [4]. Interestingly, even though AI services have become ubiquitous as in
conversational assistants (Google Assistant, Siri, Cortana, etc), vision apps (driverless
cars, security, x-ray analysis, character recognition, etc), text analysis (news article
generation, summarizing, sentiment analysis), and machine learning (translation, game
playing, finance, medicine), not everyone knows about AI benefit, so they just use the
2


device which can support AI application in an ordinary way without utilizing the AI
features. In Indonesia as one of developing countries, AI is an advance knowledge that
only known by few category of people who interest or work in AI. Whereas using an
advanced technology product without adequate knowledge can cause its utilization to
be non-optimal. Especially in developing country, this problem can cause a domino
effect to other fields which needs AI in their business and also widen the gap of AI
technology development in competition with developed country.

Introducing AI to children is a proper strategy to prepare an AI-capable generation. AI
for children already existed in 1977 [5].Since habit can cause deliberate goal pursuit
[6], assisting children in using AI features has a purpose to make them easy and enjoy
AI, accustomed to use AI, then become better motivated and empowered to produce
very capable artefacts. However, AI itself has three aspects that must be known to be
able to understand AI, based on an agent illustration to describe AI [7], which are agent
environment, agent perception, and agent action. Therefore, the most possible way to
introduce AI to children is by helping them be in touch with AI features and giving
them the experience of trying AI programming.

Block-based programming is present as programming tool besides text-based
programming. It has become increasingly common in high school because of its ease-
of-use characteristics such as including the natural language description of blocks, the
drag-and-drop composition interaction, and the ease of browsing the language [8].
Snap! is one of the programming tools which provides child-friendly programming
interfaces to AI Cloud services [9]. As an advance version of Scratch, Snap! is added
by some extensions or libraries therefore the students who have been in touch with
Scratch can adapt easily with Snap! but also can create more complex programming
which can not be implement by Scratch. Through its libraries such as eCraft2Learn,
children can learn about behavior in the process perceptive robots and apps to encounter
understanding of AI. Block-based programming can also be used to improve
computational thinking of children by using follow and giving them instructions to
follow [10].

Indonesia which is as one of developing country in Southeast Asia has bonus
demography in the form of very large population of citizen with the age of 15-64 years.
Due to the influence of brands on consumer behavior [11], this country should pay
attention to educate its nation’s generation especially about their digital skill to meet
the globalization challenge. As a preliminary research, this paper reports finding from
workshops on AI Programming for Children which is held on March and April 2018
by Computer Science Education Department, Indonesia University of Education.
Further works will talk about problem investigation in learning process based on the
current result.


2      Related Work
There are some works that has be done to introduce Artificial Intelligent in early
education level. Logo has initialized this work that allows children to learn about AI by
                                                                                        3


constructing AI programs [5][12][27]. After decades, there were some activities that
were done to support students in making programs from Stephen Wolfram [13].
Wolfram built an technology environment that allows student from elementary school
to graduate and beyond to learn and create programs from simple to AI programs. The
programming language that is used Wolfram Language that is integrated with some
automated machine learning. Therefore, it’s making state of the art machine learning in
a full range of applications accessible even to non-experts.
Moreover, in early 2018, as one of the biggest technology company, Google being
offering AIY project as a service to facilitate students learn about AI in 2018. The
learning concept that used in this project is learning by construction that is called ‘Do-
it-yourself artificial intelligent’. With AIY kits, students can build devices that see,
speak, and understand. Furthermore, Lane uses programming rather than kits to
facilitate children learning about AI. Lane created the website service ‘Machine
Learning for Kids’ that uses extension to the popular Scratch programming
environment to teach the basic machine learning to children. Scratch is a visual
programming language. In this environment, drag and drop palettes provide access to
primitive program elements [14]. This programming language was designed to help
children to think creatively, reason systematically and work collaboratively.
eCraft2learn is another project that is designed to help children to learn about AI.
eCraft2learn used Snap! and new additional blocks to Snap! visual programming
language [14] that provide easy-to-use interface to both AI cloud services and deep
learning functionality. Interactive learning materials have been developed [15] Project
eCraft2learn uses Snap! due to it being a powerful language that support first-class data
structure and functions, and it’s easy to define new block using JavaScript without
touching the source code. Beside that Snap! is a block programming that runs in every
modern browser. Therefore, it’ll help students to use it [16].
This paper shows how the AI learning process is done in Indonesia. As a developing
country, mostly students in Indonesia are not familiar with programming, even though
some students have learned about text-based programming. In this activity, we are focus
on how students learn about Artificial Intelligence, so that we want to hide some details
of programming problem to help students to understand about AI. However, in this
learning process we used learning by construction approach in which this approach is
suitable to encourage individual to be more creative [17]. This approach agrees with
situated learning theory, which emphasizes that the idea of cognitive support learning
by enabling students to acquire, develop and use cognitive tools [19]. Accordingly,
programming is needed as a tool to implement learning by constructions.
There have been some reports that used block programming language for introduction
programming education [20] [21] [22]. The result of some report showed that block-
based programming feels familiar to beginners and help students to understand how to
create a simple program. eCraft2learn project is provided to learn AI using Snap! as a
based-block programming language. Hence we used eCraft2learn to help in this
learning process.
4


3      Methodology

3.1    Participants
The experiments of the learning process was executed by using Snap! to enable the
students learn AI without complex code and involving 40 Senior High School students
and Vocational students. Students consisted of 15 women and 25 men between the ages
of 16 and 17 years. Based on existing samples, 100% of students are accustomed to
using computers for doing homework, gaming, watching video, doing programming,
or designing, and for 87.5% students it’s was the first time to learn AI. Furthermore,
87.5% of students are already familiar with text-based programming, and 95% of
students are accustomed to using AI applications, such as: Ok Google, Google
Translate, Cortana Windows 10, Siri, and speech recognition application in this
learning

3.2    Design Learning Process
Generally, the learning process scenario is designed using learning by construction
concept. Snap! Block programming is used as a construction tool that can help students
more easily to follow the learning process even though they are not proficient in
programming. The learning scenario of this research is presented on Fig 1.




Fig 1. Learning process scenario designed for the learning of AI programming using
Snap! programming.

Preparation. This phase is a process to prepare for learning process so that can be run
in accordance with the planned activities. The preparation that is done are:
   1. Preparing the computer for each student can connect to Internet.
   2. Set the student’s position so that she or he can work individually but not limit the
      student to still be able to discuss with their friends.
                                                                                          5


Some problems that may occur during the learning process are technical problems such
as network or computer installation, so that some instructors who will help in case of
technical problems are involved in the learning process.
Introduction to Students. During this phase students discuss about examples of AI
applications. Then Cozmo was demonstrated to attract students' interest and attention
to the learning activities to be undertaken. Prior to entry into the material, students were
given a brief explanation of Snap! And how to use AI guide. Then students were given
an explanation and demonstration of the material on speech synthesis, i.e. how a
computer can turn text into speech.

Learning Process. Artificial Intelligence refers to how to make a machine or computer
acts like a human. Some human abilities that AI has are the ability to interact with other
objects and the ability to learn about environment. In this lesson, student will learn
about how to use a computer speech to interact with other objects using Speech
Synthesis and how computer can learn about environment by Machine Learning
Process. In every lesson, student will be encouraged to try and construct a simple
process of computer speech and learning using Snap! Block programming.

Speech Synthesis. In this phase, student learn about how use a simple block in Snap!
that is used to speak (see Fig 2). This block allows students to explore how is the speech
process is done by computers. Some speech aspects that students could control are tone,
pitch, volume, rate and language.




                            Fig. 2. Simple Snap! Block for Speech

In this lesson students tried to make their own sentences using English or Indonesian
language and write in Speak Block. By clicking the block, then the computer will speak
the sentences that was written by student. To understand how computer process the
sentences, then the student has been encouraged to do an experiment about
‘Heteronyms Problem’. Students tried to write words that mean and sound different but
are spelled the same. For example, student wrote ‘read’ in two kinds of sentences. First
sentence is ‘I will read a book’ and the second sentence is ‘Yesterday I read a book’.
Then the students will observe the different voices and how the computer speak by the
experimentation.

Machine Learning. In this lesson the student tried some procedures about how
computers learn. Snap! provides some blocks to do machine learning process. However,
at the time of doing this learning process, machine learning blocks in Snap! are limited
to images. Therefore, student learn about how a block in Snap! uses image from a
camera to start machine learning process. There are two main processes in machine
learning that are training and testing. The figure below is a Snap! Block is used for
training and testing. To understand how training and testing processes in machine
6


learning are, students did two experiment about machine learning using a simple Snap!
program.
    1.    Simple program using image labels
         In these experiments, students learn to control a movement of image labels
         using hand and body movement. Student train the computer to recognize the
         control by image from camera. In one experiment they train the system to
         recognize which way one is learning. And in the other which was finger is
         pointing. Fig.3 is a Snap! block that is used for training process.




                           Fig. 3. Block Snap! for training process

         When the ‘Train block’ runs, a tab will be launched for capturing image from
         camera to train (see Fig.4).




                         Fig. 4. Capturing image for training process

         This interface (see Fig.4) makes the training process easier for student to
         understand. After training, the student did testing using this interface to
         discover how confident system was. After that then the student tried to give a
         command to the computer using image by camera.

    2.    Simple program about rock paper scissors game
         Another experiment is to train computer to know another command for rock
         paper and scissor game. During the previous experiment student used two
         command and the computer should recognize every command by camera
         image. In this experiment student used four image categories i.e. rock, paper
         scissors and other.
                                                                                         7




                   Fig .5.Training process for rock, paper and scissor games

         After the training process, the students tried to play the game which uses
         camera imagines as an input. Afterwards the students compare their result with
         their friend’s then they observe if there are different results.
   .
Observation and Measurement. The evaluation of the learning process is done in two
ways that are by evaluation testing and observation. After the learning process, the
evaluation is done to measure their understanding of AI that has been described
generally and their understanding based on the Artificial Intelligence aspects:
environment of agent, agent perceptions, and agent actions. Due to efficiency of
reliability criterion measures [23], essay tests were conducted in this phase.

The observation is done during the learning process. The students were observed based
on 6 (six) aspects: student's attention to learning; student interest in lessons; student’s
activity; student's eagerness to learn; the learning atmosphere; and circumstances of
orderly learning. Observations were conducted by four observers used the instruments
which are prepared to facilitate the observation process. In addition, they are also
required to provide feedback on the learning process that has been done in the form of
short answer questions.

Data Analysis. The research was conducted to evaluate the learning of AI
programming using the Snap! Programming language in Indonesia using mixed
methods approach sequential exploratory design [24].

The qualitative methods were used to describe learning activities during the learning
process and to explain what indicators of understanding students have learned
afterwards. The qualitative data was presented to support the quantitative data that had
been gathered.
8


4          Result and Discussion

4.1        Result
AI Understanding. In general, with their learning and being knowledgeable about how
animals and people see, hear and learn, students can already be said to have some
understanding of AI. By the student’s answers during the test, 77.5 % of students
indicated that they understand AI. Based on the aspects: environment of agent, agent
perception, and agent action, students understanding of AI.

      1.    Agent environment
            Some questions were asked to assess if students understand about agent
            environment by thinking about uncertainty that can become input of program.
            a) In speech synthesis, students tried some AI program using Snap! then
                 asked weather AI programs can be influence by some aspects which can
                 control by human as an agent environment manually such as: language,
                 speed of voice, tone, pitch, rate, volume, accent, and gender of sound.
                 Only a quarter of students answered correctly, while 55% of students
                 could mention one or two speech aspects as an agent environment, and
                 the rest did not know. Furthermore, almost half of the students know that
                 a computer could make a mistake in speech caused by noise, language
                 setting, character usage in the text such as: [, |, and /, could not
                 differentiate homophones in Indonesian language, even though they just
                 mentioned one of them.

            b)    In machine learning, students tried machine learning program then asked
                  how the learning process in AI program could be wrong. Students should
                  recognize that the environment will influence the learning process. More
                  than three quarters of students know a computer could make a mistake
                  to recognize picture after it was trained caused by:
                  1) The computer did not detect what were conveyed
                  2) Error or lack of clarity in introducing the objects or process
                  3) Incorrect programming
                  4) Noise
                  5) Limitations of object in training process
                  6) Resemblance of objects in computer training to recognize two or more
                     different objects
                  7) The training tools usage did not work properly
      2.    Agent Perceptions
            90% of the students stated that a computer speech by recognizing the input
            text from the user using a keyboard, then it will speech according to the text
            input. In addition, more than half of the students (67%) were able to provide
            near-close perceptions of how computer learning works. They mention that
            the computer can learn using learning machine, i.e. the computer is given some
            program (instruction) to recognize the movements using image of the samples
            which was captured by camera in the computer. However, the other students
            have not been able to deduce how computers learn.
                                                                                          9



    3.   Agent Actions
         The deduce students' understanding of the aspects of agent actions by viewing
         the ability of students to identify the benefits and dangers of speech synthesis
         and machine learning. The following Table 1 give a summary about students'
         test answers about the benefits and dangers of speech synthesis and machine
         learning.

                          Table 1. Summary about student’s answer


         Speech          Benefits       1.   Help people who cannot read (e.g., blind
         synthesis                           people) to listen to some words from
                                             computers
                                        2.   Help people to communicate with others
                                        3.   Help people to translate and know the
                                             correct accent (English accent/another
                                             language)
                                        4.   Facilitate people in pronouncing or
                                             spelling a language
                                        5.   Facilitate in search engine and reduce
                                             typos.
                                        6.   Helping a child who is learning to talk
                                        7.   Helping in work related to medical and
                                             finance
                                        8.   Time efficiency
                                        9.   Making it easier to perform a text-related
                                             operation such as giving a search
                                             command operation or even sending a
                                             message

         Machine         Benefits       1.   Reduce human work
         learning                       2.   Work and learn easier

                         Dangers        1.   Lack of social community
                                        2.   Replace human (some people losing)
                                        3.   Harmful (error operation)
                                        4.   Misuse
                                        5.   Making people lazy

Most of the students giving the same answer for the benefits and the dangers of
machine learning. Almost no students did not know (gave no answers) about the
benefits of machine learning. 40% of students stated that machine learning has no side
effects to humans for 10% did it and the remaining did not respond.

Background and the Student Enjoyment of Learning AI using Snap!. We identified
the relation between student’s background and student’s enjoyment of learning process.
10


Mostly the students enjoyed the learning process. Data in Table 2 shows that all student
who have ever studied about AI enjoy the learning process and only 1 student who
didn’t enjoy the learning process.

                 Table 2 Relation between enjoyable and student’s background

                                                 First Time Learning AI

                                                     Yes            No

                      Enjoy the       Yes            34              5
                      Workshop
                                      No              1              0


Table 3 shows that more than 40% students stated that it was easy, 7% students admitted
that machine learning is difficult but speech synthesis is easy, 15 % students admitted
that machine learning is easy but speech synthesis is difficult and the rest said both were
difficult. By that data, we can identify that more students admitted that machine
learning is easier that speech synthesis.

                Table 3. Degree of difficulty admitted by student for each lesson

                                                    Speech Synthesis

                                                   Easy        Difficult

                    Machine       Easy                 17              6
                    Learning
                                  Difficult            3               9
Nevertheless, a further 33 students or 82.5% students were interested and motivated to
make the AI program by using Snap!, Students have been able to imagine AI products
that they could create. Mostly students want to create games, text-to-speech app, a small
robot which can help, a picture the moves by itself, speech learning app for baby,
automatic lock door, anime, a Jarvis, an AI program that can search for lost motor or
car keys with mobile app, pinball with nitros, and calculator.

Based on the technical aspects of the learning process, all activities can be implemented
although in terms of time some of the activities of the implementation time is not in
accordance with the initial planning targets. This happens because the computers used
by each student have different specs and limited internet connections, so some students
(about 30%) experiences a long delay to run a program when they tried. Moreover,
there are some students (about 10%) whose program cannot run at all, because the
computer spec does not support to run the Snap! App.

Beside the evaluation the learning process, we did observations during the process. The
following results are obtained.
                                                                                           11



  1.        Student's attention to learning
            In the entire section of learning, mostly the students focused their attention on
            learning. They did the task immediately, and their movements were serious.
            Approximately 30 students lost focus early in the learning process, as they
            panicked when they saw their friend was able to run the program while he could
            not yet.

  2.        Student interest in lessons
            As they begin to engage in learning and try to run the program, they did not stop
            working and enjoying the learning process. When they managed to do the task
            successfully, their faces were beaming. But there are some students who due to
            delay in running the program, they become restless even as if not interested, but
            these were only a small fraction of the students.

  3.        Student activity
            Almost all students look passive, there were no students taking notes, and they
            did not immediately respond when asked. However, when approached by
            instructor, they were asked if there are things they do not understand.

  4.        Eager to learn
            When learning is about to begin, some students did not enter the room
            immediately.

  5.        Learning atmosphere
            Even the class sound crowded by students chattering, but no students are
            downstream while studying (See Fig 6).




                                     Fig 6. Learning Atmosphere

       6.     Circumstances of orderly learning.
              Some students who cannot run the application on their computers, join their
             friends. Nevertheless learning activities are still running in an orderly manner,
             they take turns trying and asked to take turns if they did not understand.

Students Feedback. Some of feedback given by the students as follow:
12


      1) Creating a more compatible program/use a software version which compatible
         with any laptop
      2) Teaching slowly and giving instruction properly
      3) Using colorful background in the AI guide
      4) Manual book needed in the learning process
      5) Making a desktop app
      6) Automatic language setting
      7) Deal with many objects that are in the image background,
      8) AI should be able to recognize what the human instructs (accuracy of the
         introduction of the object can be improved), when many objects are on the
         background.
      9) Make apps that not need require an internet connection

4.2     Discussion
Introducing something new that actually people are used to interact with this is a
challenging task. In this case, artificial intelligence is not just about the product such as
robot or other sophisticated technology. People may know about AI by understanding
its concepts that involve agent environment, agent perception, and agent action. What
we write in this paper is a report about the learning process to give students as
participant enjoyable AI programming experience therefore they can construct their
understanding about AI. However, as the initial step, this result still needs some
improvements.

Based on the results, there are some aspects which must be considered in the learning
process, especially with children as the participants. First, using block-based
programming is helpful to increase students’ confidence to program AI. Snap! Provides
an Integrated Development Environment (IDE) which are suitable for children, easy to
use but still reliable to make simple programs to complex programs. The good point is
that they can create their own block, the children can feel free to explore their logic.
Second, ecraft2learn gives instruction to introduce AI to children systematically. We
agree that providing learning media which consists of clear article, example, and
instruction can improve computational thinking of children. Both Snap! and
ecraft2learn project use cloud service which facilitate to organize the workshop.
However, some technical problem existed and can also occur in other developing
country caused by internet connection problem, inadequate infrastructure, and
communication language differences. Finally, AI programming by children using Snap!
Block Programming has been quite successful to introduce AI to Indonesian Children.


5       Conclusion
This paper reports the result of workshop AI Programming for Children that has been
done in Indonesia, involving 40 Senior High Schools and Vocational students between
the 16 and 17 years old. Based on the students’ answers, we can conclude that 95% of
students are accustomed to using AI applications but 87.5% students confess that they
did not know about AI before. After the learning process, as many as 77.5% students
                                                                                          13


can answer the question which indicates their understanding about AI. In spite of only
87.5% students that have programming experience, but almost all students enjoy the
learning process (97.5%). Using Snap! and ecraft2learn contribute to the current result
which shows that more than half students express the ease-of-use for both speech
synthesis and machine learning. Moreover, to improve the current result, we need to
investigate some problems such as technical problem, time allocation for each session,
or learning method as our future work.



6       Acknowledgment
The authors of this article would to thank to students, teachers of SMKN 2 Cimahi,
SMK Pelita, SMAN 27 Bandung, assistants (Teddy, Makhrus, Aldo) to make it possible
to conduct this study with their enthusiastic cooperation. This research was supported
by Department of Computer Science Education Universitas Pendidikan Indonesia and
Department of Education University of Oxford, United Kingdom. We are thankful to
Direktorat TIK Universitas Pendidikan Indonesia who facilitated the use of the
computers. The eCraft2Learn project is funded by European Union’s Horizon 2020
Coordination & Research and Innovation Action under Grand Agreement No 731345.



References

 1. FA Lisi and F Esposito. An AI Application to Integrated Tourism Planning. Congress of the
    Italian Association for Artificial Intelligence pp 246-259. (2015).
 2. DS Touretzky and C Gardner-McCune. Calypso for Cozmo: Robotic AI for Everyone.
    Proceedings of the 49th ACM Technical Symposium on Computer Science Education Pages
    1110-1110 . (2018).
 3. N Hatwar, A Patil, and D Gondane. AI BASED CHATBOT. International Journal of
    Emerging Trends in Engineering and Basic Sciences (IJEEBS), Volume 3, Issue 2 (March-
    April 2016), PP.85-87. (2016).
 4. D Chen, J Bolton, CD Manning. A thorough examination of the cnn/daily mail reading
    comprehension task.arXiv preprint arXiv:1606.02858. (2016).
 5. K Kahn. Three Interactions between Al and Education. Machine Intelligence. (1977).
 6. W Wood and D Rünger. Psychology of Habit. Annual Review of Psychology. (2016).
 7. SJ Russell and P Norvig. Artificial intelligence: a modern approach. (2016)
 8. D Weintrop and U Wilensky. To block or not to block, that is the question: students'
    perceptions of blocks-based programming. Proceedings of the 14th International Conference
    on Interaction Design and Children pp 199-208. (2015).
 9. K Kahn and N Winters. Child-Friendly Programming Interfaces to AI Cloud Services.
    European Conference on Technology Enhanced Learning pp 566-570. (2017).
10. J Figueiredo, FJ García-Peñalvo. Improving Computational Thinking Using Follow and
    Give Instructions. Fifth International Conference on Technological Ecosystems for
    Enhancing Multiculturality (TEEM’17) (Cádiz, Spain, October 18-20, 2017) (Article 3).
    New York, NY, USA: ACM. doi:10.1145/3144826.3145351. (2017).
14


11. Chovanová, AI Korshunov, and D Babčanová. (2015). Impact of Brand on Consumer
     Behavior. Procedia Economics and Finance 34 615 – 621. ( 2015 )
12. Kahn, K. A Logo natural language system. Technical report, MIT AI Lab, LOGO Working
     Paper 46. (1975)
13. Wolfram, S. An Elementary Introduction to the Wolfram Language, Second Edition.
     Wolfram Media. (2017a)
14. Resnick, M., Maloney, J., Monroy-Hernandez, A., Rusk, N., Easrmond, E., Brenan,
    K., Millner, A., Rosenbaum, E. Silver, J., Silverman, B., and Kafai, Y. Scratch :
    Programming for All Communication of the ACM, vol 52, no 11, pp 60-67 (2009)
15. Harvey Brian, Jens Monig. Bringin “No Ceiling to Scratch : Can One Languge
    Serve Kids and Computer Sciences?”. Constructionism. Paris. (2010)
16. Khan K. AI Programming by Children. (2018)
17. Bagarukayo Emily. An Approach to Learning by Construction. International Journal of
     Education and Development using Information adn Communication Technology
     (IJEDICT). Vol 8, Issue 3, pp.43-61. (2012)
18. Brown, B. Taxonomy of Educational Objectives, Handbook 1 : The Cognitive
    Domain. New York: Davis McKay Co. Inc. (1989)
19. Andriessen Jerry., Jacobijn Sandberd. Where is Education Heading and How
    About AI. International Journal of Artificial Intelligent in Education, 10. 130-150.
    (1999)
20. M. Yoshiaki., Yoshiki Tanaka, Sanshiro Sakai. Measuring an Impact of Block-Based
    Language in Introductory Programming. International Federation for Information
    Processing. Pp.16-25. (2016).
21. Lewis, C . What do students learn about programming fro game, music video, storytelling
    projects? In: proceedings of the 43rd ACM Technical Symposium on Computer Science
    Education (SIGCSE) pp. 643-648 (2012)
22. Ozoran, D. Cagiltany, N. Topalli, D. Using scratch in introduction to programing course for
    engineering students. 2nd International engineering Education Conference, (IEEC) pp. 125-
    132 (2012)
23. Coffman, W.E. On the validity of essay tests of achievement . Journal of Educational
    Measurement, 3, 151-156. Google Scholar, Crossref. (1966).
24. Creswell, J.W., and V.L. Plano Clark. Designing and conducting mixed methods research.
    Thousand Oaks, CA: Sage Publications. (2007).
25. Borrego, M., Douglas, E. P., & Amelink, C. T. Quantitative, qualitative, and mixed research
    methods in engineering education. Journal of Engineering education, 98(1), 53-66. (2009).
26. Morse, J. M. Principles of mixed methods and multimethod research design. Handbook of
    mixed methods in social and behavioral research, 1, 189-208. (2003).
27. Papert, S., Solomon, C. Twenty Things to Do with a Computer, MIT AI Lab,
    http://hdl.handle.net/1721.1/5836. (1971)