Biblioteca Digital Abierta labNauTICs

Innovación educativa, Minecraft Education y enseñanza STEAM.

lecciones para enseñar programación usando Minecraft Education

Planificación de Clases de Programación en Minecraft Education

La planificación de clases siempre es un gran desafío. Veamos cómo comenzar a enseñar Programación con Minecraft.

Te llevarás al final del artículo una visión mucho más clara de cómo planificar clases de programación con éxito ✅ para alumnos de entre 6 y 14 años usando Minecraft Education.

Podrás aplicar, modificar y extender nuestra guía de preguntas dinámica y completa para introducción a la programación.

También, te compartimos una Planificación de 10 Clases basada en objetivos y situaciones de aprendizaje, con los recursos y lecciones pertinentes.

Conceptos de Programación que podemos enseñar en Minecraft Education

Minecraft Education es una herramienta de Aprendizaje Basado en Juegos (ABJ) para enseñar múltiples materias.

como encontrar las coordenadas en minecraft

¿Qué tener en cuenta al leer este artículo?

Según la edad, el nivel, la currícula educativa, los intereses y las habilidades previas de los alumnos, podremos enmarcar el aprendizaje en desafíos o retos motivadores y de aprendizaje significativo.

Esta guía es para nivel intermedio, y realizaremos algunas aserciones sobre lo que ya sabes. Si no entiendes bien este artículo, te puedes dirigir a la guía de certificación gratuita, disponible aquí.

¿Te gustaría profundizar en lo que vemos aquí?

El aprendizaje requiere de preguntas para ser efectivo.

¡Contáctame en Linkedin, O deja un comentario para debatirlas!

Soy Juan Ignacio Lanosa y soy un apasionado de la Educación STEAM. Profe de programación, videojuegos, minecraftero y fundador de lab academia.

Te contaré cómo crear aulas innovadoras, clases memorables y trabajar con la tecnología educativa al máximo.

foto de Juan Lanosa, fundador de lab y educador en programacion, desarrollo de juegos y minecraft
Juan I. Lanosa, Educador y Líder en Tecnología educativa.

Introducción a la Programación en Minecraft Education.

Los Lenguajes de programación de Minecraft Education

pantalla de selección para la herramienta de programación de minecraft education. elegir entre makecode, python o tynker.

Con CodeBuilder, el intérprete de programación de Minecraft Education, podemos enseñar Python, Javascript y lenguajes de programación visual (MakeCode y Tynker) similares a Scratch.

Las tecnologías pueden categorizarse en los siguientes grupos:

  • Programación Visual con MakeCode y Tynker : Introducción a los algoritmos y la programación. Fácilmente comprensible por alumnos más pequeños (rango 6 a 10 años de edad) y menos experimentados, gracias a su forma de puzzle / rompecabezas para encajar las piezas o pasos de un programa.
  • Programación escrita con JavaScript en MakeCode – Sintaxis y semántica de lenguajes de programación. Es un nivel intermedio con el que también podemos comenzar a los 10 u 11 años. Tiene tipos de dato e instrucciones acotadas; y es fácilmente transformable a programación en bloques. Es perfecto para hacer transición a la programación escrita.
  • Programación con Python para Minecraft Education – Composición y diseño de algoritmos de programación. Python puede solaparse o ser el primer lenguaje de programación escrita para aquellos alumnos caracterizados por el pensamiento abstracto y la lógica. Gracias a su facilidad de reconocimiento de instrucciones y lectura del código, puede implementarse desde los 8 años hasta los 14+ años de edad.

💡 Curiosidad:

Python tiene alrededor de 8.2 millones de usuarios[1]. El 49%[fuente] de los programadores lo usa o ha usado. Se ha popularizado mucho más en los años recientes por su gran versatilidad y aplicaciones en Data Science, Machine & Deep Learning, IA, como también una gran comunidad Open Source.

Programación visual vs. Programación escrita

La visualización es un andamiaje para desarrollar habilidades de manera eficaz. Somos seres diversos, que aprenden de maneras diversas; pero al final, siempre buscamos en el aprendizaje la generación de mapas mentales con conceptos asociados, en donde la memoria no será el todo, sino una parte. (¡Y más en la programación!).

A la hora de enseñar programación y elegir nuestro andamiaje, la lectura y la réplica de código son algunos posibles medios para obtener resultados, pero sería imposible aprender a programar solo repitiendo o leyendo programas.

La programación visual (refiriéndome al primer grupo de tecnologías de la lista) es un lenguaje universal, pero no cubre todas las necesidades y ritmos. Así que, cualquiera sea el intérprete y lenguaje que usemos, debemos tener siempre nuestras explicaciones y una pizarra a mano para impulsar las asociaciones y conexiones mentales necesarias entre los datos; y así crear información utilizable y aprendizajes significativos y duraderos en el tiempo.

No hay realmente una valoración de uno por sobre otro. Entendemos que la programación escrita y la programación visual deben ir de la mano, especialmente durante los primeros 4 años de estudios en programación, y en todas las edades.

Deberás analizar el contexto grupal, individual e institucional para elegir la mejor herramienta para enseñar programación a cada grupo.

Cómo elegir entre programación visual y escrita:

  • 🙍‍♂️ Plasticidad y contexto previo de los alumnos. En todos los casos debe estar cubierto un apoyo visual y práctico para invitar a los alumnos al desafío. La programación visual será siempre el mejor primer ejemplo.
  • 🧊 Tolerancia a los errores. La programación escrita puede ser un poco más desafiante a la hora de resolver ejercicios. También será una tecnología más «seria» para los alumnos.
  • 🚸Edad y desarrollo cognitivo: Las edades y la capacidad de atención jugarán un gran papel a la hora del aprendizaje. Prueba, evalúa y revisa la estrategia tecnológica de manera progresiva según las edades, capacidades individuales y grupales.

Programación estructurada en Minecraft Education

Minecraft nos ofrece en CodeBuilder todas las herramientas para enseñar programación estructurada, y dar una introducción a la programación orientada a objetos (POO).

Veamos qué conceptos debemos tener presentes siempre al enseñar a programar con Minecraft (y cualquier otra tecnología 😉):

Los preguntas Fundamentales para Aprender Programación

  • Algoritmos: ¿Qué es un algoritmo? ¿Cómo comprender e interpretar un algoritmo? Lenguaje visual y pseudocódigo, modelos y representaciones.
  • Tipos de Dato: ¿Qué son los tipos de dato? ¿Qué son los lenguajes fuertemente y dinámicamente tipados? ¿Cuáles son los tipos y sus limitaciones técnicas?
  • Variables y Constantes: ¿Cómo comprender las variables con ejemplos cotidianos? ¿Cuándo poner una variable y cuándo no hacerlo? ¿Qué representa el nombre «variable»? ¿Qué es el scope de una variable? ¿Cómo es su ciclo de vida?
  • Estructuras de Secuencia: ¿Qué son las secuencias?¿Puede existir un programa infinito o todos los programas son finitos? ¿De qué manera lee el compilador?
  • Instrucciones de Input y Output: ¿Qué son las interfaces? ¿Cuándo y para qué generar salidas en nuestros programas? ¿Qué son las entradas y las salidas de datos? ¿Cómo combinar las entradas, salidas y operaciones con estas?
  • Estructuras de Selección o Condicionales (if, else if, switch): ¿Dónde están los condicionales en las dinámicas cotidianas? ¿Cómo permitir o no permitir un camino puede ayudar a crear programas de automatización y generalización?
  • Estructuras de Repetición o Iteración (while, do while, for, foreach): ¿Qué ventajas se obtienen directamente de la iteración? ¿Qué son las condiciones definidas y las indefinidas para los iteradores?
  • Funciones: ¿En qué momento extraer una función? ¿Cómo ayudan las funciones en la comunicación y automatización de procesos? ¿Qué son los retornos y los parámetros y cuándo usarlos?

Otras cuestiones a tener en cuenta al Enseñar a Programar:

Las mil y un otras preguntas de Programación

La informática y la computación no son ciencias aisladas del mundo; y nos permiten crear de manera práctica Mapas Conceptuales de Información.

Aplicada de manera correcta, la programación no solo es una gran herramienta comercial, sino también una gran Integradora y Visibilizadora del Aprendizaje Significativo.

El diseño de algoritmos y consecuentemente de sistemas, nos permite sublimar los modelos de información y el funcionamiento cognitivo en representaciones virtuales. Podemos alcanzar la integración de la información ubicando conceptos, interacciones, entradas y salidas, variables y constantes en sistemas de información, que, pasado un punto determinado de experiencia, terminan por organizarse de manera inconsciente en cada desafío cotidiano y creativo que afrontamos.

¿Todo el mundo debería aprender programación?

En el mundo no hay dos personas iguales, y por eso mismo seguimos en constante desarrollo y descubrimiento.

Hay una broma común en IT, de la cuál me puedo reír por su certeza, que dice que los Project Managers somos Programadores viejos y cansados. Y, sin ánimos de ofender, veo por qué todos los programadores la hemos dicho en algún momento de nuestras carreras. La buena noticia es que tiene un trasfondo que podemos analizar, y seguir riéndonos de esta broma, aprovechándola para dar un paso atrás y detectar la raíz de la cuestión. Te prometo que es más importante de lo que parece.

PD: Me encanta la gestión de proyectos y la programación 🙂

Gestión de la información y los Mapas Mentales

Te has preguntado ¿Por qué en todos lados se lee que la creatividad y el pensamiento lógico son las habilidades del futuro?

Crear un Mapa o Modelo nos permite detectar lo esencial y ubicar lo real en una representación virtual, que es fácilmente comprensible por otros.

Estos mapas o modelos pueden ser creados para definir los caminos posibles entre dos puntos determinados.

Algunas reflexiones acerca de ello:

La correcta gestión y creación de sistemas de información conlleva un análisis multidimensional, y la reducción a lo esencial de las cosas. El principio de gestión es el cumplimiento de metas con recursos determinados, fortalezas, oportunidades, debilidades y amenazas. [ver FODA]

Por esto, hay veces donde el Project Management aparece como una resultante de la acumulación de contextos, reducciones y asociaciones de cosas y personas. La colaboración y la integración del trabajo es una pieza fundamental para generar plusvalía cognitiva y comercial; y existen Project managers tan diversos como Científicos curiosos hay en el mundo que ocupan estos roles.

Cuando generamos modelos, y analizamos lógicas y contextos exhaustivamente, estamos adquiriendo o ejercitando esta competencia de gestión de la información tan importante para la ciudadanía y la vida social.

Estaremos enseñando a programar, pero entre líneas, también estaremos enseñando a comprender lo que nos rodea y usar la creatividad plena para la construcción y el cultivo de la curiosidad de manera organizada.

Entonces; sin disminuir la importancia, y habiendo brindado una explicación profunda de la programación, no quería dejar de lado la diversidad y los caminos infinitos que podrán seguir estos alumnos con un buen aprendizaje de programación y el desarrollo de habilidades de comunicación, pensamiento crítico y aprendizaje autorregulado.

Nuestra importancia al enseñar y escribir el futuro ✍

No debemos luchar contra el tiempo ni los intereses cuando enseñamos.
Las ideas y las informaciones se construyen con tiempo, y debemos luchar para brindar al menos una (y durante todo el tiempo humanamente posible; todas las que podamos) experiencia significativa e inspiradora de aprendizaje que pueda cambiar su vida definitivamente.

Los niños inteligentes son ciertamente los más integrados. Debemos, con vocación y conocimiento, inspirar y alimentar la inteligencia comprendiendo la información, y el todo; y modelando sistemas de información, sociales y ciudadanos de manera creativa.

Planificación de Clases para Introducir a la Programación con Minecraft

La educación y el aprendizaje se hacen valer de la experiencia y la comunicación de los conocimientos. Las preguntas y los ambientes que invitan a la curiosidad siempre son los mejores lugares para aprender, y aquí, además de estas lecciones que te compartiré, deberás agregar tu propia firma para romper con el «modelo» y hacerlo realidad.

«Lo que importa, sobre todo mientras se es joven, no es cultivar la memoria sino despertar el espíritu crítico y el análisis; pues solo así se puede llegar a comprender el significado real de un hecho en vez de racionalizarlo»
– Jiddu Krishnamurti

Aquí veremos una (de cientos) de estrategias para implementar la programación en Minecraft con nuestros alumnos. Para poder obtener resultados reales, ¡Haz volar la creatividad y desarrolla la inteligencia con amor!. Nadie conoce mejor a esos chicos y chicas que tú, profe.

Lección 1: Tipos de dato y variables

Contexto

Encontrar ejemplos de la vida real en donde utilizamos la categorización de información y de cosas; extrapolando este razonamiento a la programación.

Uno de los ejemplos que suelo utilizar siempre en las primeras 5 clases (o cuantas clases sea necesario hacerlo) es explicar variables junto a tipos de datos usando este juguete:

La caja representa la memoria. Un contenedor de información para nuestras piezas encajables.

Cada una de las piezas encajables tiene una forma única. Las podremos insertar solo en el hueco que es igual a su silueta.

💡 Colabora:

¿Tienes materiales o más ejemplos recomendados para compartir?
¡Deja un comentario! ⬇

Hay una duda recurrente en todos los grupos, por un video de TikTok muy viral; ¿Y que pasa si puedo meter un cubo en la silueta de la esfera? (obviando que el juguete esté mal diseñado 🤡)

Si. Puede darse el caso en donde una silueta esté contenida dentro de otra. Justo como sucede cuando comparamos al conjunto de Números Naturales frente a los Números Reales, quizás un valor pueda encajar en dos tipos, pero nosotros debemos elegir la mejor manera de usar el «juguete» (la asignación de variables y tipos).

Materiales de referencia recomendados para el educador/a

Objetivos de aprendizaje

  1. Comprender y distinguir los tipos de dato Integer, Float, String, Entidad, y Bloque
  2. Enumerar las operaciones válidas e inválidas entre tipos de dato, preguntándose, por ejemplo ¿Cuánto es 1 + Bloque de tierra? ¿Es esto posible?
  3. Ser capaz de mostrar un mensaje en la consola/chat «Hola mundo»
  4. Ser capaz de elegir y realizar progreso individual con las lecciones prediseñadas de Minecraft Education en Makecode o Python.

Lecciones 2, 3 y 4: Variables y Operaciones

Contexto

Usando los laberintos que te he mostrado en el post anterior, presentamos a el Agent. Podemos tomarlo como un juego de robótica.

Objetivos de aprendizaje

  1. Comprender las operaciones aritméticas de suma, resta y multiplicación usando razonamiento espacial.
  2. Generar un laberinto personalizado con bloques, y crear un algoritmo de por lo menos 5 pasos para resolverlo.
  3. Contabilizar en una variable todos los movimientos hechos por el Agent para resolver los laberintos.
  4. Comparar información y Generar una escala de «dificultad» según los laberintos creados por el profe y los alumnos.

Lecciones 5 a 10: Estructuras de Selección

Contexto

¿Cómo podríamos crear una granja automática en Minecraft usando sólo programación? ¿Cómo crear un sistema de trampas que juzguen si hay un enemigo cerca? ¿Cómo podría automatizar que mi personaje dentro de casa se quite la armadura? Nota: Podemos presentar estas preguntas y las lecciones de Code.org como hilo principal de trabajo.

Materiales de referencia recomendados para el educador/a

ELEMENTOS DE PROGRAMACIÓN (Anívar Chaves Torres, Universidad Nacional Abierta y a Distancia) (sección Operaciones Lógicas).

VIDEO DE TodoCode – Estructuras CONDICIONALES ✏️ | SI SINO | Introducción a los ALGORITMOS y la PROGRAMACIÓN #7

Objetivos de aprendizaje

  1. Crear un condicional simple (if)
  2. Crear una estructura condicional completa (if + else)
  3. Comprender el uso de las estructuras condicionales anidadas (if, dentro de if, dentro de if, dentro de…)
  4. Comprender y utilizar una condición de comparación lógica. (Condición_1 es Verdadero (AND/OR) Condición_2 es Verdadero…)
  5. Ejercitar las lecciones de programación correspondientes en MakeCode.

¿Qué sigue después?

Las funciones o eventos pueden ser explicadas en las primeras clases (incluso antes que todo lo anterior) para generar una mayor motivación en los alumnos frente a los conceptos más complejos.

Quedará a tu encargo organizar las estructuras de iteración, las funciones y la comunicación entre funciones, finalizando por manipulación de cadenas de texto en este viaje.

Programar es una tarea de ejercitación y re-aprendizaje. Estos conceptos deberán ser vistos y vueltos a ver a lo largo de años, con diferentes lenguajes, ejemplos y niveles de profundidad para realmente oficializar el aprendizaje de ellos.

💡 Escribe tus ideas:

Comparte qué te gustaría en los siguientes artículos. ¿Más profundidad? ¿Más ejercicios? ¿Más ejemplos?
⬇ ¡Deja un comentario! ⬇

2 respuestas a «Planificación de Clases de Programación en Minecraft Education»

  1. […] realices actividades con una progresión que respete la misma lógica compartida entre programas de Introducción a la Lógica de programación, la cual comprende programación estructurada, estructuras de dato y […]

  2. […] Aprendizaje Basado en Juegos con proyectos de programación […]

Deja una respuesta

¿Tienes dudas?

Ponte en contacto y consulta sobre nuestros artículos, capacitaciones, contenidos y servicios de Educación STEAM e Innovación abierta.

¡Síguenos en las redes!

Verificado por MonsterInsights