You are on page 1of 74

 

 
 
 
 
 
DEVELOPING PROGRAMMING SKILLS ON DIGITAL NATIVE 
CHILDREN THROUGH THE INTERACTION WITH SMART DEVICES 
 
MsC. Dissertation 
 
 
 
By 
José Rafael Moraes Garcia da Rocha 
 
 
 
 
 
 
 
Recife, 
Janeiro de 2016 
 

DEVELOPING PROGRAMMING SKILLS ON DIGITAL NATIVE
CHILDREN THROUGH THE INTERACTION WITH SMART DEVICES

Dissertação

apresentada

como

requisito parcial para a obtenção do
título de Mestre, pelo Programa de
Pós-Graduação em Ciências da
Computação

do

Centro

de

Informática

da

Universidade

Federal de Pernambuco

Orientador: Vinicius Cardoso Garcia, PhD
Co-Orientadora: Taciana Pontual da Rocha Falcão, PhD

Recife,
Janeiro de 2016
1

DEVELOPING PROGRAMMING SKILLS ON DIGITAL NATIVE
CHILDREN THROUGH THE INTERACTION WITH SMART DEVICES

Dissertação

apresentada

como

requisito parcial para a obtenção do
título de Mestre, pelo Programa de
Pós-Graduação em Ciências da
Computação

do

Centro

de

Informática

da

Universidade

Federal de Pernambuco

Aprovada em 15/01/2016
BANCA EXAMINADORA
PhD. Cristiano Coelho de Araújo – UFPE
________________________________________________
PhD. Vinicius Cardoso Garcia – UFPE
________________________________________________
PhD. Alberto Cesar Cavalcanti França – UFRPE
________________________________________________
Recife,
Janeiro de 2016
2

I dedicate this dissertation to my family and my
wife.

3

Agradecimentos | Acknowledgements
Após três anos, recordar de todas as pessoas que contribuiram direta e indiretamente
para a conclusão deste trabalho não é uma tarefa fácil, então tentarei fazer os devidos
agradecimentos em ordem cronológica. Primeiramente, gostaria de agradecer o apoio dos
meus pais, Garcia e Audrey, que me propiciaram todas as condições físicas, mentais e
financeiras para que eu pudesse concluir um dos maiores desafios que decidi enfrentar. Sou
muito grato também a minha irmã, Raissa, que sempre me incentivou a continuar trilhando
este caminho, e me ajudou bastante com seu conhecimento na língua inglesa. Agradeço a
minha sogra Henriqueta Luiza, por me incentivar, principalmente na reta final do trabalho.
Aos meus colegas de turma agradeço o suporte para a conclusão da primeira parte do curso,
em especial os mais próximos: Clecio Costa, Herminig Everson, Plácido Segundo e José
Alfredo. Aos meus amigos Diego Nascimento e Diogo Carvalho, que me ajudaram na ideação
e no design gráfico do meu projeto. Gostaria de agradecer também aos meus amigos das
empresas Fingertips e C.E.S.A.R. nas quais trabalhei durante o período do mestrado - a lista
de nomes é bastante extensa, mas eles sabem que agradeço profundamente pelo apoio. As
palavras não seriam suficientes para agradecer ao meu orientador, Vinicius Garcia, que
aceitou entrar comigo nessa empreitada e colaborou ativamente com seu conhecimento e sua
experiência, além de me colocar no caminho correto sempre focando no objetivo final, a
conclusão deste trabalho. Da mesma forma, não tenho como agradecer suficientemente a
minha co-orientadora, Taciana Pontual, que me ajudou muito com seu conhecimento
específico e foi bastante criteriosa em suas sugestões, prezando sempre pela qualidade do
trabalho. Não poderia deixar de agradecer ao professor Luciano Meira, que em determinado
momento, em uma curta conversa, ajustou o rumo do meu trabalho, evitando que eu
provavelmente percorresse um caminho muito mais tortuoso do que percorri. Agradeço
também a todas as outras pessoas que contribuíram direta ou indiretamente para a conclusão
desse trabalho. E por fim, demonstro minha imensa gratidão a pessoa que talvez tenha me
acompanhado mais de perto, minha esposa, Mariana, que me deu todo o suporte psicológico,
além de me acompanhar nos experimentos, me ajudou com seus conhecimentos sobre
métodos de pesquisa e que, na reta final, ainda ajudou com suas habilidades em design
gráfico, construíndo algumas figuras para o trabalho.

4

Abstract
Nowadays the computational thinking is one of the most important skills a person
should develop to be more well prepared for the near future. By the middle of this century,
this ability will probably have the same level of importance of fundamental skills like reading
and writing, and people will need to learn programming and problem solving with
computational thinking from an early age. Researches trying to stimulate the introduction of
this skill set to young children, and this has been done since 1967 when the Massachusetts
Institute of Technology created the first language aiming this kind of public called LOGO.
Although the studies in the area of developing computational thinking on children started
almost six decades ago, the importance of teaching programming in schools is not widely
spread around the world, in places like Brazil, this skill is starting to be introduced to children
older than 10 years-old. In contrast, the United States and some european countries are using a
variable set of approaches to introduce these concepts to young children, usually by creating
toys and games which these concepts can be developed within them. Unfortunately most of
approaches are aimed for already literate children, very few of them do not require reading
skills, limiting the minimum age of users to approximately 6 years old. This work has the
intention to argue that younger children are not only able to develop algorithms and initiate
the development of computational thinking skills, but also this practice will be quite
profitable for their future. An experiment involving 10 children with age between 4 and 6
years old is presented here, where the selected children played a game developed specially for
this work, and their performance was able to produce data that is going to be analyzed
further to test the main hypothesis, additionally, while reviewing the literature, problems
related to the effects of letting children use smart devices and internet without supervision
were identified, in order to advocate the usage of this technology by young children, possible
causes and risks of these problems are presented and ways to avoid them as well.

5

SUMMARY
1 INTRODUCTION………………………………………………………………………... 11
2 STATE OF THE ART…………………………………………………………………….16
2.1 DEVELOPING COMPUTATIONAL THINKING ON CHILDREN: BASIC
CONCEPTS AND HISTORICAL FINDINGS…………………………………………....17
2.2 A TAXONOMY FOR APPROACHES TO INTRODUCE CHILDREN TO
PROGRAMMING…………………………………………………………………………..29
2.2.1 TEACHING MECHANICS OF PROGRAMMING………………………………..29
2.2.2 SOCIAL LEARNING………………………………………………………………....30
2.2.3 PROVIDING REASONS TO PROGRAM…………………………………………..31
2.2.4 EMPOWERING MECHANICS OF PROGRAMMING…………………………...32
2.3 CHAPTER SUMMARY………………………………………………………………...34
3 THE GAME: HOW IT WAS BUILT, AND WHAT IT ACHIEVED………………....35
3.1 PILOT VERSION, TESTING AND RESULTS……………………………………....38
3.2 BETA VERSION USED FOR THE EXPERIMENT………………………………....45
3.3 THE EXPERIMENT, TESTING THE GAME'S BETA VERSION WITH
CHILDREN………………………………………………………………………………….47
3.3.1 THE 4 YEAR-OLD'S ANALYSIS…………………………………………………...48
3.3.2 THE 5 YEAR-OLD'S ANALYSIS…………………………………………………...52
3.3.3 THE 6 YEAR-OLD'S ANALYSIS…………………………………………………...56
3.3.4 A COMPARISON BETWEEN THE THREE GROUPS…………………………...60
3.4 CHAPTER SUMMARY………………………………………………………………...60
4 RISK ASSESSMENT AND MITIGATION……………………………………………..62
5 CONCLUSION…………………………………………………………………………….67
5.1 FUTURE WORK………………………………………………………………………..68
5.1 REFERENCES…………………………………………………………………………..71

6

LIST OF FIGURES
Figure 1: The Valiant turtle ………………………………………………………………12
Figure 2: Roamer educational robot ……………………………………………………..19
Figure 3: Roamer Too, Roamer's second generation …………………………………...20
Figure 4: Flashlight with touch sensor built with electronic blocks …………………………...21
Figure 5: FlowBlocks (left) and SystemBlocks (right)..................................................................22
Figure 6: Tern (left) and Quetzal (right) ……………………......................................................22
Figure 7: RoboEduc Level 1 (left), Level 3 (center), and Level 5 (right) …...............................24
Figure 8: LogoBlocks user's interface. ………………..................................................................24
Figure 9: Scratch interface …………............................................................................................26
Figure 10: ScratchJr interface ……………...................................................................................27
Figure 11: A kindergartener project working on a pre-made environment (left), a project based
on a story by two kindergartners (right).………………................................................................28

Figure 12: Research on introducing computational thinking to children timeline ……….....29
Figure 13: Children side-by-side practicing programming with AlgoBlock…………………..31
Figure 14: Traffic lights built with AgentSheets………………………………………………...33
Figure 15: Squeak Etoys printscreen……………………………….............................................34
Figure 16: LightBot……………….................................................................................................36
Figure 17: Cubetto…………………...............................................................................................36
Figure 18: A physical programming interface ……………….............................................37
Figure 19: Sphero …………………...............................................................................................38
Figure 20: Application’s pilot version main screen……………..................................................39
Figure 21: Design of the three game levels……………................................................................40
Figure 22: First level of the game……………………............................................................42
Figure 23: Second level of the game……………………………………………………...43
Figure 24: All valid ending points and respective scores………….............................................46
Figure 25: Level 2 and application redesign……….....................................................................47
Figure 26: Child playing freely with the robot……….................................................................48
Figure 27: 4 year-old child playing the first level……….............................................................49
Figure 28: 5 y.o child celebrating the completion of the second level…….................................53
Figure 29: 6 y.o child playing the third level…………………….................................................57
7

Figure 30: Conceptual model of smartphone addiction in early childhood……......................65
Figure 31: New interface prototype for the tablet application………………………………...70

8

LIST OF TABLES
Table 1: M's first three attempts on level 1 ………………………………………………………..42

9

LIST OF CHARTS
Chart 1: First 4 year-old Score x Attempts………………………………………………………...50
Chart 2: Second 4 year-old Score x Attempts………………………………………………….…..51
Chart 3: Third 4 year-old Score x Attempts………..……………………………………………...52
Chart 4: First 5 year-old Score x Attempts………..……………………………………………….54
Chart 5: Second 5 year-old Score x Attempts……….……………………………………………..55
Chart 6: Third 5 year-old Score x Attempts…………………………………………………….....56
Chart 7: First 6 year-old Score x Attempts……….………………………………………………..58
Chart 8: Second 6 year-old Score x Attempts………..…………………………………………….59
Chart 9: Third 6 year-old Score x Attempts………..……………………………………………...60

10

1. Introduction 
Through  the  past  few  years  the  learning  process  that  is  applied  in  elementary  school 
has  been  criticised  more  often.  Questions  about  its  effectiveness  are  being  made  and  some 
schools  have  already  tried  to  improve  it  by  adding  some  disciplines  that  may  prepare  the 
students  better  for  the  World's  demands  (WAGNER,  2008).  This  chapter  briefly  introduces 
the  main  area  of  study  of  this  work,  explicits  its  main  questions,  objective,  hypothesis  and 
research methodology. 
According  to  Wing  (2006) computational thinking is one of the abilities that the world 
is  demanding  from  people,  and  it  will  probably  be  listed  as  a  fundamental  skill  set  in  a  few 
years.  This  skill  set  includes  the  computer  science  foundations  such  as:  abstraction  as  the 
ability  to  separate  the complexity of things in different levels, think recursively, programming 
logic, essentially solving problems using the computer science fundamentals. 
The  programming  logic,  as  part  of  computational  thinking  skill  set,  is  often  listed  as 
one  of  the  most  important  skills  to  be  learned  sooner  and,  since  the  early  90's  developing 
thinking  skills  by  programming  has  been  stimulated  (COSTA,  1991).  Nowadays,  in  a 
majority  of  countries,  programming  is  only  learned  when  the  person  reaches  adolescence  or 
early  adult  age,  at  college  .  Some  studies  and  applications  are  trying  to deliver to children an 
early  access  to  this  skill  through classes, games, puzzles, and applications such as Alice, a 3D 
environment  to  create  animations  and  tell  stories,  and  Scratch ,  an  environment  to  create 
stories,  games  and  animations,  LEGO  mindstorms,  a  tool  set  to  create  robots  and  develop 
programs  to  control  them  (DE  PAIVA  et  al., 2015; FARIAS et al., 2015; MATTOS, S. 2015; 
FINCHER et al., 2010). 
The  introduction  of  programming  concepts  to  teenagers  and  children  have  been 
studied  since  before  the  personal  computer  was  introduced  to  the  stores.  Most  of  the  studies 
related  to  this  research are focused on how to achieve the two most valued aspects of the area, 
which  are  lowering  the barriers to programming and designing a "higher ceiling" with a lower 
barrier  (TEMPEL, 2012). When the barriers are lower more people can access the technology 
and  people  with  less  previous  knowledge  of  mathematics,  logic  and programming can access 
the  technology and start to create programs. Moreover, an easier approach to be used might be 
considered  to  have  a  "higher  ceiling",  if  people  can  create  more  complex  programs  with  it 

11 

than  with  previous  ones.  This  chapter  provides  a  brief  introduction  of  the  historical 
achievements of the area to be more detailed on the next chapter. 
In  1967  the  MIT  (Massachusetts  Institute  of  Technology)  started  working  on  Logo,  a 
multi­paradigm  language  based  on  the  functional  language  LISP,  which  was  introduced  to 
schools  in  1980  by  Papert  (TEMPEL,  2012).  In  his  work,  Papert  (1980)  advocated  that 
children  would  be able to comprehend and play with Logo, and as soon as it were accepted by 
the  schools,  the educational system would have to change and adapt to it, but clearly it did not 
go  this  way  as  many  countries  are  still  trying to introduce programming to schools more than 
3 decades after Papert published his work.  
With  Logo,  a  famous  application  was  created,  known  as  the  Logo  turtle,  which  was 
basically  a  game  where  a  turtle  was  controlled  by  the  user  with  Logo  commands.  The  game 
was  popular  among  computer  users,  and  then  following  with  the  idea  the  floor  turtle  was 
created, a little robot connected to the computer to materialize the virtual turtle used on Logo's 
programs.  It  enabled  children  to  send  simple  commands  for  the  machine  to  execute  such  as: 
move  to  the  sides,  back  and  forward,  all  in  Logo  language.  Papert  (1980)  explained  that 
children  were  able  to  interact  with  the  turtle  and  make  it  reflect  their  own  cognitive  process. 
In  1983 Valiant Technology started to ship their commercial version of the floor turtle, named 
Valiant  Turtle  (Figure  1).  It  consisted  of  a  remotely  controlled  version  of  the  floor  turtle 
which  was  a  great  improvement,  and  also  it  had  space  to plug a pen or pencil on the top of it, 
which enabled the turtle to make drawings on the surface. 
 

 

 
Figure 1:  The Valiant Turtle 

Source:  http://roamerrobot.tumblr.com, accessed in 02/12/2015. 
 
12 

With  the  advent  of  Logo  in  the  late  60's  a  series  of  research  and  works  were  done  in 
the  area  of  teaching  programming  to  children (described in the next chapter), but the majority 
of  the  new  approaches,  like  Scratch  and  LEGO  Mindstorms  for  example,  requires  reading 
skills,  building  a  barrier  for  preschool  children  to  start  learning  programming  skills.  Most  of 
the  recent  approaches  of  the  area  that  concentrate  efforts  on  young  children  try  to  avoid 
written  text  actions,  replacing  them  with  icons  and  contextualized  buttons  to  provide  a  more 
reachable and intuitive user interface, for example ScratchJr and Roamer Too. More details on 
these approaches will be seen on the next chapter.  
With appropriate approaches , teaching programming to children can deliver even more 
than  just  a  useful  skill,  programming  classes  can  also help the development of basic concepts 
of  science,  technology,  engineering  and  mathematics  (HOLMQUIST,  2014).  Wyeth  (2001) 
advocates  that  the  increasing  need  of  introducing technology to young children is undeniable, 
considering  that  educators  have  to  prepare  the  next  generations  for  the  'information 
revolution'.  Although  an  approach  of how to teach programming to children has not reached a 
consensus  yet,  it  is  considered  that  it  needs  to  be  gradual  and  assisted.  According  to 
Zuckerman  et  al.  (2005)  an  interesting  approach  is  with  digital  manipulatives  or  familiar 
objects, as it increases the acceptance of children to technology. 
Considering  that  children  manipulating  new  technology  is  probably  an  unavoidable 
scenario  that  will be faced worldwide, it is important to parents and school teachers to prepare 
themselves  properly  to  provide  such  contact,  and  there  are  many  possible  strategies  to 
introduce  children  to  smart  devices  in  ways  that  will be productive, enabling them to develop 
new  skills  and  play  at  the  same  time.  Conversely,  unsupervised  and  uncontrolled  usage  of 
smartphones,  tablets  and  the  internet  can  lead  to  very  serious  problems  such  as:  addiction, 
loneliness,  obesity,  hearing  and  vision  impairments  and  the  situation  is  aggravated  the 
younger the child is  ( PONTES, H., GRIFFITHS, M., PATRÃO, I., 2014 ) . 
There  are  many  initiatives  on  teaching  children  how  to  create  programs,  and 
developing  basic  programming  skills,  some  of  these  approaches  are  focused  on  young 
children with 4 years­old average, but very few of these approaches present studies suggesting 
that  children  are  able  to  use  it  properly,  and  the  ones  that  present  such  study,  mostly  do  not 
evaluate  the children's results in the process. Considering this fact, this research investigates if 
preschoolers  are  able  to  develop  algorithms,  and  if  they  develop  programming  skills  when 
playing programming games. 
13 

This  project  is  willing  to  understand  if  not  yet  literate  or  recently literate children can 
develop  computational  thinking  skills  by  being  in  contact  with  an  application  that  is 
architected  to  stimulate  these  skills,  by  smoothingly  introducing  them  to  the  concept  of 
algorithm.   Allowing  pre­scholar  children  to control a small robot should attract their attention 
to  the  programming  activity .  Furthermore  the  demonstration  of  how  age  and  life experiences 
affect the tests results is also an important. 
To  test  the  main  hypothesis  that  is:   " programming  games  enable  children  to  develop 
and  improve  their  programming  skills ",  a  programming  game  was  developed  composed  by a 
tablet  application,  a  robot  and  challenging  levels.  The  game  was  designed  as  an  application 
for  smart  devices  based  on  some  of  the  most  played  programming  and  puzzle  games  on 
mobile  marketplaces  such  as  LEGO  Mindstorms  and  LightBot.  In order to be easily accessed 
by  children,  the  application  was  designed  to  run  on  a  tablet  device,  and  to  stimulate  the 
development of algorithms to solve simple logic problems. The tablet application is connected 
to  a  robot  through  Bluetooth  and  is  able  to  send  specific  commands  to  it.  It  attempts  to 
recreate  the  idea  of  the  combination  of  Logo  and  the  floor  turtle,  abstracting  programming 
languages  with  a visual language and removing the "umbilical cord" (cable) from the machine 
with  the  use  of  Bluetooth.  To  become  interesting,  games  need  to  be  challenging,  and  to 
represent  these  challenges  game  levels  were  designed  to  simulate  a  track  on the environment 
where  the  robot  has to follow the path, guided by the child through the tablet application to be 
put on the floor, or on a table where it can simulate a track. 
During  the  application's  experimentation  process,  useful  data  such  as  score  of  each 
attempt  of  each  level,  age  and  gender  were  collected  to  be  further  analysed  and  used  to  test 
the  main  hypothesis  of  this  work.  The  data  collected  was  both  quantitative  and  qualitative, 
and  the  results  are  presented  based  on  charts  and  observation  notes.  Considering  that  most 
children  have  a  high  interest  in  games  and  smart  devices,  the  application  was  expected  to  be 
enjoyable while helping them to get in contact with the basic concepts of programming. 
This  work  does not focus on socio demographic variables and to avoid high variability 
due  to  such  variables  the  children  selected  to  participate  on  the  experiment  had  to  follow  a 
predefined  profile:  only  children  with  previous  experience with smartphones and tablets were 
selected.  As  most  of  the  studies  often  test  children  from  an  specific  grade,  usually  they  have 
results  on  a  particular  sample  with  the  same  age  approximately.  In  this  study,  a  larger  age 
range  (4  to  6  years  old)  was  defined  in  order  to  provide  comparisons  between different ages. 
14 

The  specific  profile  and  the  differences  between  ages  raised  important  facts  that  are  detailed 
in Chapter 3. 
Chapter  2 reviews the literature to provide a historical overview and the state of the art 
of  the  studies  regarding  developing  programming  skills  on  children.  Chapter  3  is  focused  on 
detailing  how  the  game  was  designed  and  developed,  how  it  was  initially  tested,  which 
changes  were  made  between  versions,  and  also  presents  a  quantitative  analysis  on  the  data 
collected  as  the  results  of  the  research,  and  a  detailed  report  of  how  children  interacted  with 
the  game.  Chapter  4  provides  a  risk  assessment  in  children  interacting  with  technology  and 
ways to mitigate those risks. Chapter 5  draw the conclusions of the work. 
 
 
 

 

15 

2. State of the art 
 
Since  1980,  when  the  personal  computer was an imminent reality, studies that involve 
children  practicing  programming  skills  have  been  made,  and  the  need  of   developing  young 
children's  computational  thinking  skills  has  grown  in  importance  over  time.  This  chapter 
supplies  a  historical  overview  of  the  studies  related  to  developing  digital  native  children's 
programming  skills  and  emphasizes  the  importance  of  promoting  the  development  of  such 
competences in children nowadays. 
The  present  research  is focused on children that are called "digital natives". According 
to  Bennett  et  al.  (2008)  a  digital  native  can be defined as any person who was born immersed 
in digital technology, is familiar with it and interested in it. 
A  digital  native  child  is  able  to  easily understand and interact with digital devices as a 
consequence  of  being  constantly  exposed  to  technology.  Brazil  has  not  yet  designed  an 
educational  system  to  fully  satisfy  the  needs  of  a  digital  native  student .   Although  some 
individual  initiatives  are  being  implemented,  such  as  programming,  robotic  and  information 
technology  classes,  the  whole  system  is  still outdated. In the United States a lot more effort is 
being  made  with  the  advent  of  Scratch  and  Alice,  but  their  educational  system  has  not  fully 
changed (PRENSKY, 2009). 
According  to  Prensky  (2001),  the  opposite  of  digital  native,  is  digital  immigrant, 
which  means  a  person  that  was  born  before  the  delivery  of  the  personal  computer,  or did not 
have  access  to  it  during  their  childhood.  Prensky  affirmed  that  all  the  educators  from 
American  schools  were  digital  immigrants  at  the  time.  Considering  this  was  more  than  ten 
years ago, we can assume that not all but, most of our educators are digital immigrants. 
Nowadays  the  gap  between  digital  immigrants  and  digital  natives  is  not  as  big  as  it 
was  ten  years  ago,  because  the  immigrants  are  constantly  trying  to  follow  the  technological 
innovations  (BENNETT,  2012).  However  the  swiftness  with  which  digital  natives  absorb 
technology  information  is  much  higher  and,  since  the  creation  of  Logo,  according  to  Papert 
(1980)  one  of  the  main objectives of those involved in teaching programming to children is to 
lower  the  barriers  to  programming,  in  the  next  section  are  presented  some  works  related  to 
developing  computational  thinking  skills  on  children,  and  the  majority  of  them  focus  on 
diminishing the difficulties of programming and making it more accessible. 
16 

2.1  Developing  computational  thinking  on  children: basic concepts and historical 
findings  
The  main  concept  involved  in  all  studies  of  computer  programming  is  algorithm,  for 
the  aim  of  every approach is to learn or develop the ability of building algorithms.  The classic 
concept  of  algorithm  is  traced  back  to  the  early  ninth  century  and  is  attributed  to 
al­Khwarizmi,  a  philosopher  from  the  House  of  Wisdom  of Baghdad (Iraq nowadays), where 
the  greek  works  were  translated  (O'CONNOR;  ROBERTSON,  1999).  The algorithm concept 
accepted  nowadays  was  firstly  formalized  by  David  Hilbert  on  "Hilbert's  Program"  in  1921 
(ZACH, 2009). 
David  Hilbert  in  the first decade of the 20th century realized and stated that in order to 
rigorously   develop  any  scientific  subject,  an  axiomatic  approach  is  needed.  This  assumption 
raised  a  series  of  questions  about  the  foundations  of  mathematics,  so  Hilbert  proposed  to  the 
community  the  problem  of  developing  a  direct  consistency  proof  of  analysis  not  based  on 
reduction  to  another  theory.  Although  this  question  was  never answered, it raised many ideas 
and contributes to the field of mathematics  (ZACH, 2009). 
Later  in  1936,  Church  and  Turing  proposed  different  approaches  to  formally  define 
algorithm,  lambda  calculus  and  the  Turing's  machine  concept  respectively.  Both were able to 
do  it  and  the  problem  of  defining  algorithm  was  solved,  many  other  approaches  were 
developed, but those became most famous in the computer science field. 
Exploring  all  the  historical  works  related  to  Hilbert's  program  is  not  the  focus  of  this 
work,  but  it  should  provide  an  informal  definition  of  algorithm  enabled  by  Hilbert's  works. 
Informally  algorithm  can  be  defined  as  an  ordered  sequence  of  non­ambiguous  steps  with  a 
goal to accomplish.  
Studies  of  the  benefits  of  practicing  computational  thinking  at  early  ages  are  dated 
from before the computer was widely used in education.  In 1984 Clements and Gullo, in order 
to  understand  some  cognitive  benefits  of  teaching  programming  skills  to  kindergarten 
children ,  randomly  divided  two  groups  of  first  graders  (6  years  and  eleven  months  old 
approximately)  in  order  to investigate the effects of computer programming on their cognitive 
development  and  ability  to  describe  directions,  among  other  aspects.  They  pretested  every 
subject  to  assess  their  current  status  on  the  studied  abilities.  One  group  used  computer 
programming,  and  the  other  used  computer  assisted  instruction  (CAI)  as  treatment.  After  the 
activities  of  each  group,  they  retested  the  subjects  and  although  there  was  not  a  cognitive 
17 

measurements  difference,  the  computer  programming  group  may  have  had  a  creativity 
improvement,  and  outperformed  the  CAI  group  in  metacognitive  tasks  and  similar  results 
were found on direction tests.  
Other approaches introduce programming to children in similar ways of how computer 
science  students  learn,  implementing  simple  algorithms  like  easy  mathematical  calculations, 
building  lists  and  drawing  lines  for  example,  far  away  from  their  interests.  Moreover, 
programming  was  introduced  without  guidance  when  things  went  wrong  (debugging),  and 
children were not stimulated to deeply understand when things went right (CLEMENTS, H. & 
GULLO,  F.  1984).  According  to  Resnick  (2009)  those  were  the  main  reasons  why  some 
children  could  not  master  the  syntax  of  the  early  programming  languages  and  were  the  main 
challenges to overcome back in the 80s. 
To motivate children to get in touch with programming, the LEGO/Logo language was 
introduced  in  the  late  80s.  LEGO/Logo  is  a  language  based  on  Logo  designed  to  control 
machines  built  with  Lego  programmable  bricks,  sensors  and  motors.  The  kids  were  able  to 
build  the  machines,  connect  them  with  the  computer,  and  program  them  with  LEGO/Logo 
(RESNICK; OCKO; PAPERT, 1988). 
To  unleash  the  robots  from  the cables connected to the computers the Lego Company1 
introduced  the  programmable  brick,  which  is  a  tiny  computer  embedded  on  a  Lego  brick. 
Joining  some  blocks  people  are  able  to  create  simple electronic circuits and control motors to 
automate  something,  for  example:  door  opening,  switching  lights on/off, and also moving car 
toys (RESNICK et al., 1996). 
The  Lego  Company  is  still  investing  in  the  robotics  area,  and  nowadays  we  can  find 
all  sorts  of  machines  made  from  Lego  bricks  and  motors.  The  company  produced,  out  of  the 
programmable  bricks  initiative,  a  set  of  products  known  as  LEGO  Mindstorms2  for  building 
robots  with  Lego  bricks  and  programming  them  with  a  visual  language  built  for  the  product 
called  RCX  Code,  and  the  Tufts University also created an environment named ROBOCODE 
to  develop  programs  for  LEGO  Mindstorms,  there  are  several  other  third  parties  approaches 
available, including environments that supports Lua, Visual Basic and Java for example. 
According  to  Holmquist  (2014),  educational  robotics  can  be  a  great  tool  for  making 
students  engage  and  learn  science,  technology  engineering  and  math  (STEM)  and  for 

1

 Available at  http://www.lego.com/  a  ccessed in 02/12/2015. 
  Available at  http://mindstorms.lego.com  a  ccessed in 02/12/2015. 

2

18 

elementary  students  toys  can  be  used  to  this  objective.  She  conducted  a  research  with  fourth 
grade  students  (9  ­  10  years­old)  to  describe  the  process  of  using  robotics  to  facilitate  the 
understanding  of  STEM  concepts.  Roamer  Too,  a  reinvention  of  the  floor  turtle,  was used as 
tool  for  the  research.  This  version  is  also  a  second  generation  of  the  Roamer  created  in 1983 
and mostly used in European schools at the end of the 80s. 
Both  versions  of  the  Roamer  were  designed  to  be  independent  robots,  no  need  for 
cables,  Bluetooth  devices  or  any  other  tools  commonly  required  by  other  approaches.  The 
robots  have  a  commands  keypad  on  top  of  them  that  enables  users  to  previously  set  up  their 
actions  and  then  play.  The  first  version  (Figure  2)  had  only  one  keypad  option,  while  the 
second  generation  (Figure  3)  is  considerably  smaller  and provides different keypads for users 
of  different  ages,  also  it  can  communicate  with  the  user  to  help  with  debugging  and  give 
advice such as remembering to shut it down.  

 
Figure 2:  Roamer educational robot 

Source:  http://www.valiant­technology.com, accessed in 02/12/2015. 
 
The  work  of  Holmquist  in  2014  with  fourth  grade  students  was  conducted  in  a  way 
that  the  children  involved  built  a  project  that  the  robot  needed  to  complete  using  sequential 
tasks,  and  also  built  the  set  of  instructions  to  lead  the  robot  to  complete  the  tasks.  She 
observed  a  list  of  STEM  concepts  such  as  forces,  motion,  programming,  designing,  and 
metrics  units.  The  study  was  a  comparison  between  2  groups,  one  used  robots,  and  the  other 
did not. The analysis was qualitative and the activities proposed to the students were the same. 
The  students  were  presented  to a fictional adventure where they needed to rescue a spaceship, 
19 

and  they  needed  to  design  the  pathway  and  work  together  to  complete  the  task.  Holmquist 
used  a  pretest  to  assess  the  previous  STEM  knowledge  of  each  group,  and  then  conducted  a 
class  to  teach basic instructions. The full experiment took 5 sessions of between 1 and 2 hours 
of  duration.  The  only  difference  between  the  two  groups  was  that  when  the  group  with  the 
robot  needed  to  program  the  robot  and  design  the path, the other group needed only to design 
the path. As for the results, the group with robots showed a considerably positive difference in 
engagement,  and  the  results  of  the  post  test  on  STEM  concepts  were  slightly  higher  in 
comparison with the group without robots. 
 

 
Figure 3:  Roamer Too, Roamer's second generation 

Source:  http://www.valiant­technology.com, accessed in 02/12/2015. 
Important  contributions  to  the  area  involve  the  creation  and  use  of  digital 
manipulatives,  which  are  based  on  manipulative  toys  like  cuisenaire  rods  and  pattern  blocks 
with  digital  circuits  embedded  to  add  computational  and  communications  capabilities  to  the 
regular  toys  (RESNICK  et  al.  1988).  Lego  bricks  for  example  are  manipulatives  with  which 
people  can join blocks and create a form, like a castle or an animal, and also turn lights on and 
off, make them run across the room among other features. 

20 

Using  the  electronic  blocks,  a  manipulative  toy  using  modified  LEGO  blocks  with 
electronic  systems  inside,  a  research  involving  40  children  between  4  and  8  years  of  age 
found  that  even  the  youngest  children  were  interested  in  playing  with  the  toy.  Low  levels  of 
frustration  were  noticed  and  great  results  were  identified,  and  playing  with  it  the  children 
were  able  to  build  a  good  variety  of  systems  such  as  walking  cars,  flashlights  activated  by  a 
touch  sensor  (Figure  4),  and  lights  that  are  turned  on  and  off  by  a  clap.  Most  of  the  children 
demonstrated signs of using analogies to do it (WYETH; PURCHASE, 2002).   

 
Figure 4:  Flashlight with touch sensor built with electronic blocks 

Source:  WYETH; PURCHASE, 2002. 
According  to  Zuckerman  et  al.  (2005)  during  their  experiments  involving  children 
working  with  toys  designed  to  develop  systems,  in  addition  to  practicing  their  creativity  and 
building  algorithms,  children  can  become  more  social  while playing with each other and they 
can  start  to  understand  some  important  concepts such as abstraction, iterativeness, modelling, 
and  analogizing.  Zuckerman's  experiments  were  based  on  what  they  called  digital  MiMs 
(Montessori  inspired  Manipulatives).  They  developed  two  toys,  SystemBlocks  and 
FlowBlocks  (Figure  5),  that  enabled  children  to  create  abstract  structures  that  through 
analogies  made  possible  to  better  understand  real world systems and operations such as water 
flow from a bathtub or probability of a storm to happen. 
 

21 

 
Figure 5:  FlowBlocks (left) and SystemBlocks (right) 

Source:  ZUCKERMAN et al., 2005. 
An  interesting  study  using  LEGO  Mindstorms  was  done  by  Horn  and  Jacob  in  2007. 
They  created  a  programming  language  for  LEGO  Mindstorms  robots  using manipulatives to 
control  robots,  which  they  named  Quetzal.  It  was  considered  a  good  approach  to  stimulate 
children  to  play  and  discover  programming.  They  used  connectible  tags  to  represent 
commands  and  form  algorithms.  Although  Quetzal  was  a  good  approach, they suggested that 
the  pieces  were  fragile  and  probably  would  raise  problems using it inside classrooms, so they 
created  a  second  language,  Tern,  to  control  virtual  robots  on  a  computer  screen,  which  was 
considered  an  evolution  and  had  better  acceptance  with  the  users.  It  was  based  on  wooden 
blocks  representing  the  commands,  similarly  to  Quetzal,  but  they  noticed  that  the  wooden 
blocks  from  Tern  language  were  easier  to  connect  so  they  realized  that  it  created  a  better 
experience.  Figure 6 shows on the left side, the wooden blocks from the Tern language and on 
the  right  the  connectible  tags  from  Quetzal,  which  makes  it  easier  to  understand  why  Tern 
was  considered  to  give  a  better  experience  to  the  users,  the  connectible  tags  from  Quetzal 
were more delicate on the joining dots, requiring more motor coordination to use. 

 
Figure 6:  Tern (left) and Quetzal (right) 

Source:  HORN & JACOB, 2007. 
22 

In  2009  an  experiment  was  made  by  Horn  at  an  exhibit  at  the  Boston  Museum  of 
Science,  where  he  put  people  in  contact  with  two  approaches  to  learn  programming  moving 
robots:  the  first  one  was  through  tangible  manipulatives  using  the  Tern  language,  and  the 
second  one  was  with  a  visual  language  on  a  mice  based  application.  The  experiment  was 
focused  in comparing the two approaches to understand the differences between them in some 
aspects  such  as  learnability,  engageability,  collaborativeness,  focus  on  the  child  and  other 
aspects.  The  results  shown  that  the  first  approach  performed  better  than  the  second  one  in 
most  of  the  aspects  studied,  on  the  other  ones  the  two  approaches  tied.  It  suggested  that 
manipulatives  tend  to  be  more  effective  when  trying  to  learn  and  practice  programming  than 
mice­based applications (HORN et al. 2009). 
Another  research  made  in  2009  by  Thomaz and associates used LEGO Mindstorms to 
introduce  robotics  and  programming  to  Brazilian digitally excluded children. They developed 
a  software  that  was  used  as a programming interface with different levels of difficulty, so that 
programming  could  be  introduced gradually to the students. The research was performed with 
third  and  fourth  graders  (8  to  10  year­old),  and  the  children  were  able  to  "learn  by  doing" 
robotics,  as  they  assembled  their  LEGO  robots.  After  assembling  they  were  put  into  a 
challenge  that  needed  programming,  and  then  they  used  the  software  called  RoboEduc3  to 
create  algorithms  and  send  the  instructions  to  the  robots  (THOMAZ  et  al.  2009).  RoboEduc 
provided  5  different  levels  of  programming,  starting  with  visual  icons,  and  increasing  the 
complexity  to  written  commands  to  control  a  specific  motor  for  example.  Figure  7  shows 
levels  1,  3  and  5  of  complexity,  level  1  provided  a  set  of  commands  represented  by  icons, 
level  3  let  the  user  start  to  code  with  a  simple  language  using  some  commands  in  native 
language,  and  the  level  5  accepted  a  more  complex  language,  similar  to  C.  The  main  results 
observed  were  the  great  engagement  showed  by  the  children,  and  some  feedbacks  given  by 
the  teachers  involved  in  the  process,  that  this  approach  revealed  to  be  a  great  tool  for  digital 
inclusion. 
 

3

  Available at  h
  ttp://www.roboeduc.com.br/  a  ccessed in 02/12/2015. 

23 

 
Figure 7:  RoboEduc  L
  evel 1 (left), Level 3 (center), and Level 5 (right) 

Source:  THOMAZ et al., 2009. 
After  the  invention  of  the  programmable  brick,  the  Logo  team  created  an  innovative 
approach  to  teach  programming  for  kids  that  was  Logo  Blocks,  unifying  concepts  of  Logo 
programming  language  and  the  idea  of  joining  LEGO  bricks.  Figure  8  exemplifies  how  the 
coding  is  done  with  the  bricks  concept,  at  the  left  a  commands  palette  and  the  right side was 
reserved  for  developing.  In  2006  as  a  project  of  the  Lifelong  Kindergarten  Group at the MIT 
Media  Lab,  Scratch4  was  built  based  on  the  idea  of  Logo  Blocks  but  adding  a  collaborative 
platform  to develop and share multimedia content on the internet such as games, presentations 
and animations (TEMPEL,  2012). 

 

 
Figure 8:  LogoBlocks user's interface. 

Source:  KELLEHER & PAUSCH, 2005. 
4

  Available at  https://scratch.mit.edu/  accessed in 02/12/2015. 

24 

Although  Scratch  enables  simple  sprites  (two  dimensional  figures  to  simulate  a 
character  moving)  setup  and  programming,  like  having  a  cat  walking  through  a  two 
dimensional  plane  to  parallel  programming  with  multiple  threads,  the  collaborative  platform 
is  one  of  its  key  features.  According  to  Resnick,  M.  et  al.  (2009)  small  multi­national  online 
"companies"  are  being  formed  by  children  from  all  ages,  they  simply  like  one  another's 
project  and  ask  to  help,  forming  a  group  and  then  any  new  ideas  can  come  out.  An  example 
Resnick  and  associates  retrieved  from  the  Scratch  community  was  from a 15 year­old British 
girl  that  started  a  project  of  full  animated  sprites,  she  started  to  encourage  others  to  use  her 
sprites,  and  then  another  10  year­old  British  girl  asked  if  she  could  help  providing  some 
backgrounds  for  the  sprites,  and  they  started to collaborate, and also called themselves "Mesh 
Inc.", a company to build games. After some time, a 14 year­old boy from United States asked 
to  join  Mesh  Inc.  claiming  to  be  a  good  programmer;  later  on  an  Irish  11  year­old  boy  also 
asked  to  join  saying  that  he  was  good  in  side  scrolling  feature.  This  "company"  formed  by  3 
different nationalities, different skills, all available through web communication, and an active 
community  is  very  positive,  children  interact  socially,  study  design,  programming  and 
particular concepts that will only be showed to them at college or equivalent.   
Scratch's  community  grows  continuously,  and  by  the  end  of  2015  more  than  11 
million  projects  will  have  been  shared  on  the  platform,  it  is  used  in  more  than  150  countries 
and  is  translated  to  40  languages,  which  considerably  contributes  to  growth.  Figure  9  shows 
Scratch's  main  interface  and  it is possible to identify the similarities with LogoBlocks, the left 
side  with  the  commands  palette,  in  the  middle  a  developing  area,  and  at  the  right  side  a 
debugging area with a palette for building scenarios at the bottom. 
With  some  similarities  to  Scratch  more  recently  in  2010  Greenfoot5  was  released,  a 
platform  that  provides  the  practice  and  learning  concepts  of  object  oriented  paradigm  by 
programming  Java  code  to  build  games  and  other  sophisticated  applications  (Fincher  et  al. 
2010).  Greenfoot  is  a  great  tool,  it  provides  an environment to develop complex applications, 
but  it  is not focused on young children, and requires some experience with writing code, more 
appropriate for high school students.  

5

  Available at  http://www.greenfoot.org/  accessed in 02/12/2015 

25 

 

 
Figure 9:  Scratch interface 

Source:  RESNICK, M. et al. (2009) 
 
Scratch  first  contact  is  aimed  for  children  with  the  average  of  7  years  old,  when  they 
are  already  literate.  Coding  with  blocks  and  these  kinds  of  language  are  limited  for  people 
who  are  able  to  read,  for  that  matter  an  association  between  the Lifelong Kindergarten group 
(MIT ),  the  DevTech  Research  Group  at  Tufts  University  and  the Playful Invention Company 
developed  ScratchJr  (Figure  10),  a  tool  based  on  Scratch but designed for children between 5 
and 7 years­old. 
According  to   Flannery  et  al.  (2013)  the  ScratchJr  project  started  with  experiments  on 
the Scratch platform, presenting it to children of different ages and analysing their interactions 
with  the  platforms.  When  letting  four  and  five  year­olds  of  the  same  school  arranged  in 
groups  to  have  lessons  of  Scratch's  functionalities  and  skills  accompanied  by  some  of  their 
teachers,  it  was  possible  to  gather  data  to  create  ScratchJr's  first  interface  and  main  features 
(Figure 10). 
 

26 

 
Figure 10:  ScratchJr interface 

Source:  FLANNERY et al. (2013) 
Following  Scratch's  idea,  the  green  flag  represents  start,  and  the  red  block  or  button 
means  stop,  in  Figure  10  it  is  possible  to  identify  how  ScratchJr  simplified  the  interface 
providing  only  necessary  features,  at  the  bottom  the  development  area,  composed  of  a 
operations  palette  (turn  to  sides,  run,  jump)  and  a  lower  area  reserved  for  programming,  the 
left  panel  is  a  sprites  pallet  that  enabled  the  user  to  compose  the  environment  with  some 
actors,  and  the  panel  from  the  right  options  for  debug  were  provided  with  the  green  flag  and 
the red button to start and stop debugging. 
This  experiment  enabled  the  creation  of  a  prototype  that  was  tested  with  children 
between  5  and  7  years­old.  The  pilot  encountered  some  barriers,  clearly  illiteracy  was  a 
problem,  with  most  of  the  commands  based  on  text,  children  that  were  still  learning  to  read 
had  troubles  with  it,  also some numeric operations that were not yet introduced revealed to be 
problematic  causing  programming  to  be  very  difficult.  These  results  led  them  to  improve 
SratchJr's  interface  and  develop  the  concept  of  cards,  visually  more  acceptable  for  younger 
children  and  when  applied  in  a  semi­structured  project  was  more  effective  on  kindergarten 
students.  
 

27 

 
Figure 11:  A kindergartener project working on a pre­made environment (left), a project based on a 
story by two kindergartners (right). 

Source:  FLANNERY et al. (2013) 
While  refining  ScratchJr  solution  Flannery  and  her  associates  could  collect  many 
examples  of  projects  children  from  4  to  7  years  old  were  able  to  work  on.  Their  activities 
were  more  commonly  divided  into  two  subgroups, those who wanted to program actors on an 
specific  scenario,  and  those  who  wanted  to  build  a  scenario and then refine some of its actors 
behaviours.  These  observations  are  exemplified  on  Figure  11,  where  a  kindergartener 
familiarized  himself  with  the  presented  scene,  and  started to add behaviour to its actors (left), 
and  a  couple of students who were creating a particular story and practiced programming with 
some of the created actors.  
Considering  Scratch  as  one  of  the  newest  and  most  popular  solutions, with the lowest 
learning  curve  to  programming  skills,  the  next  step into this line of work is to find out how to 
lower  the  curve  even  more.  As  Scratch  is  designed  for  already  literate  children, they are able 
to understand blocks programming as long as they learn the concept of algorithm. 
Figure  12  summarizes  the  timeline  of  the  most  relevant  work  and  important  products 
related  to  introducing  computational  thinking  to  children  starting  from  late  60s  until  more 
recent  works.  This  section  provided  a  historical  overview  and  also  a  review  of  the  most 
common  approaches  used  nowadays  for  making  children  familiar  with  programming.  The 
number  of  solutions  made  for  this  kind  of  initiative  is  massive,  since  it  started  more  than  40 
years  ago  and  the  interest of researchers only grew since then. For this reason the next section 
of  this  work  exposes  a  taxonomy  presented  in  2005  that  tries  to  categorize  all  kinds  of 
approaches of the area.  
 
 

28 

 
Figure 12:  Research on introducing computational thinking to children timeline 
 

2.2 A taxonomy for approaches to introduce children to programming 
An  interesting  survey  was  made  by  Kelleher  and  Pausch in 2005 categorizing most of 
the  attempts  to  ease  the  programming learning process. They created a taxonomy that divided 
all  the  approaches  into  two  large  groups:  Teaching  systems,  and  Empowering  systems.  The 
first  one  tries  to  teach  programming  to  develop  skills  of  the  learner,  and  the  second  one is to 
use programming for some reason in the future. 
Kelleher  and  Pausch  analyzed  over  70  different  approaches  that  would  make 
programming  easier,  the  taxonomy  is  useful  to  categorize  new  approaches,  and  it  will  be 
briefly  described  in  this  section.  In  order  to  create  an  approach  that  aims  to  develop 
computational  thinking  on  young  children,  it  is  required  to  understand  most  of  the  strategies 
used  to  make  programming  more  accessible  to  people,  a  summary  of  the  taxonomy  is 
presented in the next subsections with example of the approaches related to the categories.  
2.2.1 Teaching Mechanics of programming 
The category that probably contains the majority of the approaches towards learning to 
code,  believes that syntax and code style are the hardest things to learn when a person starts to 
develop  programs,  and  focuses  on  lowering  the  barriers  to  learning  these  aspects.  Some 
approaches  are  centered  on  how  to  express  programs  and  making  it  easier  to  communicate 
29 

with  machines,  lowering  the  complexity  of  a  programming  language,  for  example,  is  one  of 
the  strategies.  Some  languages  like  BASIC,  Blue  language  and  JuniorJava  were  based  on 
other  more  complex  languages,  also, some programs help developers to code by making them 
avoid  syntax  errors.   Another  changing  approach  is  to  create new languages and/or  paradigms 
that  focus  on  how  instructions  can  be  combined  and  organized  to  create  more  complex 
programs.   There are several examples of approaches for this subgroup, like Pascal, a language 
created  to  be  taught  in  classes  when  the  only  languages  available  were  FORTRAN,  COBOL 
and  Algol.  Pascal  was  a  structured  language.  Smalltalk,  considered  to  be  the  first  object 
oriented  language,  is  a  good  example  of  a  language  that  introduced  a  new  paradigm,  that 
made easier to create more complex programs. 
An  interesting  approach, and the most relevant for this presented work, is lowering the 
barriers  to  programming  by  avoiding  typing  and,  in  some  cases,  reading code. The initiatives 
of  this  subgroup  focuses  on  creating  visual  languages,  physical  objects,  toys,  more  tangible 
experiences  that  make  easier  to  learn  how  to  develop  programs. These approaches are able to 
lower  the  barriers  for  very  young  children  to  start  developing  algorithms  and  be  able  to  start 
developing  more  complex programs while still in childhood beyond the approach presented in 
the  next chapter, other examples are Logo Blocks, Electronic Blocks, Scratch, Alice,  Curlybot
6

 and  Tortis7.  
2.2.2 Social learning 
All  the  approaches  of  this  category  and  its  groups  are focused on allowing children to 

develop  skills  by  working  together.  There  are  two  ways  of  collaboration:  side­by­side  and 
through  network  interaction,  probably,  all  the  tangible  user  interfaces  are  classified  into 
side­by­side  social  learning  such  as  the  previously  cited  tangible  manipulatives  Tern  and 
Quetzal,  LEGO  programmable  bricks  and  AlgoBlock,  a  set  of  tangible  manipulatives  that 
represents  a  physical  programming  language  created  on  the  mid  90s  ( Suzuki,  H.  &  Kato, H., 
1995 ). Figure 13 shows children practicing programming side­by­side using AlgoBlock. 
 

6

  A robot that can record motion and replay it, more information available at 
http://tangible.media.mit.edu/project/curlybot/  accessed in 02/12/2015. 
7
  A device to ease the communications between young children and a robot turtle available at 
http://dspace.mit.edu/handle/1721.1/6224  accessed in 02/12/2015 

30 

 
Figure 13:  Children side­by­side practicing programming with AlgoBlock 

Source:  Suzuki, H. & Kato, H (1995) 
 
Although  the  survey  indicated  that  an  approach  can  only  be  classified  into  one 
category,  Scratch  was  classified  into  Teaching  mechanics  of  programming,  but  if  you 
consider  that  one  of  the  main  interesting  features  of  the  platform  is  the  network  experience, 
and what children from all over the world are creating using it, maybe, it can be classified into 
this  category  too,  because  it  provides  a  network  interaction  between  users, and the context of 
programming for children may have considerably changed since 2005.  
2.2.3 Providing reasons to program 
This  category  focuses  on providing a starting point for beginners since usually they do 
not understand the complexity of programming, or how to start, or even what they can achieve 
with  it.  Reinforcing  the  idea  that  one  approach  can  be categorized in more than one category, 
the  game  presented  on  the  next  chapter  can  be classified into the previous categories and also 
in  this  one,  because it provides tools to develop the fundamentals of programming mechanics, 
it can be played with friends side­by­side and it also provides a starting point for beginners. 
Approaches  of  this  category  can  be  educational  software  or  games  that  provide 
puzzles  or  challenges  that  involves  fundamental concepts of programming or actual coding to 
31 

achieve  certain  goals  for  example  on  The  Incredible  Machine  from  Sierra  Entertainment,  the 
user  changes  pipes  position  to  provide  water  for houses. Children can gradually develop their 
skills  while  facing  harder  challenges.  Another  example  is   Robocode8  where  programmers 
write  java  code  to  control  a  simulated  battle  robot  and  then  test  them  into  an  arena  against 
other programmer's robot. 
2.2.4 Empowering Mechanics of programming 
This  category  is  not  focused  on  preparing  users  to  program  on  general  purpose 
languages,  but  to  understand  the  importance  of  programming  to  develop  the  skills  to be used 
in  specific  domains.  The  approaches  classified  into  this  category  are  basically  divided  into 
two  subgroups,  the  first  one  advocates  that  coding  is  too  difficult  and  tries  to  avoid  it 
following certain strategies, and the second one tries to improve existing languages or ways of 
interacting with existing languages. 
One  strategy  to  avoid  coding  is  to  provide  an educational software where the user can 
interact  with  the  interface  and  practice  some  programming  concepts  focusing  on  a  certain 
domain,  Programming  by  rehearsal  was  one  of  the  approaches  of  this  subgroup,  created  in 
1984,  it  consisted  into  a  program  that  allowed  users  to  build  small  systems  like  clocks, 
chronometers  only  by  moving  visual  components  that  communicate  with  others.  Another 
strategy  is  to  allow  users  to  create  programs  or  simulations  using  only  conditionals  and 
actions.   AgentSheets9  created  in  1991  at  University  of  Colorado  is  an  environment  that 
allowed  the  user  to  create  simulations  based  on  conditionals  and  actions,  Figure  14  shows  a 
program  that  simulates  traffic  lights  built  with  AgentSheets.It contains 2 rules: the first one is 
to  every  3  seconds  execute  the  second  rule that is change color following the sequence green, 
yellow, red. 

8

 Available at  http://robocode.sourceforge.net/  accessed in 02/12/2015. 
  Avalable at  http://www.agentsheets.com/  accessed in 02/12/2015. 

9

32 

 
Figure 14:  Traffic lights built with AgentSheets 

Source:  KELLEHER & PAUSCH, 2005. 
A  third  strategy  the  user  does  not  build  any  program,  but  changes  its  behaviour  by 
choosing  its  specific  actions.  The   Pinball  Construction  Set10,  for  example,  was  created  in 
1983 and it is a software program that allows the user to create a pinball game by placing each 
component  on  the  screen,  but  also  define  the  behaviour  of  the  ball  when  getting  in  contact 
with each component. 
The  second  subgroup  focuses on creating languages that are easy to teach, and prepare 
their  programmers  to  write  in  languages  of  general  purpose.   Languages  designed  to  become 
more  understandable  usually  applied  common  expressions  used  by  people  on  their  natural 
environment. Created in 1981 COBOL (COmmon Business Oriented Language) was designed 
to  be  written  by  programmers  and  read  by  management.  Another  language  categorized  into 
this subgroup is Logo, previously defined, created for children.  
10

  Video game created by Bill Budge and published by Eletronic Arts. 

33 

Another  approach  was  an  environment  with  a  different  way  to  code  by  replacing  the 
typical  text  editor  with  different  tools,  for  example  Squeak  Etoys11  created in 1997 where the 
novices  can  edit  the  behaviour  of  certain  pre­made  objects.  Figure  15  shows  a  printscreen  of 
Squeak, and the boxes on the upper left are the places programmers can edit the code. 

 
Figure 15:  Squeak Etoys printscreen 

Source:  KELLEHER & PAUSCH, 2005. 
 
2.3 Chapter summary 
This  chapter  presented  a  literature  review  collecting  some  historical  works  made  on 
programming  for  children,  and  more  recent  studies  including  the  areas  of  robotics  and  smart 
tangible  devices.  It  also  summarized  a  taxonomy  that  tries  to  categorize  all  approaches  on 
teaching  children  how  to  program.  The  next  chapter  introduces  the  approach  used  on  this 
work  to  introduce  young  children to programming, the experiment methodology and the main 
findings of the research. 
   
 

11

 Available at  http://www.squeakland.org/  accessed in 2/12/2015. 

34 

3. The Game: how it was built, and what it achieved. 
 
This  work  explores  primarily  two  problems,  the  first  one  was:  " Can  preschoolers 
develop  algorithms? ",  and  the  second  one:  " Do  preschoolers  increase  their  programming 
skills  when  playing programming games? ". From these problems, it was possible to formulate 
the  main  hypothesis  of  this  work  that  is " programming games enable children to develop and 
improve  their  programming  skills ".  An  important research in this field was made by Papert in 
1980,  he  allowed  children  to  program  a  little  robot  called  the  "floor­turtle"  from  a  computer 
using  simple  commands.  Inspired  by  Papert's  work,  to  test  the  hypothesis  a  game  prototype 
similar  to  the  floor  turtle  was  developed,  where  children  used  an  application  installed  on  a 
tablet  device  to  control  a  physical  robot.  During the interaction, the application collected data 
to  be  analyzed.  This  chapter  details  how  the  game  prototype  was  designed,  how  the 
experiment  with  the  children  was  executed,  what  kind  of  data  it  collected,  and  the  results 
encountered. 
For  a  better  understanding  of  how  the  children  involved  with  this  work  interacted  with  the 
game  developed,  it  is  important  to  know  why  the  game  was  built  and  some  details  on  the 
game versions.  
The  game  was  built  inspired  on  some  approaches  to  teaching  children  the  basics  of 
programming  like  the  floor­turtle,  Light­Bot12  and  primo.io13  for  example.  It  was  designed to 
enable  children  to  develop  and  debug  simple  algorithms,  and  also  predict  the  algorithm's 
behaviour.  It  needed  to  be  easy  to  use,  and  mainly  designed  for  children  without  reading 
skills.  However,  the  main  objective  of  building  a  game  capable  of  introducing  children  to 
programming  was  not  to  compare it with the other games and toys, they are all very similar to 
each  other,  but  to  assess  the  effectiveness  of  the  approach  of  letting  children gain experience 
with the basics of programming logic while playing a game. 
A  very  popular  related initiative that started as a web­browser game in the last decade, 
and  was  lately  upgraded  for  a  multi­platform  approach,  is   Light­Bot:  Programming  puzzles 
(Figure  16),  where  the  user  guides  a  robot  with  simple  commands  with  the  goal  of  lighting 

12
13

 http://lightbot.com/ 
 http://primo.io 

35 

blue  floor  spaces  into  yellow  ones.  It  gradually  puts users in contact with some programming 
core concepts such as basic algorithm development, procedure calls, and recursiveness. 

 

 
Figure 16:  LightBot 

Source:  http://lightbot.com/ (Accessed on 02/12/2015) 
The  Light­Bot  initiative  divided  the  game  in  two  main  versions,  a  common  version 
designed  for  public  in  general,  and  a  junior  version  designed  for  children  between  4  and  8 
years  old.  Code.org14,  a  non­profitable  organization  with  the  goal  of  bringing  programming 
classes  to  schools,  recognizes  Light­Bot  as  a  good  approach  to  introducing  children  to 
programming concepts.  
The  main  product  that  inspired  this  work  was  the   Cubetto  (Figure  17)  from  primo.io 
initiative, which consists of a robot with a simple electronic board and a cubicle form. 

 
Figure 17:  Cubetto 
Source:  www.primo.io (Accessed on 04/11/2015) 

14

  http://code.org 

36 

Cubetto  is  controlled  by  a  wireless  wooden  board  (Figure  18)  that  provides,  what 
primo.io  initiative  calls,  a  physical programming interface, and with a set of command bricks, 
enables children to develop and debug basic programs.  

 
Figure 18:  A  physical programming interface  
Source:  https://www.kickstarter.com/projects/1039674461/ 
primo­teaching­programming­logic­to­children­age­4 (Accessed on 02/12/2015) 
 

The  primo.io  initiative  made  the   cubetto  robot  an  extensible  robot  by  building  it  on  a 
Arduino  board.  Arduino  is  a  low­cost  open­source  and  extensible  electronic  platform  with  a 
native  programming  environment  that  simplifies15  the  building  process  of  electronic systems. 
Due  to  the  extensibility  factor,   cubetto ,  at  first,  was  interpreted  as  a  good  fit  for  the 
experiments  planned  for  this  work,  but  at  that  time,  primo.io  was  still  in  production,  and  did 
not intend to deliver  cubetto to the market until the third quarter of 2015, making it impossible 
to use it as an asset in this research. 
To  recreate  the  floor  turtle's  experiment  of  the  80s  with  a  new approach, a robot was needed, 
and  as   cubetto  was  not  eligible,  a  more  complex  robot  was  chosen  to  be  the  " turtle "  of  the 
game,  the  Sphero16  (Figure  19).  It  is  not  open  and  extensible  as   cubetto ,  but  it  is  a  spherical 
robot  with  many  built­in  sensors,  and  Software  Development  Kits  (SDKs)  to  enable  the 
development of third­party applications to control its movements and sensors.  

15
16

  http://www.arduino.cc/ 
  http://www.gosphero.com/ 

37 

 

 
Figure 19:  Sphero 
Source:  https://www.gosphero.com 

 
A  study17  presented on the Pediatric Academic Society (PAS) annual meeting of 2015, 
affirms  that  more  than  one  third  of  one­year  old  children  and  younger  are  allowed  by  their 
parents  to  use  smart  devices  such  as  tablets  and  smartphones  in  the  United  States,  and  the 
percentage  grows  with  the  age.  Furthermore,  it  found  that  approximately  73%  of  American 
parents allowed their children to use smart devices.  
These  results  suggest  that  regarding  the  socio­economic  factor,  most  parents  allow 
their  children  to  get  used  to  new  technologies,  and  it  is  possible  to  use  such  technological 
devices  as  supports  for  children's  development  of  new  skills.  Based  on  the  scenario  where 
children  are  getting  familiar  with  computers  and  smart  devices  sooner,  a  tablet  device  was 
elected to serve as controller to the Sphero robot. 
To  complete  the  ideation  process,  the  game's  challenges  were  still  to  be  defined.  The 
game  needed  different  levels  of  difficulty.  The first idea for defining a level was  a path set on 
a  horizontal  flat  platform  where  a  sequence  of  commands  leads  the  robot  from  one  place  to 
another. Additions to each level are described throughout the next sections. 
 
3.1 Pilot version development, testing and results 
The  first  version  of  the  game's  application  (i.e  the  digital  part  of  the  game,  the  smart 
device  application)  was  developed  primarily  based  on  Light­Bot.  To  minimally  enable 
playing,  the  application  needed  a  set  of  commands  to  be  sent  to  the  robot,  a  queue  to put the 
commands  in,  and  a  start  button,  but  to  fulfill  the  requirements  of  this  work,  the  following 
other functionalities were needed: score calculation, storage and export data. 

17

 http://aapnews.aappublications.org/content/early/2015/04/25/aapnews.20150425­3 accessed in 
05/20/2015 

38 

So, in order to allow data collection, the application is capable of: recording data while 
the  child  is  playing; calibrating the robot through a calibration view (which is required to give 
the  robot  the  right  orientation);  and  allowing  the  insertion  of  the  user's  name,  age  and  level. 
For  every  attempt  of  the  child (i.e. and he/she presses the start button), the application saves a 
record of the sequence of commands he/she sent to the robot, and calculates  a score. 
In  order  to  differentiate  attempts  from  one  another,  for  the  first  version,  scores  were 
calculated  according  to  a  formula  defined  as:  number  of  commands  times five (just a delta to 
make  the  number  more  significant),  times  number  of  different  commands.  As  an  example,  if 
the  set  of  commands  was:   "forward,  forward,  turn  left,  forward" ,  the  score  would  be 
calculated  as  4*5*2  (4  commands,  times  a  delta,  times  the  number  of  different  commands). 
The score enables comparisons between many attempts for the same level. 
Figure  20  displays  the  application’s  main  screen:  the  user  can  place  a  sequence  of 
commands  on  the  red  trail  to  be  executed  (starting  from  left  to  right,  following  the  trail).  At 
the bottom grey bar a set of commands is available to be dragged and dropped on the trail, and 
at  the  bottom­right  is  a  start button ("Iniciar" in Portuguese) to make the sphero robot execute 
the actions defined on the red trail. 
 
 

 

 
Figure 20:  Application’s pilot version main screen 
39 

 

In  order  to  collect  more  information  about  each  child  who  plays  the  game,  different 
levels  of  difficulty  were  required.  Three  levels  were  designed  to  fulfil  this  requirement;  each 
one  of  them  increases  the  minimum  number  of  commands  needed  to  completion  of  the  last 
one.  To  complete  the  game  there  are  only  three  different  commands  needed:  move  forward 
and turn left and right. 
 

 
Figure 21:  Design of the three game levels. 
 

The  design  of  the  three  levels  is  detailed  in  Figure  21.  The  circles  represent  valid 
positions  of  the  robot  during  play:  the  blue  circle  is  the  starting  point,  the  red  one  is  the  end 
point,  and  the  green  circles  represent  valid  transitory  points.  The  arrows  represent  the 
commands  to  be  executed  to  reach  the end of each level: the green arrow represents the move 
forward  command,  the  blue  arrow  turn  right,  and  the  orange  arrow  turn  left.  A  counter 
indicates  the  minimum  number  of  commands  needed  to  complete  each  level,  making  the 
increasing difficulty between levels explicit. (from 3 to 7 commands).  
While  developing  the  game's  application,  an  issue  was identified regarding the sphero 
and  the  designed  levels,  the  sphero's  plastic  material  was  not  appropriate  to  run  the 
experiments,  due  to  the  fact  that  the  material  was  not  adherent,  making  the  robot  move 
imprecisely.  To  avoid  this  lack  of  accuracy  that  caused  the  robot  to  make  different  distances 
with  each  "move  forward"  command,  the  sphero  robot  was  covered  with  a  rubber  cover, and 

40 

the  mat  was  built  with  EVA  (Ethylene  Vinyl  Acetate)  to  increase  the  robot's  adherence  with 
the ground and avoid it to slip around. 
The  main  objective  of  the  pilot  was  to  identify  major  flaws  in  the  game,  and 
understand  if  it  was  possible  and  viable  to  correct  these  flaws  for  the  main  experiments.  To 
run  the  pilot,  mainly  two  things  were  required:  a  room  with  enough  space  for  the  child  to 
move  around  and  play,  and  for  at  least  3  adults  and  the  child and the company of at least one 
person legally responsible for the child . The pilot followed the roadmap described below: 
● The researcher introduces the game to the child; 
● The  child  is  invited  to  move  the  robot  freely  without  levels  to  understand  the 
mechanics; 
● After 5 to 15 minutes the child is invited to start the first level; 
● When the child completes one level, it is possible to start the next one. 
The test ends if the child completes all levels, gets tired of playing, or reaches 1 hour of play. 
One  child  was  selected  to participate in the pilot, according to the profile required: a five­year 
old  girl  with  high  intimacy  with  technology,  whom  will be called M to preserve identity. The 
pilot  took  place  in  a  room  at  M's  house  with  many  toys  around,  which  directly  affected  her 
focus  on  the  game.  Her  father and brother were present helping the researcher to interact with 
her.  
The  pilot  test  started  with  a  demonstration  of  the  game  to  M  and  her  father,  who was 
helping  with  the  test  trying  to  maintain  M  focused  on  the  tasks.  After  the  demonstration  M 
had  a  lesson  of  how  the  basic  mechanics  of  the  application  worked,  which  she  understood 
very  quickly.  Then  she  tried  to  control  the  robot freely on the floor through the application to 
get familiar with it, without a game level or particular goal.  
When  first  playing  with  the  game, M showed big excitement and understood the basic 
mechanics  very  well,  the  drag  and  drop and start button functionalities, and the trail sequence 
were  learned  in  less  than  5  minutes  of  play.  However,  a  great  difficulty  was  faced by M: she 
was  quite  confused  when  selecting  turn  arrows,  she  was  not  intimate  with  left  and  right 
definitions and apparently the turn arrows were chosen by trial and error. 
After  mastering  the  basic  controls,  M  decided  to  move  to  the  first  level  of  the  game 
showed  in  Figure  22.  The  researcher  was  guiding  M  through  the  interaction  to  watch  her 
closely  and  support  her  every  time  she  needed,  but  she  was  working  freely  with  the 
application.  Questions  like  “ Which  way  must  the  robot  follow  now? ” were raised to stimulate 
41 

her  to  interact  and  at  many  times  she  showed  a  deep  thinking  countenance; with only 3 trials 
(Table  1)  she  was  able  to  complete  the  first  level  and  celebrated  it  with  joy,  but  the 
completion  of  the  level  was  not  clear,  because  of  the  lack  of  accuracy  on  the  robot's 
movement, it went off the path before turning causing the bad impression of a mistake, but the 
research clarified the question and explained to M that she successfully completed the level. 
 
Attemp

Commands 

Move Forward. 

Move Forward, Turn Left, Move Forward. 

Move Forward, Turn Right, Move Forward. 
 
Table 1:  M's first three attempts on level 1 

 
The  presence  of  the  family around was very helpful, every time she looked away from 
the  activity,  the  father  tried  to  play  the  game  and  she  immediately  came  back  to  play  with 
him,  apparently  the  game  also  provides  a  good  social  experience  where  many  users  can 
compete and make it more attractive. 

 
Figure 22:  First level of the game  
 
42 

Immediately  when  the  first  level  was  completed,  the  researcher  asked  if  M  wanted to 
go  forward  and  try  the  second  challenge,  and  she  agreed  with  enthusiasm.  Facing the second 
level  (Figure  23)  was  hard,  as the left/right definitions apparently were not clear, and M had a 
lot  of  trouble  trying  to  complete  the  level.  The  best  sequence  she  achieved  was  a  sequence 
with  a  turn  action  missing  causing  the  sphero  robot  to  get out of the trail. Moreover the robot 
did  not  react  when  a  turn  command  was  sent  alone,  or  a  sequence  ended  with  a  turning 
command, causing a bad experience confusing the turning functionality further. 
After  some  failed  attempts to complete the second level, M’s frustration level rose and 
she  got  tired  of  the  game  after  around  20  minutes  playing.  While  still  playing  the  second 
level,  M  increased  her  score  after  each  attempt  but  failed  for  three  times, and when facing so 
many  failed  attempts  she  got  frustrated.  The  algorithms  were  not  being  developed  with  the 
same  enthusiasm  causing  more  failed  attempts  with  less  chance  of  completion,  and  then  she 
asked to stop playing. 
 

 
Figure 23:  Second level of the game  
 
When  she  was  frustrated  with  the  game,  the researcher asked M if she liked the game, 
and  she  answered  that  it  was  not  very good, but a few minutes later when her parents asked if 
she  liked,  she  answered  that  it  was  great,  more  likely  because  she  remembered  when  she 

43 

played  with  her  father  and  brother,  probably  an  approach  with  more  than  one  child  could  be 
interesting making them play together practicing their social skills. 
Analyzing  the  data  collected  from  the  application  made  it  clear  that  the  formula  of 
score  calculation  was  not  very  accurate:  if  a  wrong  set  of  operations  was  chosen,  the  score 
kept  rising,  which  is  not  interesting  for  data  analysis,  causing  the  formula  to  be  redefined. 
Although  the  score  calculation  was  inaccurate,  the  difficulty  of  the  levels  showed  to  be 
balanced,  as  the  second  level  was  harder  to  complete  than  the  first  one,  but  there  was  only  a 
2­command difference between them. 
Noticing  the  difficulty  presented  by  M  with  the turning operations, a new approach of 
visual  interface  was  required  to  improve  the  results  of  the  upcoming  tests.  M  apparently was 
more  comfortable  with  the  tablet  on  the  landscape  position,  so  the application would become 
more  intuitive  if  the  operations  trail  changed  the  orientation,  going  bottom  to  top,  instead  of 
from  the  left  to  right,  and  also  a  change  of  the  turning  icons  was  required,  as  they  were  not 
very clear. 
The major flaws identified in the pilot are listed below: 
● The  turning  functionalities  were  confusing,  as  they  do  not  make  the  robot  turn  and 
move; 
● Children  of  early  age  do  not  understand  what  is  left  or  right,  causing  more  confusion 
on turning functionalities; 
● Set  of  commands  ending  with  a  turning  arrow  caused  a  bad  experience  because it did 
not give any feedback of working properly; 
● The  score  calculation  formula  was  not  accurate,  so  the  data  was  not  adequately 
representative of the experiment; 
● The  red  trail  of  the  visual  interface  was  not  positioned  in  the  most  intuitive  location, 
the landscape/portrait position of the trail was confusing. 
● The robot lacked movement accuracy, causing it to move more than necessary, leading 
it off the track; 
 
 
 
 
 
44 

3.2 Beta version used for the experiment 
 
A  new  version  of  the  application  was  developed  according  to  the  results  of  the  pilot. 
The  game  levels  needed  to  be  modified  to  help  the  children  to  better  understand  the  turning 
operations.  Indications  of  turns  were  placed  on the corners to make it easier to understand the 
left/right  definitions,  using  colors  to  identify the turns instead of saying "left" or "right" to the 
children.  It  was  necessary  to  identify  the  corners  with  the  turn  operations  colors  to  make  a 
connection between the turning side and the operation to be used.  
A  slight  but  useful  change  was  made  on  the  visual  interface  of  the  turning  arrows  as 
they  were  not  clear  enough.  A  command  sent  to  turn  the  robot  is  expected  to  change  its 
orientation,  and  wait  for  a  " Move  Forward "  command  to  actually  move,  which  is  a  common 
behaviour  of   Light­Bot  and  primo.io  ( Cubetto )  initiatives.  In  the  pilot  version,  the  turning 
arrows  gave  the  impression  of  turning  and  moving  on  the  same  command,  so it was changed 
to look more like the " Light­bot " arrow, to help conveying the idea of changing orientation.   
Furthermore,  in order to lower the barriers for children's understanding of the left/right 
definitions, 2 sets of yellow and blue paper cones were built to be placed on each corner of the 
physical  trail  to  serve  as  reference  for  turning  actions.  The  communication  between  the 
researcher  and  the  children  was  eased  by  using  more  significant  colors  for  the  command 
arrows  on  the  interface.  Inspired  in  traffic  lights,  green  replaced  red,  meaning  " Go ",  " Move 
Forward ",  and  pink  was  changed  to  yellow  to  match  the  turning  commands  with  the 
respective  paper  cone  on  the  corners.  Blue  was  already  matching  one  of  the  cone's  color,  so 
there was no need for change.  
The  Sphero  robot  is a ball, and it is not very clear when it changes the orientation, so a 
small  visual  feedback  was  implemented  to  represent  that  change,  when  the  user  prepares  the 
set  of  commands  to  be  executed,  if  it  ends  with  a  turning  command  the  robot  slightly  move 
towards  the  respective  direction,  not  performing  a  full  " Move  Forward "  operation,  just  to 
show that something else is needed to complete the action of turning and moving.  
Another  important  change  identified  in  the  pilot  version  was  to  update  the  score 
calculation  formula.  The  pilot  version  formula  did  not  take  into  account  the  right  or  wrong 
moves  performed  by  the  robot,  it  calculated  the  scores  based  on  types  and  quantity  of 
commands  used  to  create  the  algorithm.  For  a  new  approach,  the levels needed to be mapped 
into  coordinates  and  scores  were  calculated  based  on  valid  movements,  i.e.  movements 
45 

between  two  valid  points.  A  valid  movement  was  considered  to  worth  5  points  and  the 
formula  was  updated  to:  number  of  valid  movements  multiplied  by  the  current  game  level. 
Figure 24 shows the scores for every possible valid ending point. 
 

Figure 24:  All valid ending points and respective scores. 

If  the  user  leads  the  robot  to  a  non­valid  point  the  score  is  recorded  as  the  last  valid 
ending  point  reached.  If  the  user  leads  the  robot  to  the  level's  endpoint,  the  attempt  is 
registered as level completed and it is possible to advance to the next level. 
An  important  user  interface  change  was  the  red  trail's  orientation,  in  landscape 
position  it  was  harder  to  understand  the  command's  flow.  For  the  game  to  become  more 
comfortable the orientation of the red trail was rotated to portrait position.  
The  last  improvement  made  for  the  beta  version  were  the  obstacles  inserted  on  the 
corner  edges,  to  keep  the  robot  within  the  limits  of  the  physical  path.  Because  the  sphero's 
movement  is  not  accurate,  the  " Move  Forward "  command  led  the  robot  out  of  the  path, 
leaving  the  wrong  impression  of  failure  most  of  the  times.  Figure  25  shows  how  the  second 
level and the application were redesigned with all the changes described in this section. 

46 

 

 
Figure 25:  Level 2 and application redesign 

3.3 The experiment, testing the game's beta version with children 
In  order  to  understand  if  the  game  built  for  this  work  achieves  its  goal  of  getting 
young  children  interested  in  programming,  first  we  needed  to  test  the  game  with  potential 
users,  observe  and  analyze  the  gathered  data  to  identify  if  the  game  is  a  good  approach  for 
making children develop programming skills. 
The  roadmap  for  the  tests  followed  the  same  as  the pilot, however extra attention was 
given  to  children  when  they  first interacted with the game. When the child started moving the 
robot  around  freely,  some  small  tasks  were  given  depending  on  the  place  the  test  was  run, 
such as: " Try to reach the wall with the robot ", or, " Make a turn and reach the chair ", in order 
to  help  them  figure  the  commands out and have fewer problems when facing the game levels. 
After  the  free  exploration  phase,  at  any  level  when  a  lucky  guess  was  suspected  by  the 
researcher,  the  child was given a new task to retry the level on a reverse track, to assure it was 
no  matter  of  luck,  and  then the child moved to the next level. Figure 26 shows a child playing 
with the robot at the free exploration phase of the experiment. 

 
47 

 

 

Figure 26:  Child playing freely with the robot 
 

The children's profile was similar to the child involved in the pilot, the experiment was 
designed  for  3  groups  of  3  children  with  high  intimacy  with  technology. The 9 children were 
put  into  groups  of  the  same  age,  between  the  ages  of  4  and 6 years­old. Each test was guided 
by  the  researcher,  and  accompanied  by  at  least  one  person  responsible  for  the  child,  both  of 
them,  were  able  to  interact  with  the  child,  considering  that  the  researcher  sometimes  needed 
help  with  the  communication.  Based  on  the  data  collected  from  the  tests,  the  next  sections 
explain  how  each  group  of  children  interacted  with  the  game  and  how  was  their  score 
performance through the levels, and present a comparison between the 3 groups. 
3.3.1 The 4 year­old's analysis 
The  youngest  group  of  participants  required  a  lot  more  effort  than  the  others. 
Four­year­old  children  are  still  learning  to  focus  on  a  specific  task,  and  their  short 
concentration  span  is  the main challenge for the instructor or teacher. Although the frustration 
level  of  this  age  group rises more easily than the older ones, all the sessions of the experiment 
lasted 1 hour in average (varying between 50 and 70 minutes).  

48 

 

 
Figure 27:  4 year­old child playing the first level. 

Children  in  this group needed between 10 and 15 minutes to get used to the mechanics 
of  the  game,  moving  the  robot  freely  using the application. They tended to be anxious to play 
with  the  tablet  and  see  the  robot's  reaction  for  each  attempt  Brief  demonstrations  of  how  to 
use  interact  with  the  system  helped  to  reduce  the  anxiety  and  better  prepared  the  children  to 
face the first level.  
Facing  the  first  level  was  very  challenging  for  all  the  children  of  this  group.  It  took 
them  an  average  of  twenty  minutes  to  solve  it,  with  one  exception  of  a  child  who  took  less 
than  ten  minutes,  which  raised  the  possibility  of  a  lucky  guess.  So,  he  was  presented  the 
reverse track, and completed the level within another ten minutes. Figure 27 shows a four year 
old playing the first level. 
Everytime  the  frustration  level  rose,  children  were  asked  if  they  still  wanted  to  play, 
and  no  child  gave  up  due  to  frustration.  One  of  them  tried  many  times  to  solve  the  second 
level  and  after  almost  thirty  minutes  the  test  was  stopped  because  it  was  taking  too  long. 
Although  he  was  a  little  frustrated  with  the  failed  attempts  he  did  not  want  to  stop  playing. 
This  observation,  along with the experiment's average duration metric and the success they all 
had  on  the  first  level,  made  us  believe  that  the  game  is  interesting  for  this  group.  Four­year 
old  children  are  attracted  to  play  the  game  and  are  able  to  develop algorithms using this kind 
of tool. 
This  group  was  the  most  heterogeneous.  Only  one  of  the  child  was  able  to  finish  the 
three  designed  levels,  one  reached  the  third  level,  and another one was stopped on the second 
49 

level,  when  the  test was taking too long, the researcher suggested the stoppage suspending the 
test.  The  data  collected  from  the  tests  reflect  this  heterogeneity,  and  the  charts  below  that 
summarize the data collected confirm it.  
For  a  better  understanding  of  the  charts it is important to notice that they represent the 
score  evolution  of  a  child  after  each  valid  attempt,  if the child repeats the same commands or 
starts  the  attempt  without  the  level  proper  setup  it  is  not  considered  valid. Another important 
observed  fact  is  that  most  of  the  children  when  starting  a  new  level  can  present  a  significant 
decrease  on  their  score,  due  to  starting  developing  a  new  algorithm.  To  represent  and  make 
clear  when this characteristic may apply, a blue dot was added on the horizontal axis for every 
start  of  a  level  on  all  Score  x  Attempts  charts.  In  addition,  the  green  dots  represent  the  other 
attempts,  i.e.  the  last  green  dot  before  a  blue  dot  is  the  attempt  that  corresponds  to  the  level 
completion. 

 
Chart 1:  First 4 year­old Score x Attempts 
 

The  first  four  year  old  child  to play the game raised the doubt of a lucky guess, as it is 
observed  on  Chart  1,  with  only  two  attempts  he was able to complete the first level. After the 
reverse  track  completion  he  was  presented  to  the  second  level,  marked  with  the  second  blue 
dot  on  Chart  1,  within  the  first  two  valid  attempts  on  the  level the child was not able to score 
50 

any  points.  Although  he  was  very  motivated  to  complete  the  game,  he  was  not  able  to  finish 
the  second  level  without  considerable  help  of  people  around.  The  test  was  stopped  mainly 
because of the time it was taking, and the results indicated a bad performance, but it was made 
clear  that  the  child  was  able  to develop algorithms and probably with other sessions he would 
improve his performance.  
On the second test of this group the child tried a considerable amount of different valid 
sets  of  commands.  She  had  problems  on figuring out how to complete the first level, which is 
observed  on  Chart  2,  as  her  score  oscillates  frequently  until  the  completion,  to  guarantee  it 
was  not  a  lucky  guess,  she  was  asked  to  do  the  reverse  track  similarly  as  the  first  test;  she 
concluded  both  tracks  successfully  and  moved  to  the  second  level.  She  played  the  second 
level  with  a  good  performance  and  was  able  to  reuse  part  of  the  first  level's  solution, 
continuously  improving  the  results.  At  the  third  level  (marked  by  the  third  blue  dot  on Chart 
2),  she  was  also  able  to  reuse  part  of  the  commands,  and  the  score  oscillated  between 
attempts.  When  she  was  one  command  away  from  completing  the  third  level,  the  frustration 
level  rose  and  she  was  tired  within  one  hour  of  test.  Her performance was considered regular 
and she proved completely able to develop algorithms. 

 
Chart 2:  Second 4 year­old Score x Attempts 

 
51 

The  third child of the group had the best performance, showing a natural programming 
ability,  within  less  than  10  minutes  playing  freely  (before  the  first  level),  she  performed  3 
minor  tasks  moving  the  robot  around.  The  child completed all the three levels without having 
a  score  decrease,  as  summarized  in  Chart  3,  a  rare  fact  comparing  with  all  the  children 
involved. Her performance was considered above average. 

 
Chart 3:  Third 4 year­old Score x Attempts  

This  group  was  very  heterogeneous,  all  the  children  involved  were  able  to  complete 
the  first  level,  and  the  score  normally  increases  over  time  as  observed  on  Charts  1,  2  and  3. 
The  fact  that  all  of  them  affirmed  that  they  liked  the  game,  and  would  want  to  play a second 
time,  leads  us  to  believe  that  the  game  is  a  good  approach  to  introduce  programming  to 
four­year old children. 
 

3.3.2 The 5 year­old's analysis 

The  second  group  finished  the  test  on  an  similar  average  time  to  the  first  group  (one 
hour),  but  as  expected  their  performance  was  better,  probably  because  children  of  this  age 
group  tend  to  focus  more  on  activities  in  which  they  are  interested.  Following  the  roadmap 
they got used to the mechanics playing with the robot freely during approximately ten minutes 
and then started the first level. 

52 

Children  of  this  group  in general were more intimate with technology, which led them 
to  get  used  to  the  mechanics  quicker  than  the  4  year­olds.  All  children  completed  the  first 
level  without  further  difficulties,  but  the  second  level  was  crucial,  the  motivation  rose 
considerably  when  they  finished  the  second  level,  Figure  28  shows  a  5  year  old  child 
celebrating  the  completion  of  the  second  level.  With  the  motivation  increased  all  children  of 
this  group  were  able  to  complete  the  third  level,  finishing  the  whole  test  successfully,  one of 
them  also  asked  for  more  levels,  in  Portuguese  she  questioned:  " Next  time, it will be levels 4, 
and 5 right? ". 
 

 
Figure 28:  5 y.o child celebrating the completion of the second level. 
 

The  first  child  of  this  group  faced  some  difficulties on the first level, when debugging 
the  algorithm  her  score  decreased,  but  as  soon  as  she  figured  out  what  was  the  bug  she 
completed  the  first  and  second  level  consecutively  on  a  few  attempts  observed  on  Chart  4. 
Facing  the  third  level  she  reused  some of the algorithm of the second level, but encountered a 
bug  and  similarly  as  in  the  first  level,  once  she  debugged  it  she  completed  the  level 
successfully. 

53 

 
Chart 4:  First 5 year­old Score x Attempts  

 
The  second  child  was  very  different,  had  no  problems  facing  the  first  level,  but  the 
second  level  was  more  challenging,  as  demonstrated  on  Chart  5,  between  the  second  and the 
third  blue  dot  on  the  horizontal axis he varied between 10 and 20 score points for a long time, 
it  took  more  than  30  minutes  for  him  to  finish  the  level  reaching  30  points.  The  difficulties 
faced  on  the  second  level  apparently  gave  the  child  expertise  to  face  the  third  level,  as  since 
the start of the challenge marked on the third blue dot, he completed it with a few attempts.  

54 

 
Chart 5:  Second 5 year­old Score x Attempts  

 
The  third  test  occurred  without  any  issues,  the  child  performance  increased  gradually 
over  each  attempt,  and  no  further  debugging  was needed except for the beginning of the third 
level  marked  with  the  third  blue  dot  on  the  horizontal  axis  of  Chart  6,  when  the  child 
preferred  to  restart  the  algorithm  from scratch. The child got very motivated on playing more, 
wanted  to  continue  playing after the test was over, and similarly to the first child of this group 
asked for more challenging levels. 

55 

 
Chart 6:  Third 5 year­old Score x Attempts  

 
3.3.3 The 6 year­old's analysis 
Children  of  this  group  were  very  different  than  the  previous  two,  more  experienced 
and  intimate  with  technology,  their  performance  was  considerably  better.  As  the  first  task  of 
the  roadmap  describes,  they  took  some  time  playing  with  the  robot  freely.  With  less  than  5 
minutes  playing  around,  all  of  them  got  used  to  the  mechanics  and  started the first level. The 
average  time  of  this  group's  test  was  30  minutes  approximately,  when  the  third  level  was 
completed. 
Although  most  of  them  spent  most  of  the  time  on  the  first  level,  they  had  no  trouble 
facing  both  the first and second level. Normally in Brazil, at six years old a child starts to read 
and  write,  which  may  enable  them  to  work  with  more  complex  applications  such  as  Scratch 
for  example.  The  performance  and  skills  the  six  year olds showed when facing the third level 
was  beyond  expectations.  Figure  29  shows  a  6  year  old  playing  the  third  level.  The  children 
were  able  to  solve  puzzles  by  building  algorithms  playing  the  game,  but  for  this  group 
specifically  it  may  not  be  the  best  approach to introduce children to programming, as 1 out of 
3  children  thought  that  the  game  was  too  simple.  It  may  seem  a  drawback  but  actually  is  a 
good finding; older children may demand higher challenges. 

56 

 

 
Figure 29:  6 y.o child playing the third level. 
 

The  first  six year­old child showed a good performance, increasing his score gradually 
between  the  first  and  the  start  of  the third level (interval between the first and the third dot on 
Chart  7);  the  second  attempt  of  the  third  level  raised  a  bug  that  made  him  decrease  the score 
from  45  to  30.  It  took  him  approximately  5  minutes  to  solve  the  bug,  and  with  2  more 
attempts he was able to complete the test. 

57 

 
Chart 7:  First 6 year­old Score x Attempts  

 
An  interesting  comparison  between  the  first  and  the  second test of this group was that 
they  were  executed  with  2  boys  with  a  close  relationship,  they  were  twin  brothers,  although 
they  studied  at  the  same  school  and  lived  in  the  same  house  by  the  same  set  of  rules,  their 
results  were  very  different.  The  second  child  had  some difficulties to figure the game out and 
completing  the  first  level,  but  when  he  completed  the  first  challenge  he  reused  a  part  of  the 
solution  to  complete  the  second  level,  and  reused  it  further  on  to  solve  the  third  level;  his 
score  increased  progressively  and  with  only  2  attempts  (scoring  45  and  60  consecutively)  he 
completed the most difficult level as Chart 8 clarifies.  

58 

 
Chart 8:  Second 6 year­old Score x Attempts  

 
The  third  test  was  very  elucidative  as the child involved was the only one that showed 
no  further  interest  in  the  game,  as  he  commented  at  the  end  of the test in Portuguese: " I liked 
it,  but  it  is  too  easy ".  The  child's  parent  adverted  that  he  was  very  intimate  with  technology 
and  loved  digital  puzzle  games,  which  probably  raised  his  performance.  He  showed  high 
debugging skills when facing a problem on the first level solving it on the second attempt, and 
reused  the  solution  to  complete  the  second  level  with  only one attempt. Facing the third level 
he  also  reused  the  solution  of  the  previous  one,  allowing  him  to  solve  the  challenge  within 
two  attempts.  Chart  9  helps  to  identify  how  the  score  progressively  increased  from  5  to  60 
with a total of five attempts.   

59 

 
Chart 9:  Third 6 year­old. Score x Attempts  

 
3.3.4 A comparison between the three groups 
In  general,  of  the 3 levels, the first one has a different challenge, which is breaking the 
barriers to developing algorithms. Most of the children showed some difficulty when facing it, 
as  they  were  still  getting  used  to  the  mechanics  and  how  the  robot  should  react  to  each 
command.  For  this reason, every child that completes the first level, with no doubts of a lucky 
guess,  was  considered  able  to  develop  algorithms,  and  an  approach  using  the  game  as  a  tool 
could  be  a  good  way  to develop programming skills, as long as the child gets interested in the 
game.  
Most  of  the  children  involved in the experiment showed great interest in the game and 
were  able  to  finish  the  first  level  leading us to believe that preschooler children starting at the 
age of 4 are able to begin developing programming skills. 
 
3.4 Chapter summary 
This  chapter  detailed  how  the  game  used  was  built,  and  which  studies  and  products 
served  as  references  for  its  main  concept. A pilot was run at first to identify the main flaws of 
the  prototype,  and  most  of  the  issues  caused  by  these  flaws  were  solved  during  the 

60 

development.  Nine  children  with  experience  in  computer  games  and  technology  took  part  in 
the  experiment  and  the  research  concluded  that  all  of  them  were  able  to  develop  algorithms, 
and  the  performance  of  each  child  increased  with  time.  This  approach  on  developing 
computational  thinking  in  young  children  using  smart  devices  focuses  on  letting  children 
interact  with  certain  technologies  that  can  be  harmful  and  cause  a set of problems if the child 
is  not  well  supervisioned,  the  next  chapter  presents  the  risks  involved  in letting unsupervised 
children  play  with  smart  devices and the internet, and also provides some information on how 
to  mitigate  the  risks  allowing  parents  and  teachers to use technology to empower children the 
this presented work advocates.   
 
 

 

61 

4.Risk assessment, and mitigation. 
 

Although  this  work  focuses  on  setting  up  some  of  the  benefits of the guided exposure 
of  young  children  to  smart  devices  such  as  developing  programming  skills,  it  is  important  to 
understand  the  risks  that  the  unsupervised  usage  of  such  technology  can  have,  and  why 
parents  should  be  concerned  about  what  their  children  are  being  in contact with. This section 
reviews  some  of  the  latest  research  on social and biological negative impacts that using smart 
devices  and  accessing  the  internet  young  children  and  teenagers  can  have, assessing the risks 
of such exposure and raising possible ways to avoid it.  
With  the  introduction  of  the  internet  and  chat  services,  the  world  started  to 
communicate  in  different  ways.  A  few  years  after  the  internet  was  made  accessible  to  the 
general  public,  the  opportunity  to  create  online  games  was  just  one  step  ahead  to  creating an 
environment  where  people  could  interact  with  each  other,  entertain  themselves  and  do  many 
other  things  without  getting  out  of  their  bedrooms.  Unfortunately,  in  this  online  world  it  is 
easy  to  forget  about  time  and  spend  more  than  a  few  hours  connected,  and  it  is  well  known 
that  people  can  be  online  gaming  or  chatting  for  more  than  24 hours in a row, causing severe 
consequences to their bodies. 
With  the  advent  of  smart  devices,  this  online  world  just  enlarges  itself,  more  people 
can  be  connected,  and  technology  is  more  accessible,  and it is also portable, people can use it 
everywhere  and  stay  online.  What  is  more  aggravating in this situation is that not only adults, 
but  people  from  all  ages  are  getting  experiences  with  the  internet,  due  to  smartphones  and 
tablets' easy access (LEE, J. 2013). 
According  to  Park,  C.  &  Park,  Y.  (2014)  it  is  dangerous  to  let  young  children  use 
smartphones  or  tablets  and get access to internet on their own. Smart devices are passive tools 
with  which  you  can  just absorb content, children are not ready to "defend" themselves against 
all  the  content  that  can  be  shown  on  screen.  For  this  reason,  the  younger  the  child  is,  more 
supervisioned they should be by an adult. 
Content  available  on  the  internet  may  be  harmful  for  people  that  are  not  mature 
enough  (teenagers  and  children  in  general),  and  research  has  shown  that  in  some  cases 
unsupervised  exposure  to  smart  devices  and  internet  can  lead  to  serious  problems  like 

62 

addiction,  loneliness,  depression,  compulsion,  aggressiveness,  obesity,  and  others ( PARK, C. 
& PARK, R. 2014 ). 
In  South  Korea,  a  study  was  conducted  aiming  to  understand  the  use  condition  of 
smart  devices  by  children  and  how  parenting  can  affect  this  usage.  This  study  involved  500 
parents  from  two  Korean  cities  and  the  results  were  based  on  the  analysis  of  questionnaire 
responses.  Important  numbers  raised  by  the  study  are  that,  most  of  the  time,  toddlers  are 
exposed  to  smart  devices  when  they  are  with  their  mothers  (73%)  and  more  than  half  of  the 
parents  believed  that  smart  devices  are  needed  for  their  children.  The  study  also  raised  the 
main  motives  why  smart  devices  are  needed,  they  believed  mainly  in  the  aspect  of  learning, 
secondly  it  was  needed  to  follow  the  trend,  and  also  to  avoid  children bothering their parents 
and play on their own (LEE, J. 2013). 
The  third  main  reason  that  parents  believe  their  children  need  a  smart  device  is 
probably  the  most  intriguing  of  them,  because  according  to  Lee,  J.  (2013)  27.3%  of  the 
parents  responded  that  they  needed  their  children  to  stop  bothering  them,  which  indirectly 
means  that  they  are  letting the children to use the smartphones or tablets with low supervision 
or  not  at  all.  Still  according  to  Lee,  most  of  the  time,  children  usage  of  smart  devices  is  for 
watching  animations,  and  listening  to  songs,  but  parents  should  intervene  actively  on  the 
usage of smartphones and tablets by their children. 
According  to  Park,  C.  &  Park,  Y. (2014) parents are usually busy with work, and then 
provide  smartphones  to  their  children  to  avoid  disturbance,  this  is  one  of  the  reasons  that 
smartphone  addiction  is  increasing  on  South  Korea  upon  the  last  few  years.  Furthermore  the 
amount  of  educational  applications  has  grown  and  it  also  contributes  to  increasing  children's 
usage  of  smart  devices.  Also,  this  fact  is  causing  a  decrease  on  the  amount  of  physical 
activities  performed  by  children  which  can  lead  to  a  series  of  problems  for  example  obesity, 
diabetes  and  cardiac  diseases.  Due  to  children's  smartphone  addiction,  a  research  has  been 
done  with  the  objective  of  creating  a  conceptual  model  to  contextualize  the  antecedents  and 
the consequences of such addiction on young children. 
The  antecedents  were  divided  into  two  subgroups,  parental  variables  that  are  all  the 
attributes  that  concerned  the  responsible  person  for  the  children,  and  child variables. Starting 
with  the  parental  variables,  in  South  Korea  where  the  adoption  of  smartphones  (which 
changed  from  a  common  cell  phone  to  a  smartphone)  is  higher  than  90%,  it  was  found  that 
parents  that  have  less  income  tend  to  postpone  their  children's  entry  at  school,  due  to 
63 

economic  reasons,  letting  them  with  more  free  time  and  then  more  time  to  spend  on  smart 
devices,  consequently,  the  addiction rate is higher on children from families with less income. 
Younger  parents  tend  to  follow  the  technology  tendencies  and  are  more  permissive  on  the 
matter  of letting children use the smart devices, also when both parents have incomes children 
are  more  exposed  due  to  the  lack  of  time  of  their  parents,  causing  a  higher  rate  of  addiction 
(PARK, C. & PARK, Y., 2015). 
Regarding  the  child  variables,  it  was  noted  that  age  and  gender  influence  the  rate  of 
addiction,  the  younger  the  child  the  higher  the  probability  of  addiction  due  to  incomplete 
mental  development  and  also  boys  tend  to  be  more  easily  addicted due to lack of self­control 
and  being  more  easily  distracted, moreover children that go to kindergarten or preschool have 
a  lesser  probability  to  become  addicted  due  to  the  amount  of  time  they  spend  on  school 
activities (PARK, C. & PARK, Y., 2015). 
The  conceptual  model  (Figure  30)  presented  by  Park,  C.  &  Park,  Y.  (2014)  also 
contains  some  of  the  consequences  of  smartphone  addiction,  children  with  this  kind  of 
addiction  can  demonstrate  symptoms  of  depression,  emotional  instability,  anger,  lack  of 
attention  and  self­control,  also  can  develop  visual  impairment  due  to  exposure  to  the  light of 
the  screens,  hearing  impairment  if  earphones  are  constantly  in  use,  can  start  to  develop 
obesity and diabetes due to the lack of outdoors activities. 
Another  study made in Portugal tried to create a connection between internet addiction 
and  loneliness  among  children  and teenagers. The study comprised more than 130 Portuguese 
students  between  children  and  teenagers,  although  many people may think that loneliness is a 
consequence of internet or smart devices addiction, studies have shown that it is an antecedent 
( PONTES, H., GRIFFITHS, M., PATRÃO, I., 2014 ). 

64 

 
 
Figure 30:  Conceptual model of smartphone addiction in early childhood. 

Source:  PARK & PARK, 2014. 
 
 
Apart  from  collecting  socio­demographic  data,  this  study  applied  two  tests,  one  to 
identify  the  level  of  internet  addiction  and  another  to  identify  loneliness  of  participants,  the 
data  analysis  found  that  a  considerably  high  amount  of  people  from  the  sample  are  severely 
addicted  to  internet,  approximately  13%,  additionally  8.4%  of  the  students  were  considered 
severely  lonely  which  was  considered  a  small  percentage.  An  important  finding  is  that  the 
students  that  showed  a  high  level  of  loneliness also presented high level of internet addiction, 
some  variables  of  the  study  were  identified  as  correlated  to  internet  addiction  and  loneliness 
such  as:  weekly  usage  hours,  ownership  of  a  smart  device,  subjective  self­perceived 
victimisation  of  bullying  or  cyberbullying  ( PONTES,  H.,  GRIFFITHS,  M.,  PATRÃO,  I., 
2014 ). 
According  to   De  Paiva,  N.  &  Costa,  J.  (2015)  smart  devices  really  impact  our  lives 
with  many  positive  and  negative  aspects,  it is important to identify these negative aspects and 
65 

find  ways  to  diminish  the  side  effects  because  removing  such  devices  from  our  lives  is 
probably  very  difficult  at  this  point.  Still  according  to  De  Paiva  &  Costa,  opinions  from 
parents  in  Brazil  about  smart  devices  usage  were  collected  and  they  concluded  that  most  of 
the  parents  are  preoccupied  about  their  children  not  playing  outside  of  the  house,  and 
developing  physical  problems  such  as  diabetes  and  obesity,  but  according  to  them  the  most 
problematic  situation  is  the  unsupervised  usage  that  can  generate  aggressiveness  and  anxiety 
due to the lack of limits imposed to children. 
This  chapter  presented  a  review  of  recent  studies  on  the  problems  caused  by 
unsupervised  usage  of  smart  devices  and  internet  by  children  and  teenagers,  letting  children 
interact  with  new technologies have risks and this review was made to assess this kind of risk, 
and  provided  ways  to  mitigate  the  risks.  The  next  chapter  will  draw  conclusions  from  the 
theory worked, collected data and their analysis. 

 
 

 

66 

5. Conclusion 
This  work  has  shown  that,  since  the  production  of  the  personal  computer, researchers 
have  tried  to  lower  the  barriers  of  programming  to  children  by  inventing  more  intuitive 
programming  languages  and  platforms  where  they  can  interact  and  develop  programming 
skills.  Many  attempts  have  been  made  with  LOGO  language,  Lego/LOGO,  and  in  2007  the 
MIT  Lifelong  Kindergarten  developed  Scratch,  a  platform  where  children  are  able  to  build 
multimedia  presentations  and  games  using  a  language  inspired  on  the  connections  of  Lego 
bricks where they could use programming blocks to build algorithms.  
To  understand  how  programming  is  being  exposed  to  children  nowadays,  it  is 
important to not only consider the recent approaches, but also, verify how the recent platforms 
were  built  and  where  they  came  from.  It  was  presented  an  evolution  since  the  Lego 
programmable  brick  and  how  the  approaches  were  refined  and  recreated  into  new  ones, until 
recently,  it  was  made  available  for  young  children  a  complex  platform  called  ScratchJr  that 
empowers  teachers  and  parents  around  the  world,  enabling  them  to  introduce  young children 
important concepts like programming and analogy also stimulating their imagination. 
A  considerable  number  of  different  approaches  involving  lowering  the  barriers  to 
programming,  including  programs,  platforms  and  games,  were  developed  until  now  and  to 
better  understand  each  approach,  a  summarized  version  of  the  taxonomy  created  in  2005  by 
Kelleher  and  Pausch  was  presented  in  this  work.  The  work  of  Kelleher  and  Pausch 
documented  more  than  50  approaches  and  classified  them  into  categories  and  subcategories, 
this  work  also  included  some  information  about  some  approaches  that  were  created  after 
2005. 
Most  of  these  approaches  are  focused  on  certain  age  ranges  and  normally  demands 
that  the  child  are  able  to  read  which  limitates  the  starting  age  to  six  years  old  and  following 
the  same  principle  described  by  Papert  in  1980  that  since  the  LOGO  creation,  everyone 
involved  in  teaching  programming  to  children  should  try  to  lower  the  barriers  to  knowledge. 
This  work  affirms  that  pre  scholar  children  are  able  to  start  developing  programmings  skills 
and  tested  the  hypothesis  that  " programming  games  enable  children  to  develop  and  improve 
their programming skills ".  
Based  on  popular  programming  games,  such  as  LightBot,  and  emerging  new 
approaches,  such  as  primo.io  initiative,  a  game  was  presented  on  the  data collection phase of 
67 

an  experiment  that  involved 10 children with a specific profile. When running the pilot, major 
flaws  were  identified  in  the  game,  changes  were  made  and  a  new  version  was  used  on  the 
other  9 tests where children were grouped by the ages of 4, 5 and 6 (3 children in each group). 
The  game  consisted  in  a  tablet  application  where  the user can build an algorithm by selecting 
a  set  of  ordered  commands  to  be  sent  to  a  spherical  robot,  the  commands  are  basically  to 
move  forward,  turn  right,  and  left.  Three  levels  were  built  with  EVA  material  to  serve  as 
challenges,  and  while  the  user  faces  each  level,  the  application  collects  data  to  be  analyzed, 
each  attempt  from  each level corresponds to a score, and all theses attempts were recorded for 
the data analysis phase. 
All  of  the  involved  children demonstrated interest on the game, and completed at least 
the  first  level,  which  suggests  that  preschoolers  are  able  to  start  developing  programming 
skills  and  the  hypothesis  was  considered  true.  Furthermore,  the  main  objective  was  to 
understand  if  pre  scholars  could  develop  logical  problem  solving  skills,  and  was  indirectly 
reached.  The  9  experiments  confirmed  the  hypothesis  clarifies  that  young  children  with  4,  5 
and  6  years  old  were  able  to  develop  algorithms  while  playing  the  game,  as  presented, 
programming  helps  to  develop  problem  solving  skills,  which  leads  us  to  think  that  children 
can develop or improve this skill by playing this game category.  
Although  this  work  advocates  that  children  must  be  in  contact  with  technology,  and 
believes  that  the  next  generation  will  be  able  to  be  more  productive,  children  development 
will  be  augmented  by  letting  them  practice  programming,  it  is  important  to  understand  the 
risks,  and  this  work  presented  some  of  the  hazards  of unsupervised exposure to smartphones, 
tablets  and  internet.  People  in  general,  can  be  addicted  to  smart  devices, and develop a series 
of  psychological  and  physical  problems,  and  this  risk  is  higher on young children. Moreover, 
it  was  presented  ways  to  mitigate  the  dangers,  enabling  parents  and  teachers  to  introduce 
children to programming and the related technology in a proper way avoiding such problems.  
The  next  section,  states  possible  evolutions  of  this  work,  how  the  game  could  be 
improved,  and  how  other  studies  can  extend  this  work,  and  presents  reasons  to  continue  the 
work with introducing programming to young children. 
 
5.1 Future work 
This  work  stated  that  preschoolers  are  able  to  develop  algorithms, and tested it with 9 
children  from  3  different  ages  starting  from  4  years  old  in  the  same  city  in  Brazil,  a possible 
68 

extent  for  it  would  be  to  rerun  the  test  considering  more  children,  from  different  cities, 
possibly  from  different  countries, to make it more statistically relevant. Furthermore, a deeper 
understanding  of  how  children  interact  with  programming  could  be  achieved  by  collecting 
sociodemographic  data,  the  performance  could  be  compared  by  other  variables  than  just age, 
for  example,  gender  could  affect  the  results  in  some  way  that  only  considering  this  variable 
while analysing the data would be possible to determine. 
Another  interesting  possible  extent  of  the  research  would  be  to  test  even  younger 
children,  and  verify  if  3  years  old  children  are  also  able  to  develop  algorithms,  and  start 
developing  such  skill.  It  is  also  important  to  verify  if  the  game  created  is  interesting  to 
children  older  than  6  years  old,  if  so,  it  can  be  used  to  introduce  them  to  programming,  and 
then,  introduce  them  to  a  more  complex  environment  like  Scratch,  for  example,  moreover, 
tests  with  two  groups  can be made to understand if children that played the game can be more 
productive on such environment. 
Considering  that,  the  game  presented  on  this  work  can  be  improved  to  include  other 
programming  concepts,  such  as  procedure  calls  and  recursion,  another  version  of  the 
application  could  be  developed  to  include  more  boxes  with  trails  to  be  used  as  procedures 
being  called  other  boxes,  or  the  same  box  to  create  a  recursion. Enabling procedure calls and 
recursion  increases  the  complexity  of  the  levels  that  could  be  built  for  the  game  and  would 
better  prepare  the  children  for  higher  challenges  like  robotics  classes,  or  Scratch  classes, 
Figure  31  represents  a  prototype  of  a  possible  version  of  the  application  including  this 
features. 
 

69 

 
Figure 31:  New interface prototype for the tablet application. 
 

A  possibility  that  could  also  increase  the  complexity  of  the  designed  levels  would  be 
to  use  one  feature  available  on  Sphero's  development  kit, that is to change its color, obstacles 
considering  color  change  could  be  placed  on  new  levels  to  become  more  challenging,  future 
work  could  compare  qualitatively  the  difference  between  versions  of  the  game  to  identify  if 
children  are  more  interested  on  a  more  complex  game,  and  more  features  increasing  the 
difficulty  of  the  game  could  help  to  develop  programming  skills  even  more  and  it  could  be 
further investigated in future studies. 
 
 

 

70 

  References 
 
Alice , http://www.alice.org accessed on may, 3rd 2014. 
 
Bennett, S., Maton, K. and Kervin, L.  (2008), The ‘digital natives’ debate: A critical review of the 
evidence. British Journal of Educational Technology, 39: 775–786. doi: 
10.1111/j.1467­8535.2007.00793.x 
 
Bennett, S.  (2012). Digital natives. In Z. Yan (Eds.), Encyclopedia of Cyber Behavior: Volume 1 (pp. 
212­219). United States: IGI Global. 
 
 
 
 
Clements, D. H., & Gullo, D. F.  (1984). Effects of computer programming on young children’s 
cognition. Journal of Educational Psychology, 76(6), 1051–1058. 
 
Costa, Arthur L. , Developing Minds: Programs for Teaching Thinking. Revised Edition, Volume 2. 
ASCD, 1991. 
 
De Paiva, L. et al. Uma Experiência Piloto de Integração Curricular do Raciocínio Computacional na 
Educação Básica. In:  Anais dos Workshops do Congresso Brasileiro de Informática na Educação . 
2015. p. 1300. 
 
De Paiva, N.; Costa, J.  A Influência da tecnologia na infância: Desenvolvimento ou ameaça?. (2015) 
Available at http://www.psicologia.pt/artigos/textos/A0839.pdf accessed on November 4th, 2015 
 
Farias et al.  Pensamento Computacional em Sala de Aula: Desafios, Possibilidades e a Formação 
Docente. In: Anais dos Workshops do Congresso Brasileiro de Informática na Educação. 2015. p. 
1226. 
 
Fincher et al.  Comparing alice, greenfoot & scratch. In: Proceedings of the 41st ACM technical 
symposium on Computer science education. ACM, 2010. p. 192­193. 
 
Flannery et al.  Designing ScratchJr: Support for early childhood learning through computer 
programming. In: Proceedings of the 12th International Conference on Interaction Design and 
Children. ACM, 2013. p. 1­10. 
 
Holmquist, S.  "A multi­case study of student interactions with educational robots and impact on 
Science, Technology, Engineering, and Math (STEM) learning and attitudes" (2014). Graduate Theses 
and Dissertations.  http://scholarcommons.usf.edu/etd/5043 
 
Horn & Jacob , (2007). Designing Tangible Programming Languages for Classroom Use. Proceedings 
of the 1st international conference on Tangible and embedded interaction, February 15­17, 2007, 
Baton Rouge, Louisiana 
 
Horn et al , (2009). Comparing the Use of Tangible and Graphical Programming Languages for 
Informal Science Education,  Proceedings of the SIGCHI Conference on Human Factors in Computing 
Systems, April 04­09, 2009, Boston, MA, USA. 
 
Kelleher, C. & Pausch, R.  Lowering the barriers to programming: A taxonomy of programming 
environments and languages for novice programmers.  ACM Computing Surveys (CSUR) , v. 37, n. 
2, p. 83­137, 2005. 
71 

 
Lee, Jeong­Min ; EDUCATION, Early Childhood. A Study on Smart Phone Use Condition of Infants 
and Toddlers. development, v. 7, n. 6, 2013. 
 
Mattos, S. et al.  Introdução à Robótica e Estímulo à Lógica de Programação no Ensino Básico 
Utilizando o Kit Educativo LEGO® Mindstorms. In: Anais dos Workshops do Congresso Brasileiro 
de Informática na Educação. 2015. p. 1418. 
 
Mitchel, Martin, Fred, and Silverman, Brian  (1995) Building and Learning With Programmable 
Bricks. Logo Update Vol. 3 No. 3 
 
O'Connor, J. J. and Robertson E.F.,  Abu Ja'far Muhammad ibn Musa Al­Khwarizmi 1999. 
Available at  http://www­history.mcs.st­and.ac.uk/Biographies/Al­Khwarizmi.html  accessed on May 
19th, 2014. 
 
Papert, S . Mindstorms: Children, Computers, and Powerful Ideas. Second edition, Basic Books. 1980. 
 
Park, C.; Park, Y.  The conceptual model on smart phone addiction among early childhood. Int J Soc 
Sci Humanit, v. 4, p. 147­150, 2014. 
 
Pontes, Halley Miguel; Griffiths, M.; Patrão, I.  Internet addiction and loneliness among children 
and adolescents in the education setting: an empirical pilot study. Aloma: Revista de Psicologia, 
Ciències de l'Educació i de l'Esport, v. 32, n. 1, 2014. 
 
Prensky, M.  2001a. Digital natives, digital immigrants.  On the Horizon  9 (5): 1­6. 
http://www.marcprensky.com/writing/Prensky%20­%20Digital%20Natives,%20Digital%20Immigrant
s%20­%20Part1.pdf (accessed May 12, 2014). Archived at  http://www.webcitation.org/5eBDYI5Uw . 
 
Resnick, M. et al.  Digital manipulatives: new toys to think with. In:Proceedings of the SIGCHI 
conference on Human factors in computing systems. ACM Press/Addison­Wesley Publishing Co., 
1998. p. 281­287. 
 

Resnick, M. et al . Scratch: programming for all. Communications of the ACM, [S.l.], v.52, n.11, 
p.60–67, 2009.  
 
Resnick, M., Martin, F., Sargent, R. and Silverman, B.  (1996). Programmable Bricks: Toys to 
Think With. IBM Systems Journal, vol. 35, no. 3­4, pp. 443­452. Sargent, Randy, Resnick,  
 
Resnick, M.; Ocko, S.; Papert, S.  LEGO, Logo, and Design. Children's Environment. Q. 5, 4 (1988).  
 
Scratch , http://scratch.mit.edu/ accessed on may, 3rd 2014. 
 
Suzuki, H. & Kato, H.  Interaction­level support for collaborative learning: AlgoBlock—an open 
programming language. In: The first international conference on Computer support for collaborative 
learning. L. Erlbaum Associates Inc., 1995. p. 349­355. 
 

Tempel, M.  Logo: a language for all ages. Computer Science K­8: Building a Strong Foundation, 
[S.l.], p.22–23, 2012.  
 
Thomaz, S., Aglae A., Fernandes, C., Pitta, R., Azevedo, S. Burlamaqui, A., Silva, A., Goncalves 
L.M.G.  (2009) RoboEduc: A pedagogical tool to support educational robotics. FIE ’09 Proceedings of 
72 

the 39th IEEE International Conference on Frontiers in Education Conference. 779­784. IEEE Press, 
Piscataway, N.J 
 
 
Wagner, T . The Global Achievement Gap: Why Even Our Best Schools Don't Teach the New 
Survival Skills Our Children Need And What We Can Do About It. Basic Schools, 2008. 
 
Wing, Jeannette M . Computational thinking. Communications of the ACM, v. 49, n. 3, p. 33­35, 
2006. 
 
Wyeth, P. & Purchase, H.  (2002) Tangible Programming elements for young children. In: Extended 
abstracts from the proceedings of the CHI 2002 conference on human factors in computing systems, 
Minneapolis, Minnesota, April 2002. ACM Press, New York, pp 774–775. DOI 10.1145/ 
506443.506591 
 
Wyeth, P. & Wyeth, G.  Electronic Blocks: Tangible Programming Elements for Preschoolers. In 
Proc. Interact, IFIP (2001), 496­­503. 
 
Zach, R . Hilbert's Program, The Stanford Encyclopedia of Philosophy (Spring 2009  
Edition), Edward N. Zalta (ed.), available at 
http://plato.stanford.edu/archives/spr2009/entries/hilbert­program  accessed on May 19th, 2014. 
 
Zuckerman, O.; Arida, S.; Resnick, M.  (2005) Extending tangible interfaces for education: digital 
montessori—inspired manipulatives. In: Proceedings of CHI’05. ACM Press, New York, pp 859–868 
 
 
 
 

73