You are on page 1of 13

Aprendiendo a programar con Scratch, una experiencia gratificante.

JOSE VICENTE GRAU ALACREU


RESUMEN: La experiencia surge de la bsqueda de nuevas herramientas que me permitiesen
iniciar a la programacin al alumnado de primero de bachillerato de la asignatura Tecnologas de la
Informacin y la Comunicacin. Esta bsqueda la inicio al percibir cierto grado de frustracin en el
alumnado por no conseguir programas finales que les convenciesen en un periodo tan corto de
aprendizaje.
Descubrir y llevar al aula Scratch fue muy gratificante. El alumnado rpidamente se interes por
este lenguaje de programacin que les permiti crear, visualizar y compartir sus inquietudes en muy
poco tiempo.
PALABRAS CLAVES: Lenguajes de programacin, Cdigo abierto, Scratch, Imaginar, Programar,
Compartir, TIC.

1. Introduccin
2. Espiral del Pensamiento Creativo
3. Scratch
3.1.
Por qu decido utilizarlo?
3.2.
Descarga e Instalacin
3.3.
Soporte y Entorno de trabajo
3.4.
Comparte tu proyecto en la Red
4. Experiencia docente
4.1.
Movimiento y Apariencia
4.2.
Sonidos y Lpiz
4.3.
Control y Sensores
4.4.
Operadores y Variables
4.5.
Proyectos personales
5. Conclusin
6. Documentacin Web

1. INTRODUCCIN
La experiencia surge de la bsqueda de nuevas herramientas que me permitiesen iniciar a la
programacin al alumnado de primero de bachillerato de la asignatura Tecnologas de la
Informacin y la Comunicacin en el IES San Vicente Ferrer de Valencia. Esta bsqueda la inicio al
percibir, en aos anteriores, cierto grado de frustracin en el alumnado por no conseguir programas
propios de los que se sintiesen satisfechos.
Una vez visto el anlisis de problemas as como el diseo y la programacin de algoritmos con el
nico fin de aprender a programar, nos enfrentbamos a la no difcil tarea de aprender la sintaxis de
1 / 13

un lenguaje de programacin en un periodo muy corto de aprendizaje. Ante esta tarea, siempre
perciba cierto rechazo por parte del alumnado.
A travs de un curso del CEFIRE de Valencia, descubr y decid llevar al aula Scratch. El alumnado
rpidamente se interes por este lenguaje de programacin que les permiti crear, visualizar y
compartir sus inquietudes en muy poco tiempo.

2. ESPIRAL DEL PENSAMIENTO CREATIVO


Michel Resnick public en 2007 el artculo Sowing the Seeds for a more Creative Society Cultivando las Semillas para una Sociedad ms Creativa, en el cual expone que el conocimiento
por si mismo no es suficiente, el xito no depende exclusivamente de lo que se sabe sino en la
habilidad para pensar y actuar de manera creativa.
Michel Resnick dirige el grupo Lifelong Kindergarten en el Media Lab del MIT (Massachussets
Institute of Tecnology). Desde 2007, este grupo se encarga de desarrollar Scratch. En el artculo
citado anteriormente, Resnnick presenta Scratch como una nueva tecnologa desarrollada para
promover lo que l define como la espiral del Pensamiento Creativo. Cita textualmente En este
proceso, la gente se imagina lo que quiere hacer; crea un proyecto basado en sus ideas; juega con
sus ideas y creaciones; colabora y comparte sus ideas y creaciones con otros y reflexiona sobre sus
experiencias, todo lo cual le lleva a imaginar nuevas ideas y nuevos proyectos

3. SCRATCH
Scratch, en su pgina oficial, se presenta a si mismo como un lenguaje de programacin que facilita
crear tus propias historias interactivas, animaciones, juegos, msica y arte; y que adems, te permite
compartir con otros tus creaciones en la web.
3.1 Por qu decido utilizarlo?
Los motivos por los que decido apostar por Scratch en mis clases son los siguientes:

Ayuda a afrontar problemas y facilita la consolidacin del diseo de algoritmos.

Presenta una interfaz grfica sencilla, atractiva y en espaol.

No trabaja con cdigo sino con sentencias que se arrastran de un lado para otro, organizadas
por bloques y colores para facilitar su localizacin y aprendizaje.

Desde el principio, prcticamente sin conocimientos previos, podemos realizar creaciones y


ejecutarlas sin emplear tiempo aprendiendo la sintaxis de un lenguaje de programacin de
2 / 13

alto nivel. La asignatura dispone de un nico trimestre dedicada a la programacin, muy


pocas horas, y con Scratch esto deja de ser un problema. Adems la obtencin rpida de
resultados resulta motivador para el alumnado.

Los conceptos bsicos de la programacin como diferencia entre variable local y global,
sentencias de control de flujo (bucles, sentencias de condicin y sentencias de salto), entrada
y salida de datos, declaracin y operaciones sobre un array o vector, etc, se van aprendiendo
mientras se programan juegos.

En un lado de la pantalla tenemos el programa y en el otro la ejecucin del mismo. Las


modificaciones y los resultados son inmediatos, lo que incita a las pruebas sin temor al error.

Favorece el trabajo en grupo, ante la posibilidad de compartir objetos, programas y


proyectos.

La inclusin de elementos multimedia es inmediata. Podemos incorporar audio, texto, e


imgenes con suma facilidad.

Scratch es libre de cdigo abierto (aunque de desarrollo cerrado) por lo que puedo
descargarlo, instalarlo y distribuirlo entre el alumnado sin ningn impedimento.

Scratch es multiplataforma (Windows, Mac, Linux). En la Comunidad Valenciana


disponemos de LliureX, nuestra propia distribucin Linux basada en Ubuntu. Podemos
instalar Scratch directamente sin necesidad de hacer uso de una mquina virtual.

3.2 Descarga e instalacin.


La descarga de la aplicacin est disponible en la pgina principal oficial de Scratch.

Opcionalmente, solicita completar un formulario para recibir noticias de Scratch.

3 / 13

Pulsando el botn Continua para descargar Scratch accedemos a las diferentes opciones
multiplataforma disponibles. En nuestro caso apostamos por la versin para Ubuntu al tener
nuestros ordenadores trabajando bajo LliureX, una distribucin de Linux basada en Ubuntu.

Una vez descargado el paquete correspondiente, scratch_1.4.0.1-0ubuntu5_i386.deb,

pasamos a su instalacin,

4 / 13

pudiendo acceder a la ejecucin del programa desde Aplicaciones/Programacin/Scratch

3.3 Soporte y Entorno de trabajo.


Scratch nos proporciona soporte para comenzar a utilizarlo, facilitndonos en su pgina web:

Una gua de inicio.


Gua de Referencia.
Tarjetas de Scratch
Vdeos sobre Scratch
Preguntas Frecuentes FAQ
Foros Scratch

5 / 13

Como primera toma de contacto con el programa, conoceremos las diferentes reas del entorno de
trabajo.

3.4 Comparte tu proyecto en la Red.


Desde el momento en que nos registremos, dispondremos de un espacio donde publicar nuestros
proyectos, con tan solo hacer un simple clic, compartindolos con el resto de usuarios Scratch. De
la misma manera podremos enriquecernos con el estudio de los proyectos que el resto de usuarios
han publicado y que tambin estarn a nuestra disposicin.
Compartir nos permitir crear proyectos propios a travs de la modificacin o mejora de programas
de otros usuarios. El alumnado se da cuenta de la importancia de la reutilizacin de cdigo en la
programacin.

4. EXPERIENCIA DOCENTE
Aprovechando que las instrucciones estn agrupadas en un rea de familias de bloques, decid
seguir el siguiente protocolo:

Agrupar en parejas las 8 familias de bloques en las que se organiza Scratch. Esta asociacin
de familias se llev a cabo teniendo en cuenta que los conceptos bsicos de programacin
iban a ser expuesto, como es lgico, de menor a mayor dificultad.
6 / 13

Breve toma de contacto con las instrucciones de los bloques a trabajar.

Realizacin de una actividad guiada en la que se poda estudiar el funcionamiento de un


programa que utilizaba las ms significativas instrucciones de los bloques correspondientes.

Entrega, por parte del alumnado, de una actividad obligatoria cuya solucin se obtena a
partir de ciertas modificaciones de la actividad guiada estudiada anteriormente.

Para el alumnado que rpidamente adquiriera los conceptos se le propona una actividad de
ampliacin que requera modificaciones complejas de la actividad obligatoria o una nueva
actividad en la que necesariamente deban experimentar con instrucciones del bloque no
utilizadas hasta el momento.

Al finalizar, el alumnado tuvo que realizar su proyecto final personal. Partiendo de una idea propia,
fuimos consensuando posibilidades y viabilidad de la misma.
4.1 Movimiento y Apariencia.
En el bloque Movimiento, trabajamos la posicin, el desplazamiento y la orientacin de los objetos
y en el bloque Apariencia descubrimos que a un objeto le podamos modificar su tamao y color,
mostrar u ocultar, as como hacerle decir o pensar alguna cosa. Hicimos uso de alguna instruccin
del bloque Control para poder ejecutar unos ejemplos simples, aun sin ser explicadas en
profundidad como hara posteriormente.
Actividad guiada: Hicimos desplazarse a un objeto perro desde la esquina inferior izquierda hasta la
esquina inferior derecha, simulando la accin de correr y disminuyendo progresivamente su tamao
segn iba movindose.

Actividad obligatoria: El perro deba desplazarse a travs de las cuatro esquinas, simulando que
corra por el borde del escenario. Disminuyendo el tamao cuando se desplazaba en horizontal y
aumentndolo cuando el desplazamiento era vertical. En cada giro nos deca un mensaje que se
mostraba 2 segundos y al llegar al punto final deba cambiar el escenario.
Actividad de ampliacin: Incluimos un nuevo objeto que se desplazara a decisin propia pero que
mantuviese un dilogo bien sincronizado con el objeto perro. Adems, el escenario final deba ser
una imagen descargada desde Internet, personalizada con las herramientas clonar, llenar de color y
texto, del editor de fondos.
Reflexiones: Las actividades se realizaron mayoritariamente sin demasiados problemas y en un
espacio de tiempo muy corto. Nos sirvi como primera toma de contacto con el programa. El
alumnado se vio sorprendido por la sencillez con la que conseguan resultados. Algunos de ellos
7 / 13

encontraron dificultades a la hora de sincronizar el dilogo entre los dos objetos de la actividad de
ampliacin. Destacar que los ms rpidos en acabar, comenzaron a aadir otros objetos, estuvieron
experimentando con otras instrucciones no explicadas e incluso hicieron probaturas con
instrucciones de otros bloques.
4.2 Sonidos y Lpiz.
En el bloque Sonidos aprendieron a incluir audio en sus proyectos, ya sean los que trae Scratch, as
como importarlos desde su ordenador o directamente grabarlo a travs del micrfono y en el bloque
Lpiz vimos como dibujar.
Actividades guiadas: (1)Localizar un escenario que simule una discoteca e incluir varios objetos
que simulen estar bailando una msica de fondo y (2)Generar figuras geomtricas con el lpiz.

Actividad obligatoria: Capturar un mapa desde cualquier callejero de Internet y que un objeto fuese
dibujando el trayecto a seguir para ir de un punto a otro a la vez que escuchando una msica de
fondo el objeto nos iba comentando indicaciones de los puntos intermedios por los que iba pasando.
Reflexiones: Estos dos bloques resultaron muy vistosos y sirvieron para afianzarnos ms en el
manejo del entorno Scratch pero no le dedicamos demasiado tiempo dado que no inclua nuevos
conceptos de programacin. Por ello no se facilit una actividad de ampliacin. Tuvimos problemas
en algunos ordenadores cuando intentaron utilizar el grabador de sonidos, Scratch se bloqueaba.
4.3 Control y Sensores.
En el bloque Control tratamos como controlar el hilo de ejecucin de las instrucciones.
Aprovechamos para dejar a un lado los conceptos simples vistos hasta el momento y adentrarnos en
las estructuras de control, de vital importancia a la hora de programar. Expuse los diferentes tipos de
estructuras de control (de secuencia, de seleccin y de repeticin), con ejemplos comprendieron sus
funcionamientos y lo que fue ms importante, reforc el inters en que llegaran a ser capaces de
diferenciar cuando resulta ptimo utilizar una de las estructuras de control frente a las otras segn la
situacin que nos plantee el problema a resolver.
En el bloque Sensores conocieron como interactuar con eventos externos, as como con internos del
tipo color, distancia o posicin de un objeto,
8 / 13

Actividad guiada: Haba que dibujar un circuito similar al de la imagen. La variable NumPuntos se
inicializaba con 20 puntos. Aumentaba en 1 punto si el coche iba por la carretera gris, disminua 2
puntos si circulaba tocando el naranja y disminua en 5 puntos si lo haca sobre el color azul. En
caso de quedarse sin puntos apareca un mensaje indicando Has perdido y si por el contrario el
coche llegaba a la meta, franja roja, indicaba Has ganado.

Actividad obligatoria: Realizar las mejoras pertinentes para disponer de 3 vidas en la partida. Una
variable indicaba el nmero de vidas disponibles. Por otro lado, si se perda la partida deba quedar
todo el fondo rojo con el texto Has perdido y si se ganaba todo el fondo verde con el texto Has
ganado.
Actividad de ampliacin: Facilitndoles el cdigo de un sencillo juego de tenis, como los que
aparecieron con los primeros videojuegos, deban realizar las siguientes modificaciones:

La partida se dara por terminada al alcanzar 21 puntos alguno de los jugadores.

La velocidad de la pelota deba ir incrementando segn se iba alargando el punto. Al iniciar


un nuevo punto, la pelota se desplazara con su velocidad inicial.

Las raquetas iran reduciendo su tamao segn iba aumentando la duracin del punto. Al
iniciar un nuevo punto, las raquetas tendran su tamao original.

Reflexiones:

Las actividades comenzaron a tomar un cierto grado de complejidad, el cual gener


entusiasmo en el aula.

Inicialmente, al no estar acostumbrados al uso de estructuras de control comenzaron a


duplicar, triplicar instrucciones, etc, generando un cdigo de difcil comprensin que no
funcionaba, apareciendo en el alumnado seales de bloqueo. Ellos mismos, me solicitaron
9 / 13

una nueva explicacin de las estructuras de control. Se dieron cuenta de la importancia de


programar un cdigo claro y bien organizado, que les facilit su lectura y comprensin.

Con la actividad del circuito aprendieron que resolver problemas pequeos les ayudaba a
resolver otros ms grandes. Por ejemplo, no haca falta recorrer cada vez todo el circuito
para comprobar que si se llegaba a la meta el programa funcionaba correctamente, ms
sencillo probar el cdigo con un sencillo circuito con la meta muy cerca y una vez todo
funcionaba disear el circuito definitivo y reutilizar el cdigo implementado.

Se repiti la situacin de juegos en los que al perder una vida, las dos restantes se perdan de
inmediato. El error era que cada vez que se perda una vida inicializaban la variable
NumPuntos a 20 y posteriormente se posicionaban de nuevo en el punto de partida del
circuito. Si haban perdido la vida por estar tocando el color azul, la variable NumPuntos
rpidamente volva a ser menor que cero. Un simple cambio en el orden de las instrucciones
lo solucion todo.

En la actividad juego de tenis, como la pelota aumentaba su velocidad y las raquetas


disminuan el tamao, llegado el momento en que el punto se alargaba, aun impactando en
la pelota el punto lo daba por perdido al traspasar parte de la raqueta por lo que decidimos
poner los lmites velocidad mxima de la pelota y el tamao mnimo de la raqueta, de
manera que el juego resultara jugable.

Los ejercicios sirvieron como punto de partida pero cada alumno personaliz su programa
con mejoras que se les iban ocurriendo sobre la marcha: fondos originales, simulacin de
movimiento en la pelota, raquetas con estilo propio. Se creo una rivalidad positiva entre
ellos por conseguir el juego ms atractivo.

A pesar de la competitividad creada, las clases se convirtieron en un taller de programacin


donde los alumnos se ayudaban entre ellos, no paraban de surgir propuestas nuevas,
preguntaban por la viabilidad de sus alternativas, en definitiva, todos aprendamos de todos.

4.4 Operadores y Variables.


En el bloque Operadores incorporamos los operadores aritmticos, relacionales, lgicos y de
asignacin, la anidacin y precedencia de los mismos, as como el uso de nmeros aleatorios y
funciones bsicas.
En el bloque Variables integramos las variables, su uso y la diferencia entre variable local y global.
Igualmente, aadimos el uso, funcionamiento y operaciones de las listas.
Actividades guiadas:

Un objeto deba ir movindose por el escenario y cada 5 segundos, operacin a operacin,


nos deca la tabla de multiplicar del 6.

10 / 13

Tras rellenar aleatoriamente, con nmeros del 1 al 5, una lista de 10 elementos, se mostraban
en movimiento por pantalla los objetos 1, 2 , 3, 4 y 5. Estos objetos rebotaban al tocar en un
borde. El juego consista en ir pulsando los objetos en movimiento con el cursor. Cada vez
que un objeto era pulsado se eliminaba al primer elemento de la lista que lo contuviese. El
juego finalizaba al quedarse la lista vaca.

Nota: La lista permanecer oculta durante el juego.

Actividad obligatoria: Partiendo de la actividad anterior, hubo que realizar las modificaciones
pertinentes para que el juego funcionara con 7 objetos en vez de 5 y que un marcador nos informase
de la cantidad de nmeros que quedaban por eliminar.
Actividad de ampliacin: Mejorar la actividad obligatoria, dotando al juego de un cronmetro que
nos indicara el tiempo que estbamos empleando y que se emitiese el sonido de un clic y
desapareciese unos segundos cada vez que un objeto nmero era pulsado.
Reflexiones:

Si ya tenan idea de la importancia de reutilizar cdigo, con estas actividades qued ms que
comprobado que lo que comenzaron viendo como una opcin se convirti en una necesidad.

El mayor reto consisti en lograr que apareciese el tiempo empleado en finalizar el juego.
Inicialmente decidieron utilizar el cronmetro del bloque sensores pero eran incapaces de
conseguir pararlo. Algunos optaron por ocultar el cronmetro y que al finalizar el juego uno
de los objetos dijera el valor del cronmetro en ese momento. Problema, slo sabamos el
tiempo empleado una vez finalizado el juego, no durante el transcurso del mismo.
Finalmente, viendo que por ms que lo intentaban no se les ocurra nada, les propuse que
mostraran una variable a la que se le estuviese asignando permanentemente el valor del
cronmetro. La variable dejaba de actualizarse al finalizar el juego, resolviendo as que el
tiempo se detuviese.

Result reconfortante comprobar el empeo que dedicaron a intentar resolver el problema


del cronmetro. Requirieron mi opinin decenas de veces para que opinara respecto si iban
bien encaminados con los planteamientos alternativos que se les iban ocurriendo.

4.5 Proyectos personales.


Para finalizar, les propuse la realizacin de un proyecto final propio. Tan slo les requer que me lo
expusieran antes de comenzar, pudiendo as hacerles reflexionar acerca de la viabilidad del mismo
en el periodo de tiempo que disponan, incitarles con mejoras que aportaran complejidad al
proyecto y asesoramiento respecto a si el planteamiento inicial que tenan les poda llevar a obtener
la solucin o arrastrarlos hacia un camino equivocado.
Recordar que si estamos registrados en la pgina oficial de Scratch, adems de disfrutar de los
11 / 13

proyectos creados por otros usuarios, podremos descargarlos para estudiar su cdigo.

Algunos de los proyectos presentados por el alumnado:

Pulsando sobre cada uno de los proyectos se accede a su publicacin en el espacio que Scratch nos
facilita con el propsito de compartir.
12 / 13

5. CONCLUSIN
Aprendieron a compartir. A travs del estudio de proyectos realizados por otros usuarios
(descargados de la seccin compartir en la Web Scratch), algunos de ellos programas claros y bien
estructurados y otros que no lo eran tanto, aprovech para convencer al alumnado de lo importante
de la claridad del programa para su comprensin, deteccin de errores, cambios, mejoras y ahorro
de tiempo.
Aprendieron disfrutando. Con Scratch el alumnado cambi las frases y yo para que quiero saber
esto?, tanto esfuerzo para esto?, si lo hago a mano acabo antes,... por frases del estilo
cmo podra conseguir...?, me puedes ayudar a...?, alguien ha podido...?... Dejaron de
quejarse ante ejercicios que solicitaban la ordenacin de un vector y pasaron a dedicar horas en casa
para conseguir programar un juego que para su correcto funcionamiento deban aplicar diferentes
operaciones sobre una lista.
Aprendieron a programar. A lo largo de este trimestre el alumnado consolid los suficientes
conceptos de programacin como para sentirme muy satisfecho. En aos anteriores, nunca haba
percibido tanta predisposicin, inters y motivacin por aprender a programar en la totalidad del
grupo.
Scratch, result ser toda una experiencia gratificante. Motivo ms que suficiente por el que seguir
utilizndolo en cursos posteriores.

6. DOCUMENTACIN WEB

Sowing the Seeds for a more Creative Society - Cultivando las Semillas para una
Sociedad ms Creativa (traduccin al espaol por Eleonora Badilla-Saxe)

Lifelong Kindergarten

Scratch

ScratchED

Programaci senzilla d'animacions i jocs: scratch CEFIRE de Valencia (autoformacin).

Scratch for Budding Computer Scientists - Scratch para los futuros cientficos de la
computacin (traduccin al espaol por EDUTEKA)

13 / 13

You might also like