Buscar:

Programación en la Educación Escolar


Inicio > Índice del Módulo



SCRATCH EN LA EDUCACIÓN ESCOLAR

 

Gracias al apoyo de Motorola Foundation, Motorola de Colombia Ltda. y la gestión de la ONG Give to Colombia, la Fundación Gabriel Piedrahita Uribe (FGPU) está implementando el proyecto Scratch con el que se busca contribuir al desarrollo de habilidades del siglo XXI, capacidades intelectuales de orden superior [1] y pensamiento algorítmico, por parte de estudiantes de básica primaria.

 

firma
Firma del convenio entre Motorola Colombia, Give to Colombia y la FGPU

Este proyecto contempló el diseño del componente curricular de Scratch [2] que se puso a prueba con un grupo de docentes de Informática, Matemáticas y Ciencias Naturales, pertenecientes a escuelas de Cali (Colombia) que tienen a su cargo poblaciones vulnerables. A partir de la retroalimentación que se recibió por parte de ese primer grupo, se hicieron los ajustes correspondientes para iniciar la capacitación de un grupo más amplio.

Adicionalmente, se publicó , gratuitamente, tanto el citado componente curricular como todos los materiales desarrollados y probados por la FGPU en el módulo temático de Eduteka “Programación de Computadores en Educación Escolar”. También se publicaron las traducciones de otros materiales de apoyo relacionados con Scratch para que estén disponibles para los docentes de habla hispana en Latinoamérica y España.

ANTECEDENTES
En el 2004, ante la preocupación del mundo occidental por la notable disminución de profesionales en Ciencias e Ingenierías, la FGPU decide poner su grano de arena y comenzar a trabajar en algoritmos y programación con estudiantes de 5° grado en el INSA. Buscaba especialmente trabajar en el desarrollo de capacidades intelectuales de orden superior tales cómo análisis, síntesis, conceptualización, manejo de información, pensamiento sistémico, investigación y metacognición; además de pensamiento algorítmico, solución de problemas y creatividad. Para hacerlo, elaboró una Guía y un Cuaderno de Trabajo que le sirvieran de base para adelantar su proyecto. Estos dos elementos se diseñaron para un ambiente de programación que tiene costo, lo que impidió expandir esta iniciativa a muchas Instituciones Educativas de escasos recursos.     

Buscando subsanar esta situación con ambientes de programación gratuitos y de calidad, fáciles de usar por estudiantes de básica primaria, con características técnicas bajas para su ejecución y garantía de permanecer libres de pago, encontró SCRATCH

LA HERRAMIENTA Scratch es un entorno de programación desarrollado [3] por un grupo de investigadores del Lifelong Kindergarten Group del Laboratorio de Medios del MIT, bajo la dirección del Dr. Michael Resnick.
Aunque 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, 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

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 (http://scratch.mit.edu/). Entre las características más relevantes de este entorno 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 el 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 encajan sólo si son sintácticamente correctos.
  • Posibilita explorar principios básicos de programación sin las complicaciones de sintaxis que tienen otros lenguajes; lo que permite al estudiante centrarse en solucionar problemas, en lugar de hacerlo en 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 ayuda también 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, con el estudiante en control, que activa procesos metacognitivos.
  • Tiene un bajo umbral de inicio ya que 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 actividades y proyectos sean tan complejos como la creatividad de los estudiantes lo permita.
  • Tiene posibilidades amplias, característica 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 de 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 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 una visita posterior a su Laboratorio en MIT (Boston) para conocer más de cerca tanto el equipo de trabajo, como las proyecciones de este proyecto. Esta visita se concretó en el mes de octubre de 2008.

f1
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. http://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. http://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, http://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: http://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:

m

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

 

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

Autor de este documento: Juan Carlos López García
Si desea referenciar está página use: http://edtk.co/Crwoh

blog comments powered by Disqus

Comentarios Recientes

Reciba por eMail las últimas publicaciones de Eduteka


Para recibir los últimos árticulos, ingrese su eMail:

Para recibir los últimos Recursos, ingrese su eMail:

Para recibir los últimos Proyectos, ingrese su eMail: