Iniciándose en la programación con scratch Imprimir
SOFTWARE - Programación
Xoves, 24 Xullo 2008 11:14
There are no translations available.

Conoce esta herramienta basada en piezas encajables que sirven para construir pequeños programas que nos van a permitir iniciar al alumnado en el mundo de la programación.

 

OBJETIVOS

  • Conocer el funcionamiento básico de la herramienta Scratch
  • Hacer un pequeño programa con la herramienta
  • Explorar algunas posibilidades didácticas

INTRODUCCIÓN

Como apuntábamos en el artículo de introducción a la programación para los más jóvenes, SCRATCH es una de las herramientas que nos van a permitir comenzar a utilizar un lenguaje de programación de una manera simple pero eficiente.

Se utiliza la metáfora de "piezas encajables" para animar objetos que se encuentran en la pantalla, con un uso muy sencillo e intuitivo.

Scratch se utiliza desde un "entorno de desarrollo" que muestra de un sólo golpe de vista todos los elementos necesarios: escenario, objetos y elementos del lenguaje.

Podemos tener tantos escenarios y objetos como deseemos, utilizando aquellos que ya están disponibles con la instalación estándar de la herramienta, o bien creando los nuestros. Este es un factor motivacional más a la hora de trabajar con el alumnado desde edades tempranas.

Los elementos disponibles no son únicamente dibujos, sino también sonidos. Podemos utilizar los que vienen por defecto, añadir sonidos nuevos desde la web del proyecto, o incorporar nuestras propias grabaciones, bien a través de la grabadora incorporada en el entorno, bien a través de cualquier otra herramienta externa.

Prácticamente todo se lleva a cabo arrastrando y soltando elementos con el ratón, y modificando con el teclado únicamente valores numéricos, textos...

DESCARGA E INSTALACIÓN DEL PROGRAMA

Directamente, desde la web del proyecto: http://scratch.mit.edu/


En la zona "Descargar Scratch" podemos encontrar un instalador para Windows y Mac. No hay aún paquetes específicos para Linux (indican que están trabajando en ello), pero existen unas instrucciones (en inglés) sobre cómo hacerlo funcionar bajo distintas distribuciones de este sistema en los foros del proyecto:

http://scratch.mit.edu/forums/viewtopic.php?id=21

Para los menos familiarizados con el inglés, también existe un tutorial sobre cómo instalarlo en Linux, paso a paso (¡en español!), que se menciona en dicho foro:

http://eccp.blogspot.com/2007/01/cmo-instalar-scratch-en-linux.html

Una vez instalado Scratch en nuestro sistema, estamos preparados para utilizarlo por primera vez.

PRIMERA EJECUCIÓN DE SCRATCH. CAMBIAR EL LENGUAJE POR DEFECTO.

En la primera ejecución del programa, el entorno se encuentra en inglés:


Para cambiar el idioma, simplemente debemos pulsar sobre el botón "Language", seleccionar "Español"...


Y ya tenemos nuestro entorno en castellano.

ELEMENTOS DEL ENTORNO

  • Menú:

  • Bloques o elementos del lenguaje (cambia en función de la categoría seleccionada):

  • Zona de programación del fondo u objeto seleccionado:

 

  • Las "pestañas", que nos permiten modificar las características del objeto seleccionado.

     

    Si es un "sprite" (una figura que podemos animar), tenemos las opciones de "Programas" (scripts), "Disfraces" y "Sonidos":

Si es el escenario, tenemos "Programas", "Fondos" y "Sonidos":

  • Paleta de herramientas, botones de ejecución, escenario y lista de objetos (sprites):

 

 

SELECCIONAR OBJETO, ARRASTRAR Y SOLTAR

Como dijimos en la introducción, se utilizan "piezas" que se encajan entre sí para crear los programas (programas que normalmente son animaciones, pero no únicamente). Cuando abrimos el entorno, encontramos por defecto el "gato" que representa a Scratch en la "pizarra" de ejecución (escenario).

Tenemos por tanto un escenario, al que podemos añadir tantos fondos como deseemos (editándolos desde el entorno o cargándolos desde fichero), y los objetos que deseemos añadir (también se pueden crear en el escenario o bien cargarlos desde archivo).

Para programar cada uno de los elementos, basta con seleccionarlo con el ratón desde la lista de objetos:

Inmediatamente, el entorno se prepara para recibir las órdenes asociadas al elemento seleccionado:

Si por el contrario, seleccionamos el escenario:

 

El entorno se adecua al nuevo motivo, para que podamos establecer sus propiedades:

Para añadir órdenes al objeto seleccionado, basta con seleccionarlo y arrastrar los bloques que lleven a cabo las acciones que deseemos "ordenar" al mismo. Conviene comenzar el bloque por un elemento de control de "Al presionar...", que se puede encontrar el primero al seleccionar los bloques de "control":

Arrastraremos el elemento a la zona de elaboración de "scripts":

Así podremos ir "encajando" piezas, hasta formar nuestro programa, e incluso añadiendo elementos de repetición, de bifurcación, etc. Veamos un programa sencillo ya elaborado, seleccionando "piezas" de los diferentes tipos (Movimiento, Control, Apariencia, Sonido...):

Este pequeño programa hará que el "Objeto1", al presionar la "bandera verde" de ejecución, repita 20 veces la siguiente secuencia: moverse cinco pasos, cambiar disfraz y tocar el sonido "miau".

Si por el contrario, quisiéramos que el sonido "miau" sólo sonara al final de la repetición de la secuencia, el encaje de bloques debería ser algo así:

"HOLA MUNDO" CON SCRATCH

Como dijimos más arriba, cuando iniciamos un nuevo proyecto aparece siempre por defecto un escenario en blanco con nuestro ya conocido gato "Scratch" en medio del mismo.

Vamos a crear una secuencia diferente, representando nuestro primer programa con Scratch.

La secuencia sería la siguiente:

  1. Crear el escenario y los objetos

  2. Modificar el fondo blanco del escenario por otro de los que se incluyen en la instalación estándar del programa

  3. Eliminar el objeto del gato y añadir un nuevo objeto desde la biblioteca de elementos incorporados

  4. Programar el elemento para que al iniciar la ejecución se posicione en la parte inferior izquierda de la pantalla y se desplace hasta el lateral derecho, caminando y "diciendo algo" al final...

Arracaremos Scratch o pulsaremos el botón "Nuevo" si ya estaba abierto y hemos realizado alguna modificación en el entorno. Si Scratch nos pregunta si queremos guardar el proyecto actual, contestaremos "No".

Elegiremos la herramienta borrar y pulsamos sobre el objeto que vamos a eliminar, en este caso, el gato:

Ya tenemos nuestro escenario en blanco. Ahora, elegiremos la opción de "Pintar objeto nuevo":

En el "editor de pinturas", seleccionaremos "Importar":

Abriremos la carpeta "Animals" (animales):

Seleccionamos a nuestro primer protagonista: "bat1-a":

Una vez en el editor de pinturas, le modificaremos el tamaño para hacerlo un poco más pequeño. Después, pulsaremos "Aceptar".

Ya tenemos nuestro objeto en el escenario. Ahora, le vamos a añadir un segundo "disfraz", para poder dar la sensación de que está "volando".

Seleccionamos la pestaña "Disfraces", para poder "importar" un disfraz nuevo, en este caso, "bat1-b". Lo reduciremos también, si procede:

Ya tenemos un objeto (llamado "Objeto1") con dos disfraces, y situado en el centro de la pantalla:

Vamos a cargar también un nuevo escenario para darle un poco más de entidad a nuestro "objeto". Para ello, seleccionamos "Escenario":

Seleccionamos "Fondos -> Importar":

Seleccionamos "Nature":

Y elegimos el fondo que nos guste más. En nuestro caso, vamos a escoger "Stars":

Ahora, vamos a programar el desplazamiento de nuestro murciélago, "montando" el puzzle con las siguientes piezas. Recordemos que basta con arrastrar y soltar cada pieza, eligiéndola de las secciones que corresponda. Hacemos "clic" en la pestaña "Programas", teniendo a nuestro "Objeto 1" seleccionado:

Y ahora empezamos a arrastrar, en el orden indicado, hasta que obtengamos el programa que se puede ver en la imagen:

1) Control

2) Movimiento

Nótense los valores de x e y.

3) Control

Nótese el valor "20"

4) Movimiento

Nótese el valor "5"

5) Control

Nótese el valor "0.25"

6) Apariencia

 

 

 

El programa resultante sería algo así:

Si ahora pulsamos sobre la bandera verde de la zona superior derecha de la pantalla, podremos ver a nuestro murciélago realizar algo "similar" a un vuelo...

Podemos guardar nuestro proyecto con el botón "Guardar" del Menú. Ya tenemos nuestro primer "script" con Scratch construido. Ahora, podemos "jugar" con él y modificar valores para ver cómo queda el vuelo, por ejemplo, con un tiempo de espera inferior o superior, colocando a "Objeto1" en otro lugar de la pantalla, etc.

Obviamente, podemos añadir otros elementos y "programarlos" para que realicen por la pantalla el movimiento que nos parezca oportuno, que se escuchen determinados sonidos, etc.

Un factor motivacional importante es que el alumnado puede elaborar sus propias creaciones (dibujos, imágenes, fotografías, sonidos, etc.) e incorporarlos a Scratch y a su proyecto en particular a través de la opción "Importar" tanto de la sección "Objetos" como "Escenario".

Podemos complicar nuestro proyecto y añadirle otros elementos, de manera que con cada aleteo se escuche un "pop" y el personaje diga o piense "algo" al finalizar su "viaje"...:

En este caso hemos utilizado elementos de Control, Movimiento, Apariencia y Sonido. Pero podemos añadir contadores, variables, y un largo etcétera. Por ejemplo, podemos crear una variable que se incremente y que provoque la ejecución de un evento determinado...:

Así, el programa:

Al presionar la bandera verde, el objeto se desplaza a la posición (-140,-30).

 

Se fija el valor de la variable "Tocar" (la variable se crea en la pestaña "variables") a 0 en cada ejecución. Se repite la ejecución de movimiento 20 veces. En cada pasada, se comprueba si el resto de "Tocar" dividido entre 5 es igual a 0, y en este caso toca el sonido "Pop" (es decir, va a tocar "pop" en los valores 5, 10, 15, 20...).

 

Para que "Tocar" incremente su valor en cada pasada, añadimos la sentencia "cambiar Tocar por 1".

 

Cuando nuestro objeto ha llegado a la repetición 20, piensa "¡Llegué!" durante dos segundos.

En pantalla se puede muestra el valor de la variable "Tocar"...

... la cual se ha generado en la opción correspondiente...:

Las variables pueden ser "locales" al objeto o globales para el programa. Si son globales, nos servirán para que los diferentes objetos interactúen entre sí y con el escenario.

Esto es útil, por ejemplo, para cambiar los escenarios dadas las condiciones que nosotros establezcamos.

Como podemos ver con este simple ejemplo, de una manera sencilla e intuitiva estamos manejando conceptos avanzados de programación, en un entorno de ejecución controlado y fácil: variables, bucles, eventos, propiedades y métodos de objetos, etc.

PROPUESTAS DE TRABAJO POR NIVELES

Una de las cosas más interesantes de Scratch es la capacidad de utilizar materiales externos a la propia herramienta, elaborados por el alumnado, de manera que lo que ellos preparan (sus propias fotografías, sus dibujos e imágenes, su música...) puede ser incorporado al programa a través de las opciones de importación.

Otra de las características que convierten a Scratch en una herramienta colaborativa interesante es la posibilidad de compartir las creaciones que desarrollamos con la herramienta en la misma Web de la aplicación, a través de la opción "Compartir", disponible desde el propio entorno de desarrollo. Para esto hace falta haber creado previamente un perfil (una cuenta de usuario) en la web oficial de Scratch. El propio programa se encarga de comprimir todo el material utilizado y enviarlo a la web para ponerlo a disposición del resto de usuarios de Scratch repartidos por el mundo.

Sin necesidad de enviar los materiales a la web oficial de Scratch, es evidente que también entre nuestro alumnado podemos fomentar la compartición de recursos, de manera que todos puedan utilizar los materiales elaborados por todos, y así crear trabajos derivados de los mismos.

Las sugerencias siguientes no pretenden agotar las posibilidades disponibles, sino sugerir únicamente algunas actividades que pongan en marcha al grupo. Seguro que una vez que comencemos a utilizar la herramienta, se nos ocurren muchísimas posibilidades para explorar con nuestro alumnado desde diversas áreas del currículo...

EDUCACIÓN PRIMARIA

En un artículo anterior dijimos que Scratch se puede comenzar a utilizar con alumnado a partir de los 8 años de edad (aunque para comenzar a utilizar algunas de las funcionalidades deberíamos esperar, seguramente, hasta los 10 años de edad). Estamos hablando de alumnas y alumnos de 3º de Primaria. Dependiendo de la madurez del grupo, podremos llegar a utilizar más o menos elementos del lenguaje, y a construir "scripts" más o menos complejos.

Podemos comenzar a utilizar la herramienta cuando deseemos, incluso con alumnado muy joven, haciendo uso únicamente de proyectos ya realizados, los cuales pueden visualizar, o con los que pueden interactuar, para ir conociendo la herramienta, familiarizarse con el entorno y los personajes, etc.

A partir de segundo Ciclo, la propuesta sería comenzar a utilizar la herramienta como una forma de contar historias. Podemos ubicar personajes y crear diálogos entre ellos, hacer que se desplacen por la pantalla, etc.

También podemos "jugar" con Scratch a la manera de la consabida tortuga de Logo, haciendo que nuestros personajes dibujen por la pantalla imágenes o diseños a través de la construcción de nuestro script­:

 

Ni que decir tiene que Scratch, como cualquier herramienta de programación, es una magnífica calculadora. Aquí hemos hecho una pequeña "trampa" para que se nos muestre como fondo el resultado de la suma de dos números aleatorios...:

Se pueden utilizar, obviamente, los "objetos" y "disfraces" ya disponibles que contienen letras y dígitos.

Para finalizar, en cualquiera de los cursos de Primaria podemos comenzar a trabajar con el análisis de pequeños programas ya realizados para mejorarlos, cambiar los elementos de una aplicación para personalizarlos, etc.

EDUCACIÓN SECUNDARIA OBLIGATORIA

Comenzamos a poder trabajar más profundamente conceptos abstractos.

En primer lugar, y sin perjuicio de que esto se podría comenzar en algún curso anterior, podemos comenzar a asignar eventos a nuestros personajes, a utilizar el teclado y el ratón para manejar los objetos, y sobre todo a asignar acciones que ocurren cuando varios objetos interaccionan entre sí. Así podremos conseguir efectos interesantes, que se irán complicando sucesivamente según se vayan adquiriendo nuevas habilidades:

 

Un elemento interesante que se puede trabajar en la ESO (probablemente antes también, según las características del grupo) son los "mensajes" que unos objetos pueden enviar a otros. Cuando se produce una condición determinada, un objeto "envía un mensaje" a otros objetos, de manera que estos lleven a cabo una acción determinada.

En las siguientes imágenes establecemos que un objeto que se desplaza por la pantalla envíe un mensaje al resto de objetos cuando se da una determinada condición. En el momento de producirse dicho mensaje, el escenario se modifica para dar paso al fondo siguiente que hayamos generado en nuestra aplicación:

A PARTIR DE SECUNDARIA OBLIGATORIA...

En todas las etapas educativas donde se vaya a trabajar cualquier herramienta que sirva para comenzar a programar un PC, hay que intentar plantear las actividades evitando que nuestro alumnado se "lance" a programar inmediatamente con el teclado delante del PC sin hacer ningún tipo de planificación previa.

Entendemos que antes de comenzar a diseñar cualquier pequeña historia, script o aplicacion, se debe comenzar haciendo un diseño básico de lo que se pretende hacer, una planificación del trabajo, una distribución del mismo, etc.

De alguna manera, este es un hábito de trabajo que se debe adquirir en general con cualquier actividad que se lleve a cabo en el aula, pero es especialmente relevante hacerlo explícito en cualquier actividad relacionada con la programación.

Si en todas las etapas educativas esto sería importante, a partir de los últimos cursos de la ESO y obviamente en cualquier etapa posterior, podemos establecer un sistema de trabajo más similar al que se plantea en equipos y entornos de desarrollo reales, sin dejar por ello de mantener los factores motivacionales que hemos estado defendiendo en todas las etapas anteriores.

También a partir de 3º de la ESO (y específicamente en las etapas posteriores) se podrán elaborar diagramas de flujo, plantillas con el pseudocódigo de la aplicación / historia que vamos a desarrollar, etc.

En definitiva, en todas las etapas (teniendo en cuenta que a mayor edad, mayor nivel de exigencia al respecto), hay que establecer un sistema de trabajo en el cual...:

  1. Se planteen en común los objetivos de la actividad que se va a realizar.

  2. Se establezca claramente el resultado final que esperamos obtener.

  3. Se favorezca la creación de grupos heterogéneos en los que podamos tener alumnado diverso para favorecer también creaciones diversas.

  4. Los grupos se planteen, diseñen, planifiquen y valoren qué actividad van a realizar y cuáles son los requisitos para llevarla a cabo.

  5. Se establezcan fechas y rutinas de “entrega” de trabajos parciales, si procede

  6. Se establezcan las responsabilidades de cada miembro dentro del grupo, los momentos de trabajo individual, de trabajo en subgrupos y de trabajo en común.

  7. Se lleve a cabo sesiones de planificación y se manejen "documentos" (dependiendo de la edad, éstos serán simples diseños o plantillas y cuadros más complejos...) con los requisitos, con las fechas de entrega, con los elementos diseñados, con las fórmulas de integración de los mismos, con los diagramas de flujo, los "story-boards", o lo que corresponda.

  8. Se prueben los resultados obtenidos y se valoren por parte de todo el grupo, así como por agentes externos al mismo.

  9. Por último, se "libere" el resultado final del proyecto que se ha llevado a cabo, y se modifique si procede o si se desea en función de las sugerencias de todos aquellos que han podido acceder al mismo.

DOCUMENTACIÓN DE INTERÉS SOBRE SCRATCH

Web oficial del proyecto:

http://scratch.mit.edu/

Wiki de soporte:

http://scratch.wik.is/Support/

Documentación en castellano:

http://scratch.wik.is/Support/In_many_languages/Espa%c3%b1ol_%2f%2f_Spanish

y en catalán:

http://scratch.wik.is/Support/In_many_languages/Catal%c3%a0_%2f%2f_Catalan

Guía de inicio rápido:

http://scratch.wik.is/@api/deki/files/107/=GuiaDeInicioScratch.pdf

Artículo en Linux-Magazine:

http://www.linux-magazine.es/issue/28/078-082_ScratchLM28.crop.pdf

"Central Secreta Scratch":

http://edu.mec.gub.uy/banco%20de%20recursos/webscratch/index.htm

Justificación teórica del Proyecto Scratch:

http://badajoz07.opensourceworldconference.com/virtual/scratch.pdf