http://programamos.es
@programamos
Curso Scratch: creación de aplicaciones y uso
como herramienta didáctica
Huertas Fernández, José Ignacio
@jihuefer // joseignacio@programamos.es
Moreno León, Jesús
@j_morenol // jesus.moreno@programamos.es
Abril 2014
1
Programamos.es Videojuegos y Apps
http://programamos.es
@programamos
©Programamos, Abril de 2014
Algunos derechos reservados.
Este artículo se distribuye bajo la licencia“Reconocimiento-
CompartirIgual 3.0 España" de CreativeCommons, disponible en
http://creativecommons.org/licenses/by-sa/3.0/es/deed.es
Este documento (o uno muy similar)
está disponible en (o enlazado desde)
http://programamos.es
Licencia
http://programamos.es
@programamos
¿Qué haremos hoy? Primer día.
● ¿Por qué enseñar a programar a escolares?
● Introducción a la herramienta Scratch.
● Audio y gráficos.
● Bucles y condiciones.
● Paralelismo y eventos.
● Operaciones matemáticas y lógicas
● Sincronización de procesos.
● Variables y listas
http://programamos.es
@programamos
¿Por qué enseñar a programar a escolares?
http://programamos.es
@programamos
● Beneficios educativos:
● Mayor capacidad de atención y concentración.
● Mejores resultados en pruebas matemáticas, de razonamiento y de
resolución de problemas.
● Desarrollo de la creatividad, la innovación y el emprendimiento.
● Desaparecen estereotipos de género en relación a las carreras
STEM.
¿Por qué enseñar a programar a escolares?
http://programamos.es
@programamos
¿Por qué enseñar a programar a escolares?
http://programamos.es
@programamos
Scratch: Introducción a la herramienta
● Scratch es una herramienta que permite programar
videojuegos y animaciones de forma visual y sin requerir
apenas conocimientos previos de programación.
● Versiones: 1.4 vs 2
● Podemos acceder online: http://scratch.mit.edu/
● Existe la posibilidad de realizar la instalación para usarlo
offline:
● En Windows o Mac
● En Ubuntu
http://programamos.es
@programamos
Scratch: Introducción a la herramienta
● Para empezar a utilizarlo tan solo hace falta Internet,
un navegador y que tu SO no se lleve muy mal con
Flash ;-)
● Si no tenemos Internet, podemos instalarlo. Útil en
centros educativos.
http://programamos.es
@programamos
Scratch: Introducción a la herramienta
Escenario
Fondo
Bloques para
controlar el
comportamiento
del objeto
seleccionado
Objetos
http://programamos.es
@programamos
Scratch: Introducción a la herramienta
Propiedades
de los objetos
Formas de añadir
nuevos objetos
http://programamos.es
@programamos
Scratch: Introducción a la herramienta
Controla la
apariencia
Sonidos asociados
al objeto
Bloques
Programación
del objeto
“Instrucciones”
http://programamos.es
@programamos
Scratch: Introducción a la herramienta
● El funcionamiento es muy sencillo:
Seleccionamos el objeto
que queramos programar
Vamos arrastrando y encajando las
instrucciones como si fuera un puzzle
http://programamos.es
@programamos
Scratch: Audio y gráficos
● Para controlar la apariencia de cada objeto de
Scratch:
● Definiremos los distintos “Disfraces” que ese objeto
puede tener a lo largo de la ejecución del programa.
● La controlaremos mediante distintas instrucciones
situadas dentro del bloque “Apariencia”.
http://programamos.es
@programamos
Scratch: Audio y gráficos
● Para controlar el sonido de cada objeto de Scratch:
● Definiremos los distintos “Sonidos” que ese objeto
puede tener a lo largo de la ejecución del programa.
● La controlaremos mediante distintas instrucciones
situadas dentro del bloque “Sonidos”.
http://programamos.es
@programamos
Scratch: Audio y gráficos
● Practicamos:
● Si aún no lo has hecho, date de alta en la comunidad
Scratch: http://scratch.mit.edu
● Crea un nuevo proyecto en el que te presentes. Puedes
hacer uso de cualquier tipo de bloque, aunque te
recomendamos que trabajes con los de “Sonido” y
“Apariencia”.
● Investiga las instrucciones del bloque movimiento.
¿Podrías incluir alguna mejora a tu proyecto?
http://programamos.es
@programamos
Scratch: Bucles y condiciones
● Las instrucciones de
bucles y las condiciones se
clasifican dentro del
bloque control:
● Los bucles son
fundamentales en Scratch:
http://programamos.es
@programamos
Scratch: Bucles y condiciones
● Practicamos:
● Vamos a crear nuestro primer
videojuego: Arkanoid. Para ello
crea un nuevo proyecto.
– La base se podrá mover a derecha e
izquierda mediante teclado o ratón.
– La bola comenzará en el centro y
saldrá en una dirección aleatoria.
Se irá movimiento continuamente y
rebotará en todos los bordes.
– Si la bola toca el borde inferior
termina la partida. Si toca la base
rebotará hacia arriba.
http://programamos.es
@programamos
Scratch: Bucles y condiciones
● Practicamos:
● Una posible solución.
http://programamos.es
@programamos
Scratch: Sincronización de procesos
● La sincronización de los procesos en Scratch puede
realizarse de dos formas:
● Mediante instrucciones de espera:
● A través de mensajes:
http://programamos.es
@programamos
Scratch: Paralelismo y eventos
● Paralelismo: podremos ejecutar distintas líneas de
código en paralelo, ya sea en el mismo o bien en
otro objeto.
● Eventos: distinguiremos dos tipos:
● Propios de Scratch:
● Personalizados:
http://programamos.es
@programamos
Scratch: Paralelismo y eventos
● Practicamos:
● Vamos a modificar nuestro
primer videojuego para añadir
una pantalla principal.
– Al pulsar sobre la bandera verde se
debe mostrar un fondo con el título
y descripción del funcionamiento
del juego y un botón para comenzar
a jugar.
– El resto de objetos inicialmente
estarán ocultos y se mostrarán
después de haberse pulsado el
botón jugar. También se cambiará
el fondo y se ocultará el botón.
http://programamos.es
@programamos
Scratch: Paralelismo y eventos
● Practicamos: Una posible solución.
Escenario
http://programamos.es
@programamos
Scratch: Operaciones matemáticas y lógicas
● Las operaciones matemáticas y lógicas se agrupan
en el bloque “Operadores”.
● Desde operaciones simples (sumas...) hasta cálculos
más complejos (log, acos, e^ ...).
http://programamos.es
@programamos
Scratch: Operaciones matemáticas y lógicas
● Haciendo uso de las operaciones matemáticas y el
lápiz vamos a dibujar funciones.
● ¿Cómo podríamos representar la función “y= 2 · x”?
http://programamos.es
@programamos
Scratch: Operaciones matemáticas y lógicas
● ¿Serías capaz de representar un función de segundo
grado: y = a · x2
+ b · x + c?
● Los valores de a, b y c podrías pedirlos al usuario.
http://programamos.es
@programamos
Scratch: Operaciones matemáticas y lógicas
● Una posible solución:
http://programamos.es
@programamos
Scratch: Variables y listas
● Se agrupan dentro del bloque Datos.
● Visibilidad:
● Solo el objeto.
● Todos los objetos.
http://programamos.es
@programamos
Scratch: Variables y listas
● Practicamos:
● Vamos a modificar nuestro
Arkanoid para añadir “vidas”.
– Inicialmente se tendrán 3 vidas.
– Cada vez que se pierda, se restará
una vida.
– La partida finalizará al llegar las
vidas a 0.
http://programamos.es
@programamos
Scratch: Variables y listas
● Practicamos: Una posible solución.
Escenario
http://programamos.es
@programamos
Scratch: Variables y listas
● Practicamos: vamos a crear la
primera parte del famoso
videojuego MoleMash, aunque
para este curso lo hemos llamado
MouseMash.
● El juego consiste en aplastar a los
ratones, que irán saliendo de
forma aleatoria de los agujeros.
● En esta primera versión queremos
que los ratones salgan y que al
hacer clic en ellos se sumen
puntos.
● Una pista: podrías usar las listas
para guardar las posiciones X,Y
de los agujeros.
http://programamos.es
@programamos
Scratch: Variables y listas
● Practicamos: Una posible
solución.

Curso de Scratch Día 1 (CPETIG)