La nueva ley de educación LOMLOE y el Real Decreto 157/2022, de 1 de marzo, por el que se establecen la ordenación y las enseñanzas mínimas de la Educación Primaria, incluye algunos enfoques y conceptos diferentes que es interesante destacar y asimilar.
Uno de los enfoques es el de las competencias clave que, aunque ya se hacía referencia a ellas en el Sistema Educativo Español, se incorporan a la nueva ley por recomendación del Consejo asesor de la Unión Europea. De estas competencias salen los descriptores operativos y el perfil de salida de cada fase educativa.
Por otra parte, el texto incide en la idea de transversalidad, de conectar los aprendizajes y aplicarlos en contextos cercanos a la vida cotidiana de los alumnos, favoreciendo su compromiso con el aprendizaje propio. De esta forma define lo que a mi me parece la piedra angular de la nueva ley: las situaciones de aprendizaje.
En la siguiente infografía están las definiciones:
En esta última entrada abordamos la fase más complicada pero a la vez donde podemos encontrar los recursos más creativos y entretenidos, para los alumnos que quieren ir mas allá. A continuación haré un repaso por los lenguajes y entornos de desarrollo que, desde mi punto de vista, se pueden usar en clases de Primaria o Secundaria.
Como hay montones de posibilidades, vamos a considerar solo aquellos que tengan versiones completas gratuitas, y a ser posible de código abierto.
Permite crear animaciones usando herramientas de dibujo directamente en la web, a la que es posible añadir código en Javascript pudiendo crear desde simples objetos en movimiento hasta videojuegos completos.
Una forma diferente de aprender Python o Javascript creando música. En un IDE web hecho específicamente para crear canciones puedes programar scripts que mezclan sonidos, samples de canciones o modificar diferentes parámetros de los audios. Proyecto apoyado por varias universidades, Google y Amazon. Buena documentación y muchos ejemplos, con resultados sorprendentes.
Roblox es una plataforma de videojuegos que además dispone de un framework, Roblox Studio, para crear tus propios videojuegos. Usa el lenguaje LUA para crear scripts con los que modificar, complementar y crear nuevos videojuegos.
Se programa en una GDScript, una versión de Python, y tiene buena implementación para juegos 3D. Aunque se puede usar en todo tipo de juegos, tiene una ventaja superior en los de escritorio.
Sin duda es el motor más usado y el que tiene una comunidad más grande y los desarrollos más conocidos. Se programa en C# y los juegos se pueden publicar en decenas de plataformas.
Phaser es un framework para crear videojuegos en HTML5 usando Javascript o TypeScript. El desarrollo es muy rápido y los resultados excelentes. Es posible crear los videojuegos usando cualquier IDE de escritorio aunque para Visual Studio Code existen unas extensiones lo facilitan, además es posible crear con IDE en la nube.
Ct.js es un framework para crear juegos 2D usando Javascript. Tiene una buena documentación y herramientas visuales que hacen que el aprendizaje de la programación sea divertido y el desarrollo de juegos fácil. Genera aplicaciones jugables tanto por web como en escritorio. Dispone de app de escritorio para Windows, Mac y Linux.
En este repaso de lenguajes y entornos de desarrollo no nos podemos olvidar de Python, el lenguaje más versátil y popular a nivel profesional, que también se puede usar en el desarrollo de videojuego y en la enseñanza.
Para la creación de videojuegos existen varias librerías que facilitan el desarrollo, como pygame o arcade. El IDE proporcionado por Visual Studio Code, con las extensiones adecuadas, puede hacer muy entretenido desarrollar con Python, aunque no hay que olvidar que la parte gráfica queda en segundo lugar.
Pegar un salto directo desde Scratch a la programación escrita puede ser arriesgado, muchas veces conviene hacer un paso intermedio donde se introduzcan conceptos de programación más avanzados, se trabaje con dispositivos físicos, que hagan más atractivas las clases, e incluso otros lenguajes que, aunque usen bloques, se pueda ver el resultado en texto.
MakeCode es el entorno de desarrollo online de Microsoft para acercar a los jóvenes la programación. Dispone de varias versiones adaptadas según la plataforma o el objetivo al que se dirija. La versión arcade permite crear videojuegos que se ejecutan en el propio entorno o en consolas.
MakeCode también se usa para programar Microbit, robots como LEGO Mindstorms y también para crear scripts que corren en Minecraft.
Además de programar mediante bloques tiene opciones para hacerlo con Javascript y Python.
La popular web de iniciación a la programación code.org ha creado un framework para desarrollar aplicaciones simples con Javascript y poderlas llevar a móviles o a navegadores.
La programación se puede hacer escribiendo el código o mediante bloques, lo que facilita la migración desde Scratch.
AppInventor permite desarrollar aplicaciones para Android usando bloques en un entorno gráfico online. El framework aprovecha todas las posibilidades de los móviles android, como los sensores, botones y pantalla, para crear aplicaciones rápidamente que se ejecutan de forma nativa en teléfonos y tablets.
mBlock nació como un fork de Scratch para poder programar los mBot, el robot educativo del fabricante Makeblock, y diversas placas de arduino pero con los años ha adquirido su propia identidad especializándose en interconectivad con dispositivos físicos (otros robots) y la Inteligencia Artificial.
mBlock se puede programar usando bloques y Python, tanto en aplicación de escritorio como online.
En un entorno muy parecido a la versión 2.0 de Scratch, de donde evoluciona, lleva la capacidades de programación a un nivel superior. Snap! está abierto a los desarrolladores y existen implementaciones que permiten, por ejemplo, crear juegos en red, multijugador.