Scratch
Scratch
Scratch
SCRATCH
El famoso Laboratorio Multimedia del Instituto de Tecnología de Massachussets y la Universidad de Califor-
nia, los Ángeles, han venido desarrollando, durante los tres últimos años, un interesante proyecto educativo
enero de este año tuvo lugar el lanzamiento oficial de Scratch [1] para Windows y Mac, y se prevé que a
finales de este mismo año esté disponible la versión para Linux. POR MÁXIMO PRUDENCIO
N
o obstante, por tratarse de una ¿Qué es Scratch? Utilizar herramientas de programa-
evolución de Squeak, podremos Scratch es, para sus creadores, un ción como medio para alcanzar una
ejecutar la imagen de Scratch en medio de expresión mediante el cual mejor comprensión de las nuevas tec-
una plataforma Linux siempre que ten- los jóvenes y menos jóvenes pueden nologías no es nada nuevo, como tam-
gamos instalada la máquina virtual de expresar sus ideas y responde a la poco lo es la valoración educativa de
Squeak. Scratch es un entorno Squeak pretensión de proporcionar una los algoritmos de programación. Lo
que funciona, con algunas limitaciones, herramienta que facilite el uso de los novedoso es la sencillez del entorno
sobre cualquier máquina virtual Small- ordenadores de forma creativa, lúdico desarrollado por este equipo de
talk/Squeak. Por tanto, lo único que superando el modelo de formación investigación del MIT liderado por el
necesitamos es hacernos con la imagen tradicional, que viene utilizando las profesor Mitchel Resnick.
de Scratch y enchufarla a nuestra nuevas tecnologías para reproducir En cuanto herramienta de trabajo,
máquina virtual [2]. prácticas educativas obsoletas. Scratch es un proyecto de desarrollo
cerrado y código abierto. Es decir, al tarse con extensiones y modificaciones modo de trabajo consiste en arrastrar y
contrario de los proyectos convencio- del programa. No obstante, la versión soltar bloques en lugar de escribirlos.
nales de código abierto, el equipo de final para Linux diferirá visualmente y Y, por último, como LogoBlocks, Cri-
desarrollo no persigue la contribución será incompatible con la versión están- cketBlocks o PicoBlocks, utiliza blo-
de la comunidad de usuarios, sino que dard para evitar la confusión entre ques autoencajables que sólo ajustan si
se reserva la elaboración de la versión ambas versiones. son sintácticamente correctos, permi-
estándard. Por otra parte, es un pro- tiendo al usuario centrar su atención en
yecto de código abierto porque el Los Orígenes los algoritmos lógicos de programación,
equipo de desarrollo espera liberar el Scratch reconoce la aportación del en lugar de perder tiempo intentando
código fuente para mediados de este micromundo de Logo, los e-toys de desentrañar el esotérico código lingüís-
año, de modo que pueda experimen- Squeak y LogoBlocks como sus prece- tico de los tradicionales lenguajes de
dentes o fuentes en las que se ha inspi- programación.
rado. El lenguaje de programación de
Scratch, por un lado, se basa en Logo, Introducción a la
en especial en sus primitivas, y pre- Programación
senta un entorno en el que múltiples A pesar de haber sido ideado como una
objetos pueden evolucionar e interac- sencilla herramienta para jóvenes,
Figura 2: Metáfora de los bloques de cons- tuar. Por otro lado, como en Squeak Scratch ya ha demostrado ser un instru-
trucción. -lenguaje en el que está desarrollado- el mento valioso de introducción a la pro-
Sonidos en Scratch
Figura 7: Bloque cabecera. Los sprites pueden ejecutar sonidos
seleccionados de la librería de sonidos
abrirlos en la plataforma Scratch. De pregrabados de Scratch, importarlos o
este modo se favorece el intercambio y realizar grabaciones mediante la grabadora
el aprendizaje compartido de rutinas de de sonidos de Scratch. Una vez realizadas
programación, estudiando, modifi- las grabaciones, los nuevos sonidos se
cando y mejorando otros programas. incorporarán a la lista de los disponibles
para el proyecto en el que estemos
Sprites y Guiones trabajando. Para ver los sonidos asociados
Los proyectos de Scratch están hechos a un determinado sprite haremos clic sobre
de objetos llamados sprites que la pestaña Sounds.
resultan fáciles de manipular. Los Scratch reconoce archivos MP3, archivos
sprites son los gráficos con los que WAV, AIF y AU descomprimidos (codifica-
trabaja Scratch reconociendo los tipos dos con 8-bits o 16-bits, pero no con 24-
de formatos más habituales (jpg, gif, bits).
bmp y png). Podemos cambiar el
aspecto de un sprite dándole una forma Programar con Scratch lla, bien arrojándolos sobre el escenario,
o disfraz diferente, hacer que se Lo que hace verdaderamente atractivo a bien creándolos mediante la aplicación
parezca a una persona, un tren, una Scratch es la gran simplicidad con la que, Paint Editor, y dándoles vida arrastrando
mariposa o cualquier cosa. Se puede en muy poco tiempo, un usuario sin cono- al área de Scripts bloques de programa-
usar cualquier imagen como disfraz, cimientos de programación puede comen- ción.
dibujar una imagen con el Pintor, zar a elaborar y ejecutar sus propios pro- La programación de los sprites se
importar una imagen de nuestro disco yectos. resume en proporcionarles instrucciones
duro o, simplemente, arrastrarla desde El procedimiento consiste básicamente diciéndoles que se muevan, interpreten
una página web hasta el Escenario. en incorporar sprites y fondos a la panta- música o reaccionen a otros objetos. Para
LINUX USER • Squeak: Scratch
ción de opciones pulsando sobre la punta que comiencen con el encabezado al presio-
de flecha que oculta el menú. nar la bandera. Alternativamente, mediante
En la paleta de bloques encontramos, la tecla intro se obtiene el mismo resultado.
clasificados en ocho categorías en función
Figura 8: Informes. de su utilidad (movimiento, control, apa- Compartir con Scratch
riencia, sensores, sonidos, números, lápiz y Uno de los aspectos más interesantes de
variables), tres clases bloques: Scratch es la posibilidad de compartir ideas y
Bloques apilables: Estos bloques tienen proyectos con la comunidad de usuarios del
salientes en la parte inferior y huecos en la programa, permitiéndonos estudiar los
superior que permiten ajustar unos sobre guiones de otros proyectos y modificarlos
otros formando pilas. Algunos de ellos tienen libremente. El botón Share presente en el
Figura 9: Tipos de monitores de variables. una zona de entrada en su interior, donde se menú principal del programa nos permitirá,
puede escribir un número o elegir una opción mediante un golpe de tecla, subir nuestros
indicarle a un sprite lo que tiene que de una ventana emergente Un tipo especial proyectos a nuestro espacio personal en la
hacer, debemos unir bloques gráficos for- de bloques tiene forma de C abierta en cuyo página web del proyecto. Desde aquí podrán
mando pilas, denominadas guiones . Los interior se pueden insertar otras pilas de blo- ser ejecutados on-line mediante un player de
guiones se construyen seleccionando, en ques. java o descargados para poder ser estudiados
primer lugar, un objeto o fondo de escena- Cabeceras: Las cabeceras se distinguen por y modificados.
rio en la lista de sprites y deslizando blo- tener la parte superior redondeada, están des-
ques desde la paleta de bloques y arroján- tinadas a lanzar la ejecución de los guiones y Proyectos en Desarrollo
dolos sobre el área de scripts. Crear guio- se colocan en la parte superior de las pilas. En la actualidad, el equipo Lifelong Kinder-
nes (programas) consiste, pues, en ir Estos bloques esperan a que suceda un garten del MIT, desarrollador del proyecto,
uniendo bloques gráficos formando una evento, como que se presione una tecla, se continúa mejorando el programa y está re-
pila de instrucciones que se ejecutarán pulse la tecla intro o se haga clic sobre un elaborando la página web de Scratch, que
secuencialmente. Cuando se arrastra un sprite, para comenzar la ejecución de la pila pretende ser una plataforma multilingüe
bloque al Área de guiones, una marca de bloques que está debajo de ellos. que incluirá una biblioteca de sprites para
blanca indica dónde se puede soltar el blo- Informes: Estos bloques se han diseñado que puedan ser utilizados libremente por
que y formar una conexión válida con otro para que encajen en las zonas de entrada de sus usuarios.
bloque. otros bloques. Los informes se presentan con Además de la plataforma Scratch que per-
Para ejecutar un bloque y comprobar su dos siluetas y encajan sólo en los huecos con mita la compartición de proyectos, se está
funcionalidad bastará con hacer doble clic la misma forma. Los informes con bordes trabajando en un player para teléfonos
sobre cualquier parte de la pila, y se ejecu- redondeados representan números y encajan móviles en J2ME que permita ejecutar los
tará todo desde el comienzo al final del en bloques con huecos redondeados. Los proyectos de Scratch en este soporte y en
guión. Además, existe la posibilidad de informes con extremos terminados en punta una versión completamente en línea del
que Scratch nos muestre -en cada informan valores booleanos (verdadero y programa.
momento- el bloque que se está ejecu- falso) y encajan dentro de bloques con hue- Por otra parte, se estudia la posibilidad de
tando, destacando cada bloque a medida cos con extremos en punta. incluir en Scratch shariables, es decir, varia-
que se ejecuta. Esta característica puede Los informes con monitorización en el bles compartidas vía web.
resultar muy útil para encontrar errores en escenario presentan un marcador junto a Paralelamente, están trabajando en un
los programas y para ayudar a los nuevos ellos. Al señalizar el marcador se mostrará el tablero que incluye sensores de luz, sonido,
programadores a comprender el flujo de contenido de la variable en el escenario. La deslizador y botones, además de cuatro
ejecución de un programa. Para habilitar forma de presentación de los informes moni- resistencias de entradas para interruptores,
la ejecución controlada de los guiones torizados cambia al hacer doble clic sobre el sensores ligeros, de temperatura, etc. que
paso a paso seleccionaremos la opción propio marcador mostrando el nombre de la permitirán actuar con el mundo exterior a
start single stepping en el menú Extras del variable, con un marcador grande sin nombre través de Scratch. ■
menú principal de Scratch. o con un deslizador que permite manipular el
valor de la variable. Este último formato (des- RECURSOS
Tipos de Bloques lizador) únicamente está disponible para
[1] Página web de Scratch: http://scratch.
Algunos bloques tienen campos de texto variables creadas por el usuario. Para ajustar
mit.edu
editables, de forma redondeada, que per- los valores máximos y mínimos deberemos
miten modificar sus valores escribiendo hacer clic derecho sobre el marcador de la [2] Zona de descarga de Scratch: http://
llk.media.mit.edu/projects/scratch/
en su interior o arrojar sobre ellos bloques variable con deslizador, seleccionar la opción
download/
con esta misma forma. Otros tienen set sliden min and max y establecer los valo-
menús desplegables que facilitan la selec- res sus valores extremos. [3] Scratch para informáticos en ciernes:
http://www.eecs.harvard.edu/~malan/
Ejecución de Programas publications/fp079-malan.pdf
La banderola verde situada sobre la esquina [4] Entrevista a John Maloney: http://
weeklysqueak.wordpress.com/2007/
superior derecha del escenario permite
01/23/scratching-the-surface/
Figura 10: Ejecución de programas y guiones. comenzar la ejecución de todos los guiones