Scratch

Scratch es un lenguaje de programación creado por el MIT y especialmente diseñado para que todo el mundo pueda iniciarse en el mundo de la programación. Sirve para crear historias interactivas, juegos y animaciones; además de facilitar la difusión de las creaciones finales con otras personas vía Web.

El nombre proviene de la palabra: “*Scratching*” que en los lenguajes de programación, significa aquellos trozos de código que pueden ser reutilizados, fácilmente combinables y adaptados para nuevos usos.

Es un lenguaje que ha tenido una enorme difusión gracias a su gratuidad (es software libre) y a su facilidad de uso.

## ¿Qué es Scratch?

Scratch es tanto una aplicación que podemos descargar a nuestro ordenador (está disponible para varios sistemas operativos: Windows, Ubuntu, Sugar, Mac) como una aplicación web que podemos ejecutar desde nuestro navegador.

En ambos casos tenemos por un lado una serie de objetos o “*sprites*” (en la nomenclatura que utiliza de Scratch) y por otro lado una serie de acciones y comportamientos que podemos combinar para conseguir que los objetos reaccionen a actúen de una determinada manera.

Una de las cosas más interesantes de Scratch es que esas acciones o comportamientos tienen forma de puzzle y nuestra misión como programadores será cocinar esas piezas para conseguir un determinada acción o comportamiento. Así que en esencia programa se convierte en algo parecido a resolver un puzzle, lo que elimina una de las principales barreras que tienen los neófitos en el mundo de la programación que es el aspecto árido y complejo de los entornos de programación. Convirtiendo el proceso de programar en algo parecido a un juego.

Las acciones y comportamientos están divididas en categorías y son estas:

* Movimiento: Mover y girar un objeto por la pantalla.
* Apariencia: Cambiar la visualización del objeto: el fondo, hacerlo más grande o pequeño, etc..
* Sonido: Hacer sonar secuencias de audio.
* Lápiz: Dibujar controlando el tamaño del pincel el color y la sombra del mismo.
* Datos: Crear variables y su asignación en el programa.
* Eventos: Maneadores de eventos que “disparan” determinadas acciones en un bloque.
* Control: Condicionales: if-else, “forever”, “repeat”, and “stop”.
* Sensores: Los objetos o “sprites” pueden interaccionar con el entorno o con elementos creados por el usuario como un robot lego por ejemplo.
* Operators: operadores matemáticos, generadores aleatorios de números, cooperadores de posiciones.
* Más bloques: Bloques propios y controladores de aparatos externos.

## ¿Para qué sirve?

* Permite el desarrollo de los procesos de pensamientos y habilidades mentales en los educandos
* Es perfecto para introducirse en la programación
* Permite compartir los proyectos a través del web, se pueden descargar y utilizar. Pudiendo ser descargados y utilizados por otras personas

## ¿Por que Scratch?

La programación es el el nuevo lenguaje que todos necesitamos conocer si queremos tener una buena comprensión del mundo actual y sobre todo del que viene así como buenas oportunidades laborales. se calcula que cerca del 50% de los puestos de trabajo que conocemos hoy en día desaparecerán y en buena medida serán sustituidos por la industria del software y al robótica. De este modo Scratch se convierte en una gran herramienta para comprender los conceptos y la lógica de la programación. además lo hace abordando su aprendizaje desde un punto de vista lúdico para evitar el rechazo inicial que para muchas personas suponen los entornos de programación más clásicos.

### Ventajas para el desarrollo del niño

Si hay un entorno en el que Scratch esta especialmente indicado, es en el de la enseñanza de la programación a los niños, por ese componente lúdico del que hemos hablado antes. Pod´riamos agrupar una serie de ventajas que su uso proporciona a los niños:

* Desarrollar el pensamiento lógico.
	+ Desarrollar métodos para solucionar problemas de manera metódica y ordenada
	+ Desarrollar el hábito de hacer autodiagnosis con respecto a su trabajo
	+ Desarrollar la capacidad de poner en duda las ideas de uno mismo
	+ Tener la posibilidad de obtener resultados complejos a partir de ideas simples
	+ Trabajar cada cual a su ritmo en función de sus propias competencias
	+ Aprender y asumir conceptos matemáticos: coordenadas, variables, algoritmos, aleatoriedad
	+ Aprender los fundamentos de la programación
	+ Usar distintos medios: sonido, imagen, texto, gráfico…
	+ Posibilitar el aprendizaje colaborativo a través del intercambio de conocimiento

## Conclusiones

Scratch es gratuito, multiplataforma, sencillo y orientado a la introducción de los niños (y de todo aquel que quiera) en el mundo de la programación.

Empezar, es tan sencillo com descargarse el programa y empezar a jugar cambiando los distintos objetos que vienen con el programa con las acciones y comportamientos que esán disponibles.