Scratch, una plataforma para desarrollar el pensamiento computacional

Scratch, una plataforma para desarrollar el pensamiento computacional

El término pensamiento computacional tiene su origen en los trabajos sobre inteligencia artificial (IA) del Dr. Seymour Papert (experto en ciencia cognitiva del MIT y desarrollador del lenguaje de programación Logo), que nos dejó en Julio de 2016.

Sin embargo, es la doctora en ciencias computacionales Jeannette Marie Wing quien lo populariza en 2006 con la publicación de su artículo Computational thinking. En él define el pensamiento computacional como la habilidad para resolver problemas, diseñar sistemas y comprender el comportamiento humano haciendo uso de conceptos informáticos, y defiende su inclusión en los programas de formación escolar desde edades tempranas.

Otra definición muy aceptada de pensamiento computacional propone la resolución de problemas empleando 4 fases:

  1. Descomposición: dividir o modular un problema complejo en subproblemas más manejables.
  2. Identificación de patrones: para poder aplicar soluciones ya propuestas con anterioridad.
  3. Abstracción: descartar información irrelevante en la resolución del problema.
  4. Proposición del algoritmo: serie finita y ordenada de pasos concretos que permite resolver un problema sin ambigüedad (mientras que no cambien las condiciones la solución deberá ser siempre la misma).

Desde entonces, han surgido organizaciones como ISTE (International Society for Technology in Education) o CSTA (Computer Science Teachers Association) que llevan a cabo una importante labor pedagógica de promoción y divulgación de las técnicas algorítmicas de abstracción y resolución de problemas utilizadas por la ciencia informática y su aplicación en otras disciplinas.

¿ Qué es Scratch y cómo fomenta el pensamiento computacional?

Scratch es un lenguaje de programación visual orientado a eventos diseñado por el Dr. Mitchel Resnick (perteneciente al grupo Lifelong Kindergarten del MIT Media-Lab) y concebido para desarrollar el pensamiento sistemático, la creatividad y el trabajo colaborativo. Permite crear sencillas apps, minivideojuegos y animaciones interactivas (simulación de experimentos, presentaciones, arte interactivo, música, etc.)

 

Su filosofía se basa en el scratching, un término informático que significa reutilización de código, es decir, aprovechar un programa ya hecho para adaptarlo a nuestras necesidades. Cualquier scratcher puede crear algo nuevo, compartirlo siempre bajo licencia Creative commons share alike o trabajar sobre proyectos ya publicados (remix). El lema de la comunidad online de Scratch es “Imagina, Programa, Comparte“.

Estas características, ligadas al pensamiento computacional, hacen de Scratch la herramienta perfecta para que los principiantes desarrollen habilidades mentales antes de saber programar, para después dar el salto a otros lenguajes como C, Java o Python. Aprender a programar es una habilidad importante en la alfabetización digital de la sociedad actual que permite aprender estrategias de resolución de problemas, diseñar proyectos y comunicar ideas.

En el siguiente video de presentación de Scratch, el propio Resnick defiende que la codificación de programas no es solo para informáticos, sino que debería ser para todos, y describe los beneficios de enseñar código a los niños para que además de usar las nuevas tecnologías tengan la capacidad de imaginarlas y crearlas. En sus propias palabras: “Aprender a programar, programar para aprender. Enseñemos codificación a los niños…

 

Scratch se puede utilizar tanto on-line como en su versión de escritorio de forma totalmente gratuita, ya que es un proyecto sin ánimo de lucro financiado por National Science Foundation, Scratch Foundation, Google, LEGO Foundation, Intel o Cartoon Network, entre otros… y admite también donaciones privadas de particulares.

La interfaz de usuario, que es muy intuitiva, permite trabajar con objetos gráficos llamados sprites (imágenes creadas por nosotros o importadas) a los que se pueden aplicar instrucciones asociadas en las siguientes categorías:

  1. Movimientos: mover, rotar …
  2. Apariencia: ampliar, reducir, cambiar color, mostrar, esconder …
  3. Sonido: reproducir ficheros de audio, cambiar tempo, tocar notas …
  4. Lápiz: control del ancho del trazo, color e intensidad …
  5. Datos: creación de variables y listas (vectores unidimensionales)
  6. Eventos: manejadores de eventos como hacer-click, presionar-tecla …
  7. Control: uso de instrucciones de control condicionales, iterativas …
  8. Sensores: para que los objetos interactuen con el universo creado.
  9. Operadores: aritméticos (+ – * / ), lógicos (and or not) y comparativos (> = <).

Recapitulando, podemos decir que Scratch es una excelente plataforma para que niños, mayores o neófitos asimilen los fundamentos de la programación, desarrollen aptitudes de pensamiento computacional, fomenten la creatividad, mejoren la comprensión y aumenten el rendimiento. Está disponible para varios sistemas operativos (Windows, Ubuntu, Sugar, Mac) en más de 40 idiomas y permite compartir los proyectos creados a través de la web. Si queréis saber más podéis acceder a su sitio web.

Diseños by Scratch: vector1, vector2
Fuentes: Scratch.mit.edu, Jesús Moreno León | programamos.es

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *