Conocer Scrach

21.09.2014 10:57

Scratch es un entorno de programación de computadores desarrollado [3] por un grupo de investigadores del Lifelong Kindergarten del Laboratorio de Medios del MIT, bajo la dirección y liderazgo del Dr. Michael Resnick.
Aunque este es un proyecto de código abierto, su desarrollo es cerrado pero el código fuente se ofrece de manera libre y gratuita [4]. Este entorno aprovecha los avances en diseño de interfaces para hacer que la programación sea más atractiva y accesible para todo aquel que se enfrente por primera vez a aprender a programar. Según sus creadores, fue diseñado como medio de expresión para ayudar a niños y jóvenes a expresar sus ideas de forma creativa, al tiempo que desarrollan habilidades de pensamiento lógico y de aprendizaje del Siglo XXI. Todo lo anterior a medida que sus maestros superan modelos de educación tradicional en los que utilizan las TIC, simplemente, para reproducir prácticas educativas obsoletas [5].

 


Interfaz gráfica de Scratch 1.4

 

A partir de Mayo 9 de 2013, se dio un cambio radical en el sitio Web de Scratch, que desde esa fecha, despliega la versión 2.0 que funciona completamente en línea. Con esta nueva versión se pueden crear, editar y ver los proyectos directamente en un navegador Web, sin tener que descargar e instalar ningún programa en el computador. También está disponible una versión descargable de Scratch 2.0.

La versión 2.0 ofrece nuevas posibilidades como implementar la estructura recursiva y crear funciones que admiten parámetros. Además, conserva casi la totalidad de las funciones de la versión 1.4, pues están presentes los mismos elementos, solo que con diferente ubicación. En conclusión Recomendamos consultar la Guía de Referencia de Scratch 2.0 (PDF) elaborada por Eduteka, para informarse respecto a las nuevas funcionalidades implementadas.


Entorno gráfico de Scratch 2.0

 

Programando con Scratch, los estudiantes pueden crear historias interactivas, juegos, animaciones, música, producciones artísticas y compartir sus creaciones con otras personas a través del sitio Web de la herramienta (https://scratch.mit.edu/). Entre las características de este entorno que tienen mayor relevancia  en procesos educativos para introducir a los estudiantes en programación, tenemos:

  • Tanto el conjunto de instrucciones, como la interfaz, están disponibles en varios idiomas, entre ellos español.
  • La interfaz gráfica permite crear y utilizar un escenario con múltiples fondos y tantos objetos móviles programables (sprites) como se quiera; cada uno de ellos con sus respectivos disfraces.
  • En lugar de escribir instrucciones (código), permite programar con el ratón (mouse), arrastrando bloques autoencajables y soltándolos en el área de programas. Estos se comportan como piezas de Lego o de un rompecabezas, pero solo encajan si son sintácticamente correctos.
  • Posibilita explorar principios básicos de programación sin las complicaciones de sintaxis que tienen otros lenguajes. Esto permite al estudiante centrarse en solucionar problemas en lugar de hacerlo en ubicar comas y corchetes.
  • Los bloques autoencajables están categorizados por colores de acuerdo con su funcionalidad (Azul=Movimiento; Violeta=Apariencia; Fuscia=Sonido; Verde=Lápiz; Naranja=Control; Azul claro=Sensores; Verde claro=Números; Rojo=variables). Este código visual también ayuda a los estudiantes.
  • Los modos de diseño y ejecución del ambiente de programación son simultáneos, lo que  permite que los cambios realizados a un programa en ejecución se reflejen inmediatamente en el comportamiento del objeto móvil programable (sprite).
  • Ayuda a los estudiantes a pensar algorítmicamente y a aprender a abordar problemas metódicamente.
  • Ofrece a los estudiantes oportunidades para: improvisar, someter a prueba sus ideas, ensayar, corregir errores y superar sus propias expectativas; todo esto, en un “dialogo” permanente con el computador pero en el que el estudiante está en control, situación esta que activa procesos metacognitivos.
  • Tiene un bajo umbral de inicio y desde la primera clase los estudiantes pueden realizar pequeñas actividades que los mantienen motivados e interesados.
  • Tiene un umbral alto de complejidad. Esto posibilita que las actividades y proyectos sean tan complejos como la creatividad de los estudiantes lo demande.
  • Tiene amplias posibilidades, característica ésta particularmente importante para los docentes ya que pueden plantear proyectos de integración que involucren contenidos de diversas asignaturas.
  • Permite a los estudiantes ganar comprensión sobre conceptos matemáticos como expresiones Booleanas, variables, coordenadas y números aleatorios.
  • A medida que los estudiantes crean programas, aprenden conceptos fundamentales de computación tales como, control de flujo, iteración (repetición o ciclos), condicionales, procedimientos, hilos múltiples y eventos.
  • Permite controlar y mezclar diferentes medios (gráficas, texto, música y sonido).
  • Facilita la manipulación de imágenes mediante filtros programados.
  • Favorece el intercambio entre usuarios de objetos y sus programas, por lo tanto, estimula el aprendizaje colaborativo.
  • Con solo presionar el botón ¡Compartir!, el proyecto queda publicado en la página Web de Scratch [6].


Una vez que la FGPU adoptó  Scratch para expandir el programa de Algoritmos y Programación en la Educación Escolar, contactó al Dr. Resnick en el congreso NECC’08. Allí, de manera generosa, él abrió la puerta para realizar posteriormente una visita a su Laboratorio en MIT (Boston) y poder conocer más de cerca tanto el equipo de trabajo, como las proyecciones de este proyecto. Esta visita, la primera de tres, se concretó en el mes de octubre de 2008.

 

Francisco Piedrahita, Andrés Monroy-Hernández, Dr. Michael Resnick, 
Claudia de Piedrahita y Claudia Urrea en el Media Lab.

 

SCRATCH EN LA EDUCACIÓN ESCOLAR

Son numerosos, variados y sólidos los argumentos en favor de enseñar programación en la Educación Básica. Por ejemplo, Gary Stager, argumenta que “la habilidad de visualizar caminos de razonamiento divergentes, anticipar errores y evaluar rápidamente escenarios mentales, es resultado directo de las clases de programación”; y agrega, ”este don me sirve hoy en mi vida cotidiana cuando tengo que navegar un sistema de correo de voz o sacar mi carro de un estacionamiento”.

Para otros autores, la programación de computadores vuelve tangibles las matemáticas y la computación mediante procesos de diseño en los que los estudiantes se comprometen en la solución de problemas de manera experimental y repetitiva. Así, la programación se convierte en una estrategia válida para implementar el enfoque educativo conocido con la sigla STEM (Ciencia, Tecnología, Ingeniería y Matemáticas). Con este enfoque, las naciones industrializadas buscan preparar en estas áreas una cantidad suficiente de docentes y estudiantes para responder adecuadamente a los tiempos actuales de globalización e innovación, donde gran parte de los nuevos puestos de trabajo los genera el sector de las Tecnologías de la Información y la Comunicación (TIC).

También hay quienes argumentan que en la actualidad prácticamente todo está programado. Desde las puertas de los almacenes que se abren o cierran automáticamente, hasta los cajeros electrónicos y las transacciones comerciales y financieras, requieren programación. Y ni que decir de las aplicaciones Web 2.0 que posibilitan una interacción social nunca antes vista, pero requieren millones de líneas de código para hacerla realidad. Los computadores son omnipresentes en la sociedad contemporánea, por lo tanto, no es suficiente saber utilizar las herramientas básicas de estos sino que cada vez se hace más necesario tener conocimientos de programación que permitan a las personas comprender cómo funcionan las máquinas y los sistemas que tiene a su alrededor.

En este contexto, es indudable que herramientas como Scratch contribuyen efectivamente a preparar a los estudiantes desde la primaria, para que puedan insertarse activamente al mundo altamente programado que los espera. Pero va más allá; Scratch promueve el desarrollo de algunas habilidades y capacidades intelectuales de orden superior que, en el nivel escolar, son responsabilidad de cualquier sistema educativo de calidad.

Por ejemplo, la programación de computadores posibilita no solo activar una amplia variedad de estilos de aprendizaje [7] sino desarrollar pensamiento algorítmico. Además, compromete a los estudiantes en considerar varios aspectos importantes para solucionar problemas: decidir sobre la naturaleza del problema, seleccionar una representación que ayude a resolverlo y, monitorear sus propios pensamientos (metacognición) y estrategias de solución utilizadas. Incluso, compromete a los jóvenes en la búsqueda de soluciones innovadoras a problemas inesperados; no se trata solamente de aprender a solucionar problemas de manera predefinida, sino estar preparado para generar nuevas soluciones a medida que se presentan los problemas.
 
Otro conjunto de habilidades que se pueden desarrollar con la programación, es el identificado por el Consorcio de Habilidades Indispensables para el Siglo XXl, habilidades de aprendizaje que serán fundamentales para el éxito de los estudiantes en el futuro próximo: pensar creativamente, comunicar claramente, analizar sistemáticamente, colaborar efectivamente, diseñar iterativamente y aprender continuamente.

Respecto a las Capacidades Intelectuales de Orden Superior [1], la programación de computadores tiene impacto positivo en el desarrollo de las siguientes: análisis, síntesis, conceptualización, manejo de información, pensamiento sistémico, investigación y metacognición.

Por último, se debe tener claro que a pesar de todas las bondades que la FGPU encontró en Scratch, hasta la versión 1.4 de este entorno encontramos que no soporta los siguientes constructos:

  • métodos, que permitan pasar el control de la ejecución de una secuencia de bloques a otra;
  • parámetros, que permitan influenciar el comportamiento de los métodos;
  • valores de retorno, que permitan a una secuencia de bloques “devolver” información a otra;
  • herencia y polimorfismo, que permitan la existencia de relaciones entre estructuras de datos.


Sin embargo, a pesar de estos “baches”, Scratch ha demostrado ser una herramienta valiosa para utilizarla tanto en cursos de Algoritmos y Programación con estudiantes de primaria como para introducir en la programación a estudiantes universitarios de primer semestre en programas como Ingeniería de Sistemas [8].

 

NOTAS: 
[1] Las Capacidades Intelectuales de Orden Superior a las que nos referimos en este artículo son: 1) Análisis, 2) Síntesis, 3)  Conceptualización, 4) Manejo de información, 5) Pensamiento sistémico, 6) Pensamiento crítico, 7) Investigación, 8) Metacognición. https://www.eduteka.org/modulos.php?catx=6&idSubX=134&ida=276&art=1
[2] El nombre de Scratch se deriva de la técnica de “rayar” (Scratching) que utilizan los “disc jockeys” de hip-hop, que giran con sus manos los discos de vinilo hacia delante y hacia atrás para mezclar clips de música que unen de maneras creativas. https://www.eduteka.org/ScratchCreando.php
[3] El desarrollo de Scratch demoró cuatro años y la primera versión oficial fue liberada en enero de 2007. Sin embargo, desde 2006 se puso a disposición de la comunidad de usuarios de Scratch una versión de evaluación (beta).
[4] Scratch está construido sobre el lenguaje de programación Squeak y su diseño se inspiró en trabajos previos realizados en Logo y en los Etoys de Squeak; sin embargo, pretende ser más simple e intuitivo que esas propuestas.
Por su parte, Squeak es una herramienta de código abierto implementada en lenguaje de programación Smalltalk que permite desarrollar un rango amplio de proyectos que van desde aplicaciones multimedia hasta plataformas educativas. Alan Kay es su principal ideólogo y promotor. Actualmente el desarrollo de esta herramienta se lleva a cabo en el Instituto Viewpoints Research
De otro lado, https://wiki.laptop.org/go/Etoys Etoys está inspirado en la visión de los ambientes de aprendizaje construccionistas de Alan Kay. El proyecto, dirigido por el profesor Kay, consiste de un entorno computacional amigable sumado a un prototipo de lenguaje de programación orientado a objetos. Todo dirigido a su uso en educación con niños de primaria (Básica).
[5] Se recomienda leer el artículo “Scratch, una herramienta lúdica de iniciación a la programación”, escrito por Máximo Prudencio y publicada en la revista Linux Magazine (PDF).
[6] Esta función requiere conexión activa a Internet y estar registrado en el sitio web de Scratch: https://scratch.mit.edu/ 
[7] Ver el artículo de Gary Stager “En pro de los computadores
[8] En cursos desarrollados en Harvard por David Malan y Henri Leitner, se comprobó la utilidad de utilizar Scrach como aprestamiento para introducir Java en clases de programación a estudiantes de Ciencias de la Computación.

 

CRÉDITOS:
Documento elaborado por Eduteka con información proveniente de los siguientes artículos:

 

 


Este documento se elaboró con el apoyo de Motorola Foundation, Motorola Solutions Foundation, Motorola de Colombia Ltda. y la gestión de la ONG Give to Colombia.

Tomado de la fuente Programación en la educación escolar Autor: Juan Carlos López García | Publicado: 2013-09-01

Publicación de este documento en EDUTEKA: Febrero 01 de 2009.
Última modificación de este documento: Septiembre 01 de 2013.

Para mayor información entrar a:

https://www.eduteka.org/modulos/9/278

Volver