Anda di halaman 1dari 11

Uso de Scratch para la enseanza del Pensamiento

Lgico en nios de Valparaso - Chile

Cristian Vidal1

Vctor Zamora2 Pablo Conejeros3

RESUMEN
El principal objetivo de este trabajo es presentar los resultados de una
experimento de enseanza y uso de una herramienta computacional
animada, esto es, un lenguaje de programacin animado, para dar
solucin a un problema lgico definido, con, de manera implcita, la
aplicacin de pensamiento algortmicos. Como este experimento fue
realizado a estudiantes de un colegio de Valparaso, Chile, este trabajo
demuestra la potencial efectividad del desarrollo de lgica y pensamiento
algortmico en nios en Chile.
Para lograr su objetivo, este trabajo, primero, destacan las principales
propiedades de la herramienta utilizada, esto es, el lenguaje de
programacin Scratch, as como las ventajas potenciales de Scratch para
el desarrollo de la lgica y pensamiento algortmico en nios y
estudiantes de colegios en Chile, respecto a otros lenguajes de
programacin. Adems, este trabajo entrega detalles de la muestra del
experimento, describe los problemas lgicos a solucionar con el
experimento as como detalles de la aplicacin del mismo, para entonces
presentar los resultados obtenidos.
Palabras clave: Scratch, lgica, pensamiento algortmico, nios, estudiantes.

1 Profesor Departamento de Computacin e

Informtica, Facultad de Ingeniera, Universidad de


Playa Ancha. Avenida Leopoldo Carvallo 270, Valparaso, Chile. E-mail: cristian.vidal@upla.cl
2 Tesista de Ingeniera en Informtica, Facultad de Ingeniera, Universidad de Playa Ancha. Avenida
Leopoldo Carvallo 270, Valparaso, Chile. E-mail: vz.atensio@gmail.com
3 Tesista de Ingeniera en Informtica, Facultad de Ingeniera, Universidad de Playa Ancha. Avenida
Leopoldo Carvallo 270, Valparaso, Chile. E-mail: conesoft@gmail.com

INTRODUCCIN
Sin lugar a dudas, es relevante
para el ser humano, el desarrollo
de
pensamiento
lgico
para
analizar y solucionar problemas y
situaciones de su vida diaria [1].
Justamente, el desarrollo del
pensamiento lgico y algortmico,
esto es, mediante una secuencia
finita de pasos, para la solucin de
problemas
computacionales
es
esencial para la formacin de
especialistas de informtica y
computacin, actividad usualmente
realizada mediante la utilizacin de
lenguajes de programacin. El
aprendizaje
de
lenguajes
de
programacin requiere un dominio
de las sintaxis y semntica de
dichos lenguajes [2].
Como se seal previamente,
desarrollar el razonamiento lgico
y algortmico permite analizar
problemas y entregar soluciones
no
slo
para
sistemas
computacionales. Por ejemplo, en
situaciones de la vida diaria de
nios y estudiantes, como tener
una reunin importante a una hora
definida para realizar una tarea.
Claramente, para cumplir con el
propsito de estar a la hora en
dicha reunin, no muy antes de la
hora,
ni
estar
atrasado,
es
necesaria plantear una solucin
lgica y algortmica. La Figura 1
presenta un algoritmo usando
pseudocdigo de solucin a dicho
problema.
3

Algoritmo Llegar_a_la_Hora
Entrada: Da y Hora de Reunin
Direccin
Salida: Establecer_Alarma
Inicio
Leer Dia, Hora, Direccin
Tiempo = Tiempo_a_Direccin + 30
Fijar Alarma a Dia y (Hora Tiempo)
Fin
Figura 1. Algoritmo ejemplo
establecer horario de alarma.

para

De esta forma, presentar un


proyecto
para
desarrollar
el
pensamiento lgico y algortmico
en nios y estudiantes representa
una gran meta. Sin embargo, con
el
uso
de
lenguajes
de
programacin tradicionales, esta
meta
no
parece
del
todo
alcanzable.
Para reducir el aprendizaje de
reglas sintcticas y semnticas de
lenguajes
de
programacin
tradicionales, y para mostrar
elementos algortmicos tales como
movimiento,
condiciones,
y
repeticin de acciones, con la
adopcin de elementos multimedia
como imgenes y sonido, existen
lenguajes
de
programacin
animados como Scratch y Alice
[3] [4].
Justamente, en la bsqueda del
desarrollo del pensamiento lgico y
algortmico de nios y estudiantes,
este
trabajo
presenta
un
experimento de la enseanza y
aplicacin de Scratch con nios de

una escuela de Valparaso, Chile,


con lo cual se busca verificar la
viabilidad
del
desarrollo
del
pensamiento lgico y algortmico
en Chile en nios.
ANLISIS TERICO
Pensamiento Algortmico
Se denomina algoritmo a un grupo
finito de operaciones organizada de
manera lgica y ordenada que
permite solucionar un determinado
problema [5]. Se trata de una serie
de
instrucciones
o
reglas
establecidas que, por medio de
una sucesin de pasos, permiten
arribar a un resultado o solucin.
Segn los expertos en matemtica,
los algoritmos permiten trabajar a
partir de un estado bsico o inicial
y, tras seguir los pasos propuestos,
llegar a una solucin [6].
El pensamiento algortmico ayuda
a los estudiantes a pasar del
problema a su solucin algortmica.
Esto implica la capacidad de definir
y
enunciar
con
claridad
un
problema;
descomponerlo
en
subproblemas ms pequeos y
manejables;
y,
describir
una
solucin en un conjunto de pasos
bien definido. Esta capacidad para
analizar y dar solucin a problemas
es una habilidad importante para
todo ser humano, y en especial
para los estudiantes.
El problema est que en los nios
de educacin bsica, trabajar y
desarrollar
el
pensar
algortmicamente puede ser muy
complicado ya que la sintaxis y
4

semntica de las herramientas a


utilizar para dicho propsito no es
fcil de comprender para nios.
Como se mencion previamente, el
lenguaje de programacin animada
Scratch es muy buena herramienta
para introducir a los nios de una
forma ms fcil y adecuada en el
desarrollo del pensamiento lgico y
algortmico.
Lenguajes de Programacin y
Scratch
El proyecto Scratch, se inici en el
ao 2003, es un entorno de
programacin de computadores
desarrollado por un grupo de
investigadores
del
Lifelong
Kindergarten del Laboratorio de
Medios del MIT, bajo la direccin y
liderazgo del Dr. Michael Resnick
[7] [8]. Este proyecto cuenta con
el apoyo de la National Science
Foundation,
Fundacin
Intel,
Microsoft, Fundacin MacArthur,
Fundacin LEGO, Fundacin Codeto-Learn, Google, Dell, Fastly,
Inversoft, y el consorcio de
investigacin del MIT Media Lab[7]
[8].
Tal como lo indican [7] y [8], el
objetivo original de Scratch era
desarrollar
un
enfoque
de
programacin que atrajera a las
personas, sin importar la edad,
origen social, o educacional, al
desarrollo
de
soluciones
algortmicas sin las complejidades
de sintaxis y semntica de
lenguajes
de
programacin
tradicional, esto es, hacer de
Scratch
un
lenguaje
para

programar historias interactivas,


juegos,
animaciones
y
simulaciones fcil para todos sus
usuarios, quienes pueden adems
compartir sus creaciones con otros.
Desde el lanzamiento pblico en
mayo de 2007, el sitio Web de
Scratch [9] se ha convertido en
una vibrante comunidad en lnea,
en
donde
sus
miembros
comparten,
discuten
y
crean
nuevas
versiones
de
otros
proyectos. Tal y como lo seala
[9], Scratch ha sido llamado el
YouTube
de
los
medios
interactivos, ya que cada da,
usuarios de Scratch o Scratchers
de todo el mundo sube ms de
1.500 nuevos proyectos al sitio,
cuyo cdigo fuente se encuentra
disponible libremente para ser
compartido
con
los
dems
usuarios. La coleccin de proyectos
que se encuentra en este sitio es
tremendamente
diversa,
incluyendo
juegos
de
video,
boletines de noticias interactivas,
simulaciones cientficas, visitas
virtuales, tarjetas de cumpleaos,
concursos de baile de animacin, y
tutoriales interactivos, todos ellos
programados en Scratch.
El pblico principal en el sitio est
entre las edades de ocho y 16
aos,
aunque
un
grupo
considerable de adultos tambin
participa [9]. Al programar con
Scratch y compartir los proyectos
interactivos, se pueden aprender
importantes
conceptos
matemticos y computacionales,
as como la forma de pensar
creativamente,
razonar
5

sistemticamente y trabajar en
colaboracin: todas las habilidades
esenciales para el siglo 21. De
hecho, el objetivo principal no es
preparar a las personas para
carreras
como
programadores
profesionales, sino para nutrir una
nueva generacin de pensadores
creativos y sistemticos utilizando
la programacin para expresar sus
ideas.
Es importante sealar que, el
nombre Scratch proviene de la
tcnica de scratching utilizada por
los disc jockeys de hip-hop,
quienes juegan con la msica
haciendo girar los discos de vinilo
de ida y vuelta con las manos,
mezclando los clips de msica de
forma creativa. En la programacin
de Scratch, la actividad es similar,
mezclando grficos, animaciones,
fotos, msica y sonido [7][8].
Cuando
las
computadoras
personales se introdujeron por
primera vez en la dcada de 1970
y 1980 [7][8], hubo entusiasmo
inicial para ensear a todos los
nios a programar. En muchas
escuelas se ensea a millones de
estudiantes a escribir programas
simples en lenguajes como Logo o
Basic. En la dcada de 1980 se
presenta a Logo como piedra
angular para reflexionar sobre los
enfoques a la educacin y el
aprendizaje. Aunque algunos nios
y maestros fueron energizados y
transformados por estas nuevas
posibilidades, la mayora de las
escuelas pronto pasaron a otros
usos de las computadoras. Desde
entonces, las computadoras se han

vuelto omnipresentes en la vida de


los nios, pero pocos aprender a
programar. Hoy en da, la mayora
de la gente ve la programacin de
computadoras como una actividad
estrecha, tcnica, apropiada para
slo un pequeo segmento de la
poblacin.

Tal y como lo indican [7] y [8],


comnmente
las
personas
aprenden mejor y disfrutan ms
cuando trabajan en proyectos que
tienen un significado personal. Es
por esto, que el desarrollo de
Scratch, pone una alta prioridad a
dos criterios de diseo:

De acuerdo a [8] y [9], los bloques


de Scratch estn conformados para
encajar slo de manera que tengan
sentido sintctico. Las estructuras
de control (como siempre y
repetir) son en forma de C para
sugerir que los bloques deben
colocarse dentro de ellos. Los
bloques de los valores de salida se
conformaron de acuerdo a los tipos
de valores que devuelven: valos
para los nmeros y hexgonos
para
booleanos.
Los
bloques
condicionales (como si y repetirhasta) tienen huecos hexagonales,
lo que indica que se requiere un
booleano. Adems, Scratch est
diseado
para
ser
altamente
interactivo: slo basta con hacer
clic en un conjunto de bloques para
empezar a ejecutar el cdigo, esto
es, las acciones indicadas de
objetos, inmediatamente. Incluso
se pueden realizar cambios en un
conjunto de bloques mientras se
est ejecutando, por lo que es fcil
de experimentar con nuevas ideas
de forma incremental e iterativa.
Tambin
permite
crear
hilos
paralelos, para ello se pueden
crear
mltiples
conjuntos
de
bloques. El objetivo es hacer que
tanto la ejecucin en paralelo como
la
ejecucin
secuencial
sean
intuitivas.

* Diversidad: Esto queda reflejado


en el apoyo a muchos tipos
diferentes de proyectos (cuentos,
juegos,
animaciones,
simulaciones), por lo que las
personas que tengan muy diversos
intereses son capaces de trabajar
en proyectos que les interesan.

*
Personalizacin:
Para
las
personas resulta bastante fcil
personalizar sus proyectos de
Scratch con la importacin de fotos
y clips de msica, grabacin de
voces, y la creacin de grficos.
Por otra parte, el desarrollo del
lenguaje de programacin Scratch
est estrechamente unido con el
desarrollo del sitio web de Scratch
[7] [8][9]. Para que Scratch tenga
xito, el lenguaje est vinculado a
una comunidad donde la gente
puede apoyar, colaborar y criticar
unos a otros y construir sobre el
trabajo de los otros. De esta
forma,
para
fomentar
el
intercambio y la colaboracin
internacional, se ha puesto una
alta prioridad en la traduccin de
Scratch a mltiples idiomas. Por lo
que
se
ha
creado
una
infraestructura que permite a los
bloques
de
programacin
de
Scratch, que sean traducidos a
cualquier idioma con cualquier

conjunto de caracteres. Una red


global
de
voluntarios
ha
proporcionado traducciones para
ms de 40 idiomas. Los nios de
todo el mundo pueden compartir
ahora proyectos de Scratch con los
dems, en donde cada uno puede
ver los bloques de programacin
de Scratch en su propio idioma.
Tal y como lo indica [7], un
nmero creciente de escuelas en
todo el mundo, e incluso algunas
universidades (incluyendo Harvard
y la Universidad de California,
Berkeley), han incluido el uso de
Scratch como un primer paso en la
programacin.
Una
pregunta
natural es Qu viene despus? En
los foros de discusin de Scratch,
se encuentran debates sobre que
lenguaje de programacin se debe
utilizar despus de Scratch. En
ellos
tambin
se
encuentran
peticiones
para
aadir
caractersticas ms avanzadas a
scratch (como herencia de objetos
y estructuras de listas recursivas).
RESULTADOS
Caso prctico con Scratch
El caso de estudio de esta
investigacin se centra en la
escuela particular subvencionada
Ilusin N 364 la cual se encuentra
ubicada en la poblacin Emporchi
de Via del Mar, su director actual
es Gastn Pavez Ojeda y el
profesor de computacin que se
encuentra a cargo del curso y el
cual participo en el test realizado
se llama Adolfo Williams.

El curso de sexto bsico de la


escuela Ilusin cuenta con 15
alumnos los cuales visitaron la
universidad de playa ancha
en
donde se les realizo un tutorial de
scratch
y
posteriormente
2
preguntas en un test. La idea fue
dar a conocer Scratch a los
alumnos y sus distintos mdulos
que sirvieron para poder resolver
las
preguntas
que
fueron
solicitadas. Primero en Scratch se
les mostr el personaje principal
(un gato), este deba alcanzar un
racimo de tres peces que se
encontraba en la parte superior
derecha de la pantalla, para esto
los alumnos deban elegir el mejor
camino a recorren en torno a un
tringulo rectngulo que se dibuj
en la pantalla principal junto con
el gato y los peces, con esto se les
entrego la primera pregunta en
donde eligieron el mejor camino
para obtener uno de los peces,
luego
de
que
los
alumnos
respondieron la primera pregunta
se realiz la respuesta utilizando
Scratch y sus controles para poder
mover el gato en forma diagonal y
llegar al objetivo.
La Figura 2
presenta el escenario de nuestro
experimento con Scratch.
Como resultado de la primera
pregunta del experimento,
12
alumnos eligieron la respuesta
correcta que era caminar en forma
diagonal, los otros 3 respondieron
que el gato deba caminar en
forma recta y luego subir para
alcanzar uno de los peces. Cabe
sealar que la primera pregunta
fue realizada como un test inicial,

previo a las prcticas y enseanza


de Scratch.
Posterior al detalle de la solucin a
la pregunta 1 para que los
estudiantes se familiarizaran con
Scratch y el problema a resuelto,
se les indic a los estudiantes que
el gato deba comerse los tres
peces. Por lo tanto, se
les
pregunt a los nios qu deba
hacer el gato para poder realizar
esta nueva tarea. Para esto, se
entreg otra pregunta del test
donde el gato tendra que repetir
3 veces la secuencia para poder
comer los tres peces y mediante
las herramientas de Scratch. La
preunta era, Cmo el gato puede
comerse toda la comida de la
forma ms rpida posible, si el
gato puede comerse un pez en
cada viaje que realiza desde su
lugar de origen al que regresa
despus de comer? Se presentaron
como opciones de solucin 3
viajes, 5 viajes, y ninguna de las
anteriores
como
opciones
de
solucin. Despus de obtener la
respuesta
lgica
de
los
estudiantes,
el
problema
se
resolvi en Scratch y con la ayuda
de los estudiantes se realiz la
demostracin de la solucin. Para
esta
pregunta,
15
alumnos
respondieron correctamente.

Figura 2. Representa los caminos


posibles para obtener el objetivo.

Luego de aplicar el test a los


estudiantes se realiz una nueva
demostracin en donde la idea fue
mostrar cmo se poda optimizar la
series de instrucciones que se
dieron al gato para cumplir su
objetivo. Para esto, se mostr el
uso de una instruccin de repetir
instrucciones, es decir, un bloque
que permite repetir las acciones en
su interior, control de Scratch
denominada repetir x. Entonces,
para la solucin de la segunda
pregunta, se introduce la solucin
a la pregunta del test inicial en un
bloque repetir x, y se establece el
nmero de repeticiones a 3. La
Figura 3 presenta la solucin
Scratch a la pregunta 2 del test.
Con esto, los nios conocieron lo
que es un ciclo de repeticin y
como hacer ms fcil el trabajo en
Scratch.

reglas de algoritmia, ensear reglas


y leyes de diversos cursos de
ciencias. Por ejemplo, la segunda
pregunta del test aplicado en
experimento
de
este
trabajo,
podra ser usada para comprender
las propiedades de un tringulo as
como de sus leyes. Adems, esta
pregunta puede ser adaptada para
la enseanza de diversos tipos de
tringulos.

Figura 3. Serie de instrucciones


algortmicas.

CONCLUSIONES
Claramente, Scratch permite que
personas
en
general
puedan
analizar problemas para los cuales
desarrollar, y aplicar soluciones
lgicas y algortmicas, las que se
pueden probar y mejorar. Es decir,
mediante pruebas de ensayo y
error,
las
personas
pueden
desarrollar
y
mejorar
un
pensamiento algortmico.
Despus de este trabajo, que
representa una experiencia prctica
de la enseanza y uso de Scratch,
se puede afirmar, dados los
resultados
obtenidos
en
el
experimento aplicado, que Scratch
es una herramienta adecuada para
la educacin en Chile, ya que
gracias a sus elementos de
multimedia, es posible, mediante
9

Adems, al igual como lo seala


[10], mediante el uso de objetos,
es
posible
el
desarrollo
de
razonamiento algortmico, y Scratch
permite trabajar directamente con
las propiedades y acciones de
objetos. De esta forma, Scratch es
una herramienta adecuada para el
la enseanza de algoritmos y
programacin.
Como trabajo futuro, se espera
aplicar nuevos test prcticos para
validar el uso positivo de Scratch en
la educacin en Chile, de manera
de aplicar a proyectos para su uso.

[4]
Alice. Alice.org. Carnegie
Mellon. 1999. Fecha de consulta:
28 de Mayo de 2014.URL:
http://www.alice.org/index.php
[5]
Real Academia Espaola.
Diccionario
de
la
lengua
Espaola Conjunto ordenado y
finito de operaciones que permite
hallar la solucin de un problema.
Fecha de consulta: 28 de Mayo
2014.
URL:
http://lema.rae.es/drae/?
val=algoritmo
[6]
Cormen,
Thomas;
Leiserson, Charles; Rivest, Ronald;
Stein, Clifford (2009). Introduction
to
algorithms.
Cambridge,
Massachusetts: The MIT Press.
REFERENCIAS
[1]
CVNE. Centro Virtual de
Noticias
de
la
educacin.
Ministerio
de
Educacin
de
Colombia.
2006.
Fecha
de
consulta: 28 de Mayo de 2014.
URL:
http://www.mineducacion.gov.co/c
vn/166
5/w3-article-241894.html
[2]
L. Joyanes Aguilar.
Fundamentos de Pogramacin:
Algoritmos y Estructuras de Datos.
McGraw-Hill. 2003.
[3] Scratch. Scratch Imagina,
Programa, Comparte. MIT Media
Lab. 2007. Fecha de consulta: 28
de Mayo de 2014. URL:
http://scratch.mit.edu/
10

[7] M. Resnick, J. Maloney, A.


Monroy-Hernndez, N. Rusk, E.
Eastmond, K. Brennan, A. Millner,
E. Rosenbaum, J. Silver, B.
Silverman, Y. Kafai. Scratch:
Programming for All. Noviembre
2009.
[8] The Lead Project. Super
Scratch Programming Adventure!:
Learn to Program by Making Cool
Games. No Starch Press. 2013.
[9] MIT Media Lab. Ayuda sobre
Scratch - Acerca de Scratch. Fecha
de consulta 23 de mayo 2014.
URL: http://scratch.mit.edu/about/

[10] S. Cooper, W. Dann, R.


Pausch. Teaching Objects-first In
Introductory Computer Science.
Actas de SIGCSE03, 34th SIGCSE

Technical Symposium on Computer


Science Education, pp. 191-194.
2003.

11

12