En relación al anterior post en el que analizábamos los pros y contras de
enseñar a programar a niños y niñas de primaria, la siguiente cuestión que
deberíamos plantearnos como docentes es: ¿Cómo enseñamos a los estudiantes a
programar?
Hay un gran
número de herramientas gratuitas que proveen una introducción a la programación
y a la codificación de programas. Ignacio Cabral Perdomo
propone el uso de cuatro de ellas: Scratch, Alice, Greenfot y BlueJ.
Las
herramientas deben introducirse de manera progresiva, ya que cada una de ellas
va incrementando el nivel de complejidad en cuanto a los conocimientos de
codificación requeridos a los estudiantes. A continuación, se muestra una línea
de tiempo con los rangos de edad que el autor considera más adecuados para cada
herramienta.
Dado, que
nosotras planteamos dichas herramientas para ser utilizadas en la primaria nos
vamos a centrar en las dos primeras: Scratch y Alice.
Scratch
Fue
desarrollado por el “Lifelong Kindergarten group” en el Media Lab del Instituto
Tecnológico de Massachusetts como un lenguaje de programación visual para niños
de 6 años en adelante. Desde que se liberó en 2007, el sitio web de Scratch
tiene más de 800,000 usuarios y en él se pueden hallar más de 1.7 millones de
diversos proyectos, la mayoría relacionados con juegos y animaciones sencillas.
Scratch, al igual que el resto de las herramientas mencionadas en este artículo
fomenta que las creaciones se compartan como Creative Commons. Scratch es
gratuito y puede correr en plataformas Windows, Mac y Linux. Los estatutos
lógicos son mostrados al usuario como piezas de un rompecabezas y el
programador puede arrastrarlos hacia la pantalla principal del programa. Es
increíble la facilidad con la que se puede crear un sencillo programa de
animación en unos 10 a 15 minutos. Una ventaja de Scratch radica en que la
interfaz está disponible en español.
La cantidad de
configuraciones que el niño puede realizar con las piezas esenciales es
infinita y, de manera intuitiva, el niño va aprendiendo los conceptos de
objetos y reusabilidad del software.
El nombre de Scratch se deriva de la
técnica de “scratching” usada en el “Turntablism” (arte del DJ para usar los
tornamesas), y se refiere tanto a la lengua y su aplicación. La similitud con
el “scratching” musical es la fácil reutilización de piezas: en Scratch todos
los objetos, gráficos, sonidos y secuencias de comandos pueden ser fácilmente
importados a un nuevo programa y combinados en infinitas maneras permitiendo a
los principiantes el conseguir resultados rápidos y estar motivados para
intentar más. Podemos utilizar este programa para, tal y como dice su lema,
programar, jugar y crear.
Alice
Alice es
también un lenguaje de programación de tipo educativo libre y abierto, orientado
a objetos con un IDE integrado en el mismo. Fue desarrollado en la Universidad
Carnegie Mellon y está programado en Java. El entorno de Alice, al igual que
Scratch se basa en el paradigma de “arrastrar y soltar” para crear mundos
virtuales mediante el uso de modelos en 3D. La versión actual puede ser
ejecutada en ambientes Windows, Mac y Linux. El diseño fundamental de Alice
permite enseñar a los alumnos tanto la programación orientada a objetos como la
orientada a eventos. De manera muy similar a Scratch, el usuario va creando su
mundo virtual a través de la estructuración lógica de instrucciones que ya
vienen pre-programadas en el IDE de Alice. Este software cuenta con un gran
número de objetos (clases) pre-programados que el alumno puede combinar para la
creación tanto de animaciones como historias en un mundo virtual.
Alice busca resolver tres problemas fundamentales del software educativo:
1. La
mayoría de los lenguajes de programación están diseñados para producir otros
programas, cada vez más complejos. Alice está diseñado únicamente para enseñar
a programar.
2. Alice está
íntimamente unido a su IDE. No hay que recordar ninguna sintaxis especial. De
todas formas, acepta tanto el modelo de programación orientada a objetos como la
dirigida a eventos.
3. Alice está
diseñada para el público que normalmente no se enfrenta a problemas de
programación, tales como alumnos de secundaria, mediante un sistema de
«arrastrar y soltar».
Al no existir
en Alice un editor de código se alivian las dificultades del rigor sintáctico
en los primeros pasos dentro de la programación orientada a objetos. Una
ventaja del uso de Alice para introducir a los alumnos a la programación es la
exigencia de la creatividad por parte del programador. El estudiante tiene que
diseñar previamente en un “Story-board” su mundo virtual antes de iniciar con
el proceso de creación de su mundo virtual. Otro punto a favor de Alice es que
los alumnos se divierten al mismo tiempo que van, de manera intuitiva, aprendiendo
los conceptos de instancia, atributos, métodos y funciones; incluso el tema de
arreglos es soportado por el ambiente de programación Alice.
Vídeo
demostrativo: http://www.youtube.com/watch?v=Nm7bv4wduTI