<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>ChIP: teaching coding in primary schools</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Author Keywords</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Coding; Learning; Robotics; Primary school</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Fabio Sorrentino, Lucio Davide Spano</institution>
          ,
          <addr-line>Sara Casti, Alessandro Carcangiu, Fabrizio Corda, Gianmarco Cherchi, Alessio Murru, Alessandro Muntoni, Stefano Nuvoli</addr-line>
          ,
          <institution>Riccardo Scateni Department of Mathematics and Computer Science University of Cagliari Via Ospedale 72</institution>
          ,
          <addr-line>09124, Cagliari</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>In this paper, we introduce the ChIP project, which aims at teaching coding in primary schools by using a series of educational games and hands-on activities. The overall idea is to determine the benefits and costs of this activity and to explore the meaning and the potential impact of learning to code for younger students. We describe the lessons learned from two 60 hours courses that took place in two different primary schools thus detailing the pros and cons of this experience.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Copyright is held by the author/owner(s). CHItaly ’17, September 18-20, 2017,
Cagliari, Italy.</p>
    </sec>
    <sec id="sec-2">
      <title>Introduction</title>
      <p>
        Nowadays, technologies are acquiring more and more
relevance for young students. We find several examples
and demonstrations of how these new technologies help
learners in extremely different fields [
        <xref ref-type="bibr" rid="ref3 ref7">7, 3</xref>
        ]. However, simply
adopting new technologies in the process of learning does
not guarantee better results. Blacke affirms that the
technology is theoretically and methodologically neutral: the key
point is how the technology is applied [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>In the last years, the debate on when and how starting to
teach computer science is becoming increasingly relevant.
There are many programming platforms such as Scratch
1, Alice 2, Blockly 3, and Kodu 4 that can be used to teach
students coding/programming and Computer Science in
general. There are several educational games that
exploit these platforms and some of them are oriented to the
robotic programming.</p>
      <p>
        Learning and playing are two strictly related aspects, and
they are natural components of children’s everyday lives.
Playing is fun for children, but at the same time, it
represents one of the ways they actually learn [
        <xref ref-type="bibr" rid="ref2 ref5 ref6">5, 2, 6</xref>
        ]. Following
this general idea, the ChIP (a Children Introduction to
Programming) project has three main objectives: (i) to teach
coding to pupils through educational games, (ii) to develop
their problem-solving and comprehension skills, and (iii) to
foster their key skills such as creativity, autonomous
learning, and social interaction.
      </p>
    </sec>
    <sec id="sec-3">
      <title>ChIP</title>
      <p>The project set as a learning outcome for the students the
understanding of the main programming principles: simple
statements, program state management (variables),
conditional and iterative statements, simple functions.
The project took place in two different primary schools in
Cagliari, from March to June. For each lesson were present
three coding tutors and one teacher. During the lessons,
the tutors actively supported students in their tasks by
giving them suggestions and little hints in order to help them in
reaching the goal. In some cases, students were allowed to
work in pairs.</p>
      <p>1http://scratch.mit.edu
2http://www.alice.org
3http://blockly-games.appspot.com
4http://www.kodugamelab.com</p>
      <sec id="sec-3-1">
        <title>Course organization</title>
        <p>The first classroom (C1) included 29 pupils, 12 boys and
17 girls aged between 9 and 11. The second one (C2)
included 25 pupils, 14 boys and 11 girls aged between 6 and
11. In the former, we were able to create a single group
since the children’s age was homogeneous. In the latter, we
created three groups: (a) 3 girls and 5 boys aged between
6 and 7, (b) 5 girls and 3 boys aged between 8 and 9, (c)
3 girls and 6 boys aged between 10 and 11. In both
classrooms were present pupils with ADHD (Attention Deficit
Hyperactivity Disorder) and the role of teachers was
crucial to foster and manage their participation during course
activities.</p>
        <p>During the lesson, tutors used informal assessment
techniques, such as asking questions or simply watching the
students’ current performance on a task. They walked
around while students were working on an activity, and
observed the progress made by each pupil. This way allowed
tutors to monitor each child’s progress on a specific task
thus taking notes of the child’s current understanding and
any areas in which the pupil may need assistance. If the
students appeared confused or not interested in the
lesson, the tutors adjusted their activities accordingly before
reaching the end. In particular, due to the fact that some
lessons lasted from two up to four hours (split into two main
sessions), we allowed pupils to play videogames or to draw
by using MS Paint during the last 20 minutes of the lesson.
A short break between the main sessions helped tutors to
keep a high attention level of pupils during the activities.
Specifically, we followed three methodologies during the
entire course: proper lesson, learning-by-doing, and hands-on
laboratory. These methodologies have been applied by
using different tools: coding with paper, educational games at
increasing difficulty on Code.org, assessment games of our
developed ChIP platform, robotic programming.</p>
      </sec>
      <sec id="sec-3-2">
        <title>Teaching methodologies</title>
        <p>Since it was the first coding course for the majority of the
pupils, they needed the introduction to Computer Science
fundamentals before starting the activities. These
fundamentals were taught by using everyday life examples,
letting pupils understand what is a computer, how it works
and how it is possible to program it in order to reach a
specific goal. We had a short discussion on what an algorithm
was, i.e. a set of steps or instructions that they would create
and that they would then execute. This has been done as a
group discussion and, lesson by lesson, they were able to
understand the meaning of instructions, operators, iterators,
conditional statements, functions and more.</p>
        <p>During the explanations, tutors used informal assessment
techniques, such as asking questions, in order to get the
children’s current understanding. The learning-by-doing
methodology has been largely used during the entire course.
It consists in solving educational games by using a laptop.
These games were proposed with increasing difficulty. In
some cases, pupils were assisted by tutors to reach the
problem solution or to produce a better one. During the
hands-on sessions, pupils were supported in solving a
problem in small groups. At the beginning of the course,
they built a robot named Chip (Makeblock mBot5) under the
supervision of a tutor.</p>
        <p>A video report is available at https://youtu.be/wF4Lztzp9Ic.</p>
      </sec>
      <sec id="sec-3-3">
        <title>Teaching tools</title>
        <p>We used different tools and techniques for introducing
programming concepts to young students in fun and interactive
ways. One was coding with paper that was useful for them
in learning programming fundamentals at the beginning of
the course since the medium did not constrain them and did
not added the difficulty of using the desktop computer. We
printed and cut a set of simple instructions on paper tags:
turn left, turn right, turn on leds and more where the young
programmers had to find their right order to achieve a task.
The created algorithm was then executed to see if the
solution was the correct one. During these sessions, we formed
groups of two pupils. One was the programmer, while the
the other one was the robot. We also adopted pixel-art
techniques to let pupils draw by using a sort of algorithm
made up by a list of direction to follow.</p>
        <p>The use of educational games by using a laptop was a
crucial activity during the lesson. First, they used a subset
of Blockly games, then they started to use the Code.org6
games that are based on Blockly too (see Fig. 2). Blockly
is a visual programming language, where users drag and
drop blocks together in order to generate code. Code.org
offers the opportunity for students to learn computer
science by using this approach. At the same time, it offers
several statistics and tools to educators.</p>
        <p>In Code.org, the students of the first classroom (C1) worked
on course 2, 3, and 4. Course 2 is dedicated to students
who can read and have no prior programming experience.
In this course, students will create programs to solve
problems and develop interactive games or stories they can
share (recommended for grades 2-5). In course 3 students
are lead into programming topics introduced in previous
courses to create flexible solutions to more complex
problems (recommended for grades 4-5). In course 4 students
will learn how to solve puzzles with increased complexity
as they learn how to combine several concepts (including
loops and functions with parameters) when solving each
challenge (recommended for grades 4-8). In C2 it has been
5http://www.makeblock.com
6https://code.org
necessary for some pupils (those aged between 6 and 7) to
start with the course 1 that is designed for early readers.
In combination with these games, pupils used a customised
version of the Blockly platform that was developed by our
group where the main character is the robot Chip and it
has to collect bags of garbage while finding the maze exit
(see Fig. 1). This web game 7 has been made real by using
an mBot robot. It has been programmed by the pupils with
the support of tutors. The device mBot is a cheap
Arduinobased robotics kit that allows students to assemble it with
motors and sensors without requiring students to know
anything about electronics. Both sensors and motors are easy
to plug with cables. Due to the fact that it is equipped with
an Arduino board, it is possible to programming it with the
Arduino programming language or by using the Scratch
environment mBlock. The device can be remotely controlled
by Bluetooth (or WiFi, it depends on the version). We built a
small-size maze where the posts and pegs were 3D printed
and the rest of the construction was 4mm wooden board
and black masking tape.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Conclusion and Future Work</title>
      <p>
        As shown in Fig. 3 and 4, it has been reached a really good
result in term comprehension of the proposed topics in both
C1 and C2 classrooms. Specifically, T2.1 corresponds to
information representation, T2.2 to simple instructions, T2.3
to conditional instructions, T2.4 to iterative instructions and
T2.5 to functions and procedures. In both classrooms, a
critical topic was the T2.5, due to the fact that it requires
a good ability of abstraction that is not yet developed
during primary school age. In fact, in the concrete operational
stage (from age 7 to 11), they begin to think more logically
and they tend to struggle with abstract and hypothetical
7http://spano.sc.unica.it/chip/appengine/index.html?lang=it
concepts [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. This topic was hard to do for its graphical
representation too. The block used for represent a function or
a procedure and its position inside the working view can
confuse the student on which block will be executed for first.
This would require more research in order to find more
suitable representations for children.
During the course, tutors have counted the number of hints
given to students (see Fig. 5). The main goal of this activity,
that is shown in Figure 5, was to check if these hints
produced a more autonomous problem-solving capability. The
data shows that lesson after lesson this number follows a
decreasing trend, due to two main motivation: the former
is the progressive comprehension of topics and the
acquisition of the computational thinking. The latter is the
established spontaneous collaboration made between
classmates.
      </p>
    </sec>
    <sec id="sec-5">
      <title>Acknowledgements</title>
      <p>The authors are grateful to the children, teachers and the
class presidents of both Istituto Comprensivo n. 4 in Quartu
Sant’Elena (CA) and Primo Circolo Didattico Selargius (CA)
who participated in our study.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Robert</surname>
            <given-names>J</given-names>
          </string-name>
          <string-name>
            <surname>Blake</surname>
          </string-name>
          .
          <year>2013</year>
          .
          <article-title>Brave new digital classroom: Technology and foreign language learning</article-title>
          . Georgetown University Press.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>Pat</given-names>
            <surname>Broadhead</surname>
          </string-name>
          .
          <year>2006</year>
          .
          <article-title>Developing an understanding of young children's learning through play: the place of observation, interaction and reflection</article-title>
          .
          <source>British Educational Research Journal</source>
          <volume>32</volume>
          ,
          <issue>2</issue>
          (
          <year>2006</year>
          ),
          <fpage>191</fpage>
          -
          <lpage>207</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Andrea</given-names>
            <surname>Casu</surname>
          </string-name>
          , Lucio Davide Spano, Fabio Sorrentino, and
          <string-name>
            <given-names>Riccardo</given-names>
            <surname>Scateni</surname>
          </string-name>
          .
          <year>2015</year>
          .
          <article-title>RiftArt: Bringing Masterpieces in the Classroom through Immersive Virtual Reality.</article-title>
          .
          <source>In Eurographics Italian Chapter Conference</source>
          .
          <volume>77</volume>
          -
          <fpage>84</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Jean</given-names>
            <surname>Piaget</surname>
          </string-name>
          .
          <year>2000</year>
          .
          <article-title>Piaget's theory of cognitive development. Childhood cognitive development: The essential readings (</article-title>
          <year>2000</year>
          ),
          <fpage>33</fpage>
          -
          <lpage>47</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Maria</given-names>
            <surname>Roussou</surname>
          </string-name>
          .
          <year>2004</year>
          .
          <article-title>Learning by doing and learning through play: an exploration of interactivity in virtual environments for children</article-title>
          .
          <source>Computers in Entertainment (CIE) 2</source>
          ,
          <issue>1</issue>
          (
          <year>2004</year>
          ),
          <fpage>10</fpage>
          -
          <lpage>10</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Ingrid</given-names>
            <surname>Pramling</surname>
          </string-name>
          Samuelsson and
          <string-name>
            <surname>Maj Asplund Carlsson.</surname>
          </string-name>
          <year>2008</year>
          .
          <article-title>The playing learning child: Towards a pedagogy of early childhood</article-title>
          .
          <source>Scandinavian journal of educational research 52</source>
          ,
          <issue>6</issue>
          (
          <year>2008</year>
          ),
          <fpage>623</fpage>
          -
          <lpage>641</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Fabio</given-names>
            <surname>Sorrentino</surname>
          </string-name>
          .
          <year>2016</year>
          .
          <article-title>New HCI techniques for better living through technology</article-title>
          .
          <source>Ph.D. Dissertation</source>
          . University of Cagliari.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>