You are on page 1of 45

UNIVERSIDADE FEDERAL DE PERNAMBUCO UFPE

CENTRO DE INFORMTICA CIN


PS GRADUAO EM CINCIA DA COMPUTAO

DEVELOPING PROGRAMMING SKILLS ON


DIGITAL NATIVE CHILDREN THROUGH THE
INTERACTION WITH SMART DEVICES
Defesa de Mestrado Profissional

Janeiro 2016
Jos Rafael Moraes Garcia da Rocha
Orientador: Prof. Vinicius Cardoso Garcia, PhD.
Co-orientadora: Taciana Pontual da Rocha Falco, PhD.

CIn.ufpe.br

Schedule

Introduction
Motivation
Problem
Hypothesis
Objectives
State of the art
Basic concepts and historical findings
Taxonomy
The Game, and the experiment
Motivation to build the game
Pilot
Method
Flaws
Improvements
Experiment
Risk assessment
Conclusion
Contributions
Future work

CIn.ufpe.br

INTRODUCTION
Motivation
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 (Wing);
Programming logic;
In 1980 Seymour Papert advocated that the educational
systems needed to adapt and change to include
programming classes. Where are we now?

CIn.ufpe.br

INTRODUCTION
Motivation
Logo (1967) -> Logo Turtle(1980) -> Valiant Turtle(1983)

CIn.ufpe.br

INTRODUCTION
Motivation
Most of approaches requires reading and/or writing skills,
setting barriers to toddlers;
With appropriate approaches programming can help the
development of other important concepts in STEM;
Children interacting with technology is probably an
undeniable scenario.
Very few approaches focusing on 4 y.o. average children
presents studies analysing the results of children's usage

CIn.ufpe.br

INTRODUCTION
Problems
Can preschoolers develop algorithms?
Do preschoolers increase their programming skills when
playing programming games?

CIn.ufpe.br

INTRODUCTION
Hypothesis
Programming games enable children to develop and
improve their programming skills.

CIn.ufpe.br

INTRODUCTION
Objectives
Main
Understand if not yet literate or recently literate children can develop
computational thinking skills by playing a game that smoothingly introduces them
to the concept of algorithm.

Secondary
Lower the barriers to programming for children by recreating the experience of the
Logo Turtle;
Identify if once developed initial programming skills, children are able to improve
them by practicing playing games.

CIn.ufpe.br

State of the art


Basic concepts and historical findings
Digital native x Digital immigrant and the gap between
them;
Algorithm: an ordered sequence of non-ambiguous steps
with a goal to accomplish;

CIn.ufpe.br

State of the art


Basic concepts and historical findings
MIT starts working on LOGO, a muti-paradigm
programming language.

CIn.ufpe.br

State of the art


Basic concepts and historical findings
Seymour Papert publishes "Mindstorms";
Logo is introduced to schools.

CIn.ufpe.br

State of the art


Basic concepts and historical findings
Valiant turtle is released to the public;

CIn.ufpe.br

State of the art


Basic concepts and historical findings
LEGO/Logo was introduced, language to control
programmable bricks;

CIn.ufpe.br

State of the art


Basic concepts and historical findings
Resnick studied children using the LEGO programmable
bricks;
"Logo Blocks" was created;

CIn.ufpe.br

State of the art


Basic concepts and historical findings
Digital manipulatives;
LEGO starts working on Mindstorms set of products;

CIn.ufpe.br

State of the art


Basic concepts and historical findings
Modified LEGO Blocks were turned into Electronic blocks
allowing children to create small systems;

CIn.ufpe.br

State of the art


Basic concepts and historical findings
Zuckerman's work on digital manipulatives produced
FlowBlocks and SystemBlocks
Stimulated children to socialize and practice programming using analogies.

CIn.ufpe.br

State of the art


Basic concepts and historical findings
MIT starts working on Scratch

CIn.ufpe.br

State of the art


Basic concepts and historical findings
Scratch is released to the general public;
Horn & Jacob's work on digital manipulatives introduced Tern
and Quetzal;

CIn.ufpe.br

State of the art


Basic concepts and historical findings
Resnick analyses how the community is using Scratch;
Roboeduc is released, a Brazilian approach on teaching
programming to children.

CIn.ufpe.br

State of the art


Basic concepts and historical findings
Greenfoot is released to the public
A tool focused on developing OO concepts and Java, capable of building games.

CIn.ufpe.br

State of the art


Basic concepts and historical findings
Roamer-Too is released;

CIn.ufpe.br

State of the art


Basic concepts and historical findings
ScratchJr was created, version focused on toddlers;

CIn.ufpe.br

State of the art


Basic concepts and historical findings
Holmquist's work using the Roamer-Too
Advocated that it is possible to develop STEM concepts using this kind of tool.

CIn.ufpe.br

State of the art

CIn.ufpe.br

State of the art


A taxonomy for approaches to introduce
children to programming
Kelleher and Pausch's work made in 2005 willing to
categorize every existing approach ever created;
Over 70 approaches were categorised;
They believed it was possible that every approach could
be classified into a unique category;

CIn.ufpe.br

State of the art


A taxonomy for approaches to introduce
children to programming
Teaching mechanics of programming
Lower the complexity of languages: BASIC
Avoid syntax errors;
Avoid typing: Logo Blocks, Scratch, Curlybot...

Social Learning
Side-by-side
web based

Providing reasons to program


Indirectly introduce basic computational thinking concepts: Games and challenges
(Robocode)

Empowering mechanics of programming


Develop programming skills on specific domains (Programming by rehearsal)
Create simulations using conditionals and actions (AgentSheets)
Create languages to specific domains (COBOL)
CIn.ufpe.br

The Game, and the experiment


Motivation to build the game

CIn.ufpe.br

The Game, and the experiment


Pilot
Tablet application to control the Sphero;
Scoring: number of commands * delta * number of
different commands;

CIn.ufpe.br

The Game, and the experiment


Pilot
3 different levels to challenge the users

CIn.ufpe.br

The Game, and the experiment


Method
For each test

Introduce the game to the child;


Invite the child to move the robot freely;
After 5 to 15 minutes invite the child to start the first level
When the child completes one level, it is possible to start the next one;
During the test collect pictures, videos and notes.

After the test


Analyze the data collected;
Compare with other results.

CIn.ufpe.br

The Game, and the experiment


Flaws

Confusing turning functionalities;


Left/Right definitions;
Turning arrow layout;
Ending with turning arrows lacks visual feedback;
Score calculation lack of accuracy;
Red trail on landscape position;
Lack of robot movement accuracy;

CIn.ufpe.br

The Game, and the experiment


Improvements
Placing corner indicators matching color with the turning
operations;
Changed turning arrow layout;
Feedback on turning operations;
Red trail orientation change;
Inserted obstacles on corners;

CIn.ufpe.br

The Game, and the experiment


Improvements
Scoring formula updated (5 * valid movement made *
Level);

CIn.ufpe.br

The Game, and the experiment


Improvements

CIn.ufpe.br

The Game, and the experiment


Experiment
4 year-old's: 1h average, most heterogeneous group

CIn.ufpe.br

The Game, and the experiment


Experiment
5 year-old's: 1h average

CIn.ufpe.br

The Game, and the experiment


Experiment
6 year-old's: 30m average

CIn.ufpe.br

Risk assessment
Risks

Loneliness x Addiction;
Depression;
Compulsion;
Agressiveness;
Obesity;
Diabetes;

CIn.ufpe.br

Risk assessment
Causes
Excessive use;
Unsupervised use;
Lack of maturity.

CIn.ufpe.br

Risk assessment

CIn.ufpe.br

Conclusion
Results
The tests suggests that the hypothesis is true;
Young children can develop algorithms;
Children performance rose, and new abilities like
debugging and reuse were presented after some time
playing the game;
Children interaction with new technologies is
unavoidable, but needs to be supervised.

CIn.ufpe.br

Conclusion
Future work

Rerun tests with more significant sample;


Include sociodemographic variables;
Verify if the game can be used with a different age range;
Children interaction with new technologies is
unavoidable, but needs to be supervised.

CIn.ufpe.br

Conclusion
Future work
Add procedure calls to the game.

CIn.ufpe.br

UNIVERSIDADE FEDERAL DE PERNAMBUCO UFPE


CENTRO DE INFORMTICA CIN
PS GRADUAO EM CINCIA DA COMPUTAO

DEVELOPING PROGRAMMING SKILLS ON


DIGITAL NATIVE CHILDREN THROUGH THE
INTERACTION WITH SMART DEVICES
Defesa de Mestrado Profissional

Janeiro 2016
Jos Rafael Moraes Garcia da Rocha
Orientador: Prof. Vinicius Cardoso Garcia, PhD.
Co-orientadora: Taciana Pontual da Rocha Falco, PhD.

CIn.ufpe.br