¡Gracias por suscribirte a la newsletter de Juegos Robótica!
Antes de que empieces a recibir los primeros correos puedes consultar esta guía si estás empezando a descubrir la programación y la robótica en educación. ¡Gracias!

Esta guía no pretende mostrar ni defender las evidentes ventajas que tiene para los más pequeños estar en contacto con la programación y la tecnología.
No se trata de que todos los niños dominen la programación para “sobrevivir” en un futuro, como defienden algunos autores con los que no estoy de acuerdo, pero padres y educadores tenemos la responsabilidad de ofrecer un primer contacto con la programación en busca de posibles vocaciones.
No hay que obsesionarse, pero sería bueno que los niños pudieran comprobar por sí mismos su afinidad con la programación igual que les damos la oportunidad de aprender un idioma, practicar un deporte, probar con actividades artísticas, musicales o de cualquier otro campo técnico o humanístico.
A través de un primer contacto práctico y amigable con la programación podremos hacer que aquellos niños interesados puedan continuar formándose y tener una ventaja si deciden continuar en este camino más técnico.
El objetivo es que entiendan cómo funciona la tecnología que les rodea para que puedan llegar, si es lo que quieren, a ser “creadores de tecnología” en vez de únicamente “consumidores de tecnología”.
La motivación que les genera el hecho de “aprender haciendo” al poder “construir” sus propias creaciones viendo un resultado práctico, se traduce en un interés por seguir aprendiendo y descubriendo. Su curiosidad por todas las cosas aumenta y con ello las ganas de aprender.
La ventaja en educación es que se puede utilizar esa motivación y curiosidad para realizar mejor la tarea docente en cualquier materia utilizando de manera transversal la programación y la robótica educativa en las aulas.

Y los padres podrán comprobar cómo sus hijos “despiertan” y se convierten en personas más curiosas y críticas por todo lo que les rodea, independientemente de que acaben aprovechando la programación en sus futuros trabajos o no.
El objetivo no debe ser “fabricar” ingenieros, sino acercar la tecnología y despertar vocaciones. Y recuerda que el problema no es el tiempo que los más jóvenes pasan delante de las pantallas, sino lo que hacen con ellas.
Dani Sanz
Contenidos:
- ¿Cómo utilizar esta guía?
- Scratch: el principio del camino
- Computación física
- Placa Makey Makey
- Placas de desarrollo
- mBlock
- MakeCode
- Otros entornos de programación por bloques
- MakeCode Arcade
- Otros entornos para desarrollos de videojuegos
- Creación de aplicaciones
- App Inventor
- Entornos de programación transicionales
- Profesionalizando la programación
¿Cómo utilizar esta guía?
Vamos enumerar una serie de herramientas que podemos utilizar tanto para trabajar con nuestros alumnos, si somos docentes, como con nuestros hijos si somos padres.
Se propone un orden a la hora de plantear estas herramientas a los niños tal y como se muestra en el diagrama de consulta.
Los diferentes caminos dependerán de la especialidad por la que el estudiante muestre más interés o por los objetivos que nos marquemos nosotros mismos.
Cada herramienta será descrita intentando destacar las ventajas que aporta sobre otras opciones que no veremos en esta guía.

Dentro de este diagrama de baldosas partiremos de la baldosa verde con Scratch y podremos ir caminando hacia el exterior por cualquier camino de baldosas contiguas.
Esta es una propuesta basada en nuestra experiencia y opinión personal, pero las herramientas que vemos aquí no son las únicas del amplio catálogo que existe.
No podemos pretender trazar un camino rígido con las herramientas que vamos a ofrecer a los niños, pero tener presente todas las posibilidades nos ayudará a ir conformando ese camino de manera dinámica.
La guía debería ser un elemento de consulta más que un planificador estricto, y siempre nos puedes consultar en caso de tener cualquier duda.
Scratch: el principio del camino
Scratch es un entorno de programación visual a través de bloques desarrollado por el equipo de desarrollo encabezado por Mitchel Resnick del MIT.
Aunque el objetivo que Resnick buscaba con Scratch era dotar de una herramienta creativa para niños utilizando ordenadores siguiendo el construccionismo de su mentor Seymour Papert, lo cierto es que ha acabado convirtiéndose en un entorno perfecto para aprender a programar.
Mediante Scratch cualquier persona puede realizar sus propias aplicaciones, presentaciones o juegos sin tener nociones de programación, ya que las puede ir aprendiendo utilizando sencillos bloques que al unirse forman programas.

La programación por bloques ha demostrado ser mucho más efectiva en el aprendizaje de la programación y de sus conceptos fundamentales que otros métodos basados en pseudocódigo o en lenguajes de programación “clásicos”.
La facilidad de entender visualmente las funciones de cada orden o bloque acelera la curva de aprendizaje permitiendo una cómoda comprensión de las bases de la programación.
Hay otras opciones para empezar a programar por bloques, pero Scratch es el entorno más extendido y es prácticamente un estándar. Algunas alternativas pueden ser Blockly de Google o MakeCode de Microsoft.
Situamos Scratch como el principio del camino porque nos va a permitir sentar las bases de la programación independientemente del camino posterior que siga el niño.
Plan de trabajo
Scratch es la herramienta ideal para empezar desde cero, pero eso no significa que no se pueda avanzar y subir el nivel alcanzando un dominio que permita la creación de aplicaciones y juegos complejos.
En una primera etapa podemos plantear una aproximación a la programación con el objetivo de entender las bases de la programación y lo podemos hacer mediante ejemplos y pequeños retos que vayan haciendo pensar al estudiante de manera activa.
Aunque en algunos casos pueda parecer efectivo, plantear el aprendizaje de la programación con Scratch mediante la transcripción de programas previamente realizados es un error.
En la medida de lo posible evitaremos plantear a los niños que copien el programa de un juego por ejemplo. Aunque les podamos ver motivados y los niños se sientan orgullosos de poder jugar al juego que ellos han programado, simplemente han copiado el programa que ya estaba hecho y no se está potenciando su propia capacidad.
Acercarles la programación a través de retos que ellos deban resolver requiere más esfuerzo, pero será más efectivo para fijar las bases de la programación y el trabajo extra merecerá la pena.
Motivación incrementando el nivel
Otro gran error con Scratch es plantear la recompensa inmediata mediante esa copia de juegos. Una vez se ha conseguido ver el resultado creando algunos juegos puede venir el aburrimiento, y cuando se intenta subir el nivel haciendo que “se copie” un juego más complejo suele llegar la frustración y el abandono ya que les supone “demasiado esfuerzo” copiar programas cada vez más grandes.

Si planteamos el aprendizaje a través de pequeños retos dejando libertad al niño de elegir su camino, tal y como se plantea en el construccionismo de Papert, conseguiremos que sea el propio alumno el que quiera crear nuevas funciones en su programa y se sienta motivado por aprender funciones más complejas que puede realizar a través de la programación. Despertaremos su curiosidad por conocer más herramientas y funciones y su mantendremos vivo su deseo de aprender.
Mediante programación por bloques a través de Scratch se pueden llegar a realizar aplicaciones y juegos muy complejos y de muy alto nivel, pero el nivel al que se quiera llegar lo determinará el propio estudiante mostrando su curiosidad, quizá, hacia otros caminos.
Para fomentar esa elección del propio estudiante debemos permitir el contacto con otros entornos y herramientas una vez superado cierto nivel básico con Scratch, serían las propuestas que tenemos en el siguiente nivel del diagrama, pero no debemos dejar de ofrecer también un mayor nivel en Scratch junto con el resto de propuestas.
Si nos quedamos en un nivel básico en Scratch, tal y como suele suceder, estaremos dejando de aprovechar una herramienta perfecta para practicar conceptos complejos en programación.
Si vamos cambiando de herramienta, ya sea un entorno de programación o una placa o kit de robótica, para buscar la motivación con el cambio, pero siempre nos quedamos en un nivel básico de cada herramienta estaremos perdiendo un valioso tiempo de los más pequeños. Es un gran error.
Computación física
Debemos ampliar la visión del niño respecto a la programación permitiendo que conozca cómo crear programas que permitan interactuar con el medio físico más allá del uso de un teclado, ratón y una pantalla. El propio Scratch permite añadir extensiones para poder programar ciertos kits de robótica de Lego o placas como microbit, sin embargo hay entornos de programación más adecuados para aprovechar estas herramientas. Para iniciar el contacto con elementos externos diferentes al teclado podremos incorporar en Scratch el uso de la placa Makey Makey, que si bien no podemos considerar computación física, nos permite trabajar como interfaz de entrada alternativa al teclado abriendo la mente del alumno al medio físico.
Makey Makey y alternativas clónicas
La placa Makey Makey conectada por USB permite simular la pulsación de teclas a través de sus láminas metálicas. Dispone de una conexión común y de diferentes láminas o conexiones para cada tecla, de manera que si se unen eléctricamente el contacto común con una de las láminas el ordenador recibe una pulsación de la tecla a la que corresponde esa lámina.
A través de cables con terminales de pinza tipo cocodrilo podemos hacer conexiones fácilmente a elementos conductores que tenemos alrededor para hacer contacto. El propio cuerpo humano es conductor eléctrico, por lo que si con una mano tocamos el cable común y con la otra un cable conectado a una entrada, el ordenador recibirá la tecla asociada.

En el mismo circuito podemos poner frutas, plastilina conductora, líquidos, cadenas humanas o cualquier elemento conductor.
Con Scratch el niño puede crear programas que utilicen esas entradas de Makey Makey, como por ejemplo un juego cuyo mando sea un panel con botones de plastilina o un teclado de piano creado con frutas que reproduzca sonidos en el ordenador.
Placas de desarrollo
Pero si de verdad queremos trabajar la computación física lo más interesante es contar con herramientas que por si mismas interactúen con el medio físico.
Placas como Arduino o microbit cuentan con un microcontrolador programable y permiten la conexión de sensores y actuadores, incluso los pueden tener incorporados. De esta manera se puede trabajar la programación de manera que el programa toma lectura del medio físico que le rodea a través de unos sensores, por ejemplo la temperatura, la orientación de la placa, o la distancia a la que se encuentra un objeto.

Con esa lectura el programa tomará una serie de decisiones y actuará sobre el medio físico que le rodea a través de actuadores, por ejemplo luces, sonidos o movimientos de motor.
Asociamos más fácilmente al concepto de automática cuando trabajamos con el medio físico, pero la programación es igual que cuando se trabaja únicamente a nivel informático.
La ventaja de la computación física es que los niños están viendo la reacción física de sus programas, y eso les motiva enormemente.
Los escudos y placas de prácticas son una excelente alternativa al montaje de circuitos electrónicos con placas de desarrollo, facilitando el acceso a la computación física en las primeras etapas del aprendizaje.
Hay disponibles adaptaciones y escudos que permiten la conexión rápida de sensores adaptados mediante conectores rápidos evitando y también escudos de prácticas que integran gran cantidad de sensores y actuadores de manera que no haya que conectar componentes electrónicos.

Un ejemplo de este tipo de escudos de prácticas es Echidna Shield que permite utilizar la placa de desarrollo Arduino UNO con una gran cantidad de opciones integradas, aunque existen muchas opciones de este tipo de placas y escudos.
Utilizando una placa o kit adaptado y lo combinamos con la programación por bloques se facilita enormemente la programación a nivel físico desde edades muy tempranas.
Kits de robótica educativa
Los kits de robótica educativa van a permitir trabajar la computación física de una manera más «amigable» que a través de placas de desarrollo si queremos tener la posibilidad de incorporar movimiento autónomo en un prototipo.
Aunque se puede montar un robot móvil a través de placas de desarrollo es más sencillo aprovechar la gran cantidad de kits comerciales que integran un conjunto de estructuras, sensores y actuadores con los que construir un robot móvil.
Muchos de estos kits integran precisamente las propias placas de desarrollo como ocurre en algunos robots de Makeblock que integran Arduino, y también hay kits que incluyen todo el material para combinar con una placa como microbit como ocurre con el kit Maqueen.

Otros kits tienen su propia identidad y no están basados en ninguna placa de desarrollo, sino que tienen su propio controlador desarrollado específicamente para ese kit.
Es el caso de los kits de LEGO que ofrece diferentes opciones dirigidas a distintas edades o niveles de conocimiento como son WeDo, Mindstorms EV3 o Spike entre otros.
La elección de una placa de desarrollo, un kit de robótica basado en alguna de estas placas o un kit completo de robótica educativa va a depender de los objetivos docentes y de las inquietudes del propio alumno.
En el ámbito escolar tiene más sentido optar por un recorrido a través de diferentes placas y kits para tener múltiples opciones, mientras que a nivel doméstico es más importante que el kit cuadre con las motivaciones concretas de nuestros hijos.

Algunos niños pueden mostrar más interés por la construcción mecánica mientras que para otros puede ser la parte más aburrida de la robótica. De la misma forma puede que se interesen por la electrónica que forma parte del conjunto que se pretende programar o puede que la electrónica sea precisamente lo más les desmotive.
mBlock
mBlock es un “fork” de Scratch, lo cual quiere decir que es exactamente el mismo entorno de desarrollo con ligeras variaciones. En ocasiones podemos leer que un entorno de programación “está basado” en Scratch, pero eso no significa que internamente sea una versión de Scratch como lo es mBlock.
Una de las ventajas es que estéticamente no se puede diferenciar de Scratch, por lo que los niños que hayan empezado a trabajar con Scratch no van a notar el cambio. De hecho se podría empezar directamente en mBlock sin pasar por Scratch, pero no tendríamos las ventajas de la enorme comunidad alrededor de Scratch con millones de usuarios compartiendo sus creaciones.
mBlock permite abrir proyectos creados en Scratch y viceversa. La ventaja de mBlock sobre Scratch es que nos permite programar placas Arduino, y no solo podemos programar la placa Arduino de manera autónoma, sino que es muy sencillo hacer interactuar la placa con el programa en el ordenador igual que con Makey Makey pero con todas las posibilidades que nos ofrece a nivel de actuadores y sensores.
También permite la programación de otras placas como microbit, por ejemplo, pero quizá para esta placa utilizaríamos otro entorno de programación por las ventajas que enumeramos más adelante. En cualquier caso si preferimos utilizar un único entorno para trabajar la programación de aplicaciones con Scratch y placas tanto arduino como microbit, mBlock sería la mejor alternativa.

Puesto que con mBlock se pueden programar placas Arduino, también se puede programar cualquier robot basado en una placa Arduino como mBot o desarrollar un modelo propio en un nivel avanzado. Algunas versiones de mBlock cuentan con un intérprete que nos transforma la programación a través de bloques a lenguaje de código Arduino, lo cual puede ser útil en un momento de la formación en la que se quiera pasar de programar por bloques a código.
MakeCode
La plataforma MakeCode de Microsoft cuenta con diferentes entornos de programación por bloques dependiendo de qué herramienta vayamos a utilizar o programar.
En el caso de la computación física cuenta con un entorno de programación para la placa microbit que es el más utilizado y que podemos considerar estándar para esta placa, aunque hay otras alternativas como por ejemplo mBlock tal y como hemos visto.
MakeCode permite la programación a través de bloques de la placa microbit, pero la característica más diferenciadora es que cuenta con un emulador de la propia placa integrada dentro del entorno de programación. Este emulador permite al alumno conocer la reacción del programa en la placa sin tener que cargarlo cada vez, con lo cual hace más dinámica la creación y depuración del programa antes de cargarlo en la placa.

Puesto que no hay que tener la placa física en ese momento se puede trabajar con varios puestos de ordenadores y menos placas microbit en las que cargar los proyectos, o incluso trabajar de manera virtual a distancia si tener la placa física.
Aunque tengamos este emulador si el niño no acaba viendo el programa y la reacción en una placa física estaremos perdiendo la “magia” que tiene la computación física y el efecto motivador en los estudiantes.
Cuenta con un intérprete de JavaScript que puede resultar útil en el momento de cambiar de la programación por bloques a la programación a través de código.
MakeCode nos proporciona otros entornos de programación relacionados con la computación física permitiendo por ejemplo la programación de kits de robótica LEGO Mindstorms EV3
Otros entornos de programación por bloques
Hay multitud de opciones que permiten programar placas de desarrollo o kits de robótica educativa a través de bloques a parte de mBlock o MakeCode.
Algunos de ellos están directamente desarrollados para ser utilizados con un kit concreto, por lo que son los más indicados para trabajar con ese material. Es el caso de los kits de LEGO que tienen su propio entorno de programación para cada kit y que son la mejor opción aunque se puedan programar con otros entornos generalistas.

Para programar la placa básica de Arduino, a parte de mBlock o el propio Scratch, podemos encontrar opciones como Tinkercad, ArduinoBlocks, Scratch4Arduino, Ardublock, BlocklyDuino, Snap4Arduino, Miniblock, Visualino, Modkit, Embrio, Amici, Easy Arduino, XOD, MyOpenlab, Mind+, etc.
Hay tantas opciones que abruma y tomar una decisión es muy difícil. Detrás de cada propuesta para programar Arduino a través de bloques puede haber grandes empresas o ser simplemente el proyecto de una sola persona, y puede que lo usen millones de usuarios o solo la comunidad educativa de una provincia concreta.
Mi recomendación si estamos empezando es optar por una opción que tenga un equipo grande que la mantenga actualizada y que tenga una comunidad de usuarios suficiente para que sea fácil encontrar ejemplos y recursos publicados en internet, y esa opción es mBlock.
Sin embargo es un buen ejercicio utilizar otros entornos y entrar en contacto con su comunidad de usuarios ya que puede ser que encontremos más adecuado algún entorno alternativo debido a su filosofía educativa, su equipo de desarrollo o su comunidad de usuarios.
Programación de aplicaciones o videojuegos
Aunque es interesante mostrar al estudiante las posibilidades de la computación física es posible que muchos no encuentren motivación en ella y prefieran potenciar la programación a nivel informático de aplicaciones o juegos.

No podemos dejar que esos estudiantes se frustren en el camino de la computación física, y debemos permitir que vayan subiendo el nivel de la programación aplicada al desarrollo de aplicaciones o videojuegos si se encuentran más motivados en ese área.
Aunque Scratch permite aumentar el nivel mucho más de lo que se suele hacer, también hay otros entornos que pueden ayudar a optimizar el aprendizaje y conseguir más motivación en los jóvenes programadores.
Vamos a continuar utilizando bloques, pero el objetivo final de este perfil de estudiantes debe ser el código superado cierto nivel.
MakeCode Arcade
Otro entorno de programación que nos ofrece la plataforma de Microsoft es MakeCode Arcade que permite la creación de juegos en dos dimensiones.
Este entorno de programación cuenta con un motor de juegos, lo cual quiere decir que está optimizado y pensado para la programación de videojuegos permitiendo opciones concretas que son comunes en todos los juegos. La puntuación, los mapas del juego, los tipos de personajes como jugador o enemigo, cambios de pantalla o nivel, nivel de vida, final de juego, y una larga lista de funciones comunes se simplifican a través de bloques dedicados específicos.
Aunque ese control se puede llevar a cabo programando cada función por ejemplo con Scratch, el hecho de tenerlos ya integrados en MakeCode Arcade permite al estudiante poder centrarse en aspectos más enfocados al propio juego. Muchos jóvenes programadores de videojuegos se frustran en Scratch porque necesitan crear enormes programas para hacer lo que tienen pensado para su juego y se les hace interminable, sin embargo con un motor de juegos como Makecode Arcade es más fácil alcanzar el objetivo final en juegos relativamente complejos.

El entorno cuenta también con un emulador y los juegos pueden ser probados a pantalla completa en el ordenador, pero no deja de ser tremendamente estimulante para los niños la posibilidad de exportar el juego a una consola física portátil. Algunos centros de actividades extraescolares se atreven con la creación de una máquina recreativa de arcade al estilo clásico para que los niños puedan probar los juegos.
También cuenta con intérprete de JavaScript de manera que el programa hecho a través de bloques se “traduce” a código, o se puede programar directamente en JavaScript preparando al estudiante al salto a motores de juegos que se utilizan profesionalmente como pueda ser Unity.
Otros entornos para desarrollo de videojuegos
Hay otras alternativas que son adecuadas para aquellos estudiantes que muestren interés concreto por el desarrollo de videojuegos y que les puede ayudar a tener un punto de vista diferente respecto a la programación visual.
Debemos tener en cuenta a la hora de plantear alternativas para desarrollar videojuegos que el objetivo principal es el aprendizaje y práctica de la programación, en un primer momento a través de bloques. Por lo tanto deberíamos descartar cualquier aplicación que permita la creación de videojuegos a partir de plantillas o cualquier otro sistema que no sea la programación.
No buscamos una herramienta de entretenimiento sino un entorno que haga que el estudiante desarrolle unas habilidades en programación.
En esta clasificación entrarían entornos de desarrollo de videojuegos como Stencyl o KODU.

Algunos entornos no se centrarán tanto en la programación pero sí permiten fomentar la creatividad y la visión de «juego completo» a través de reglas y misiones como puede ser el clásico RPG Maker.
Creación de aplicaciones
Con Scratch se puede iniciar la programación orientada a la creación de aplicaciones y no únicamente de juegos, pudiendo crear pequeñas bases de datos, una calculadora o cualquier otro ejemplo parecido.
Sin embargo el estudiante puede asociar más una aplicación a su uso en un dispositivo móvil y entienden mejor el concepto de aplicación cuando se ejecuta en un móvil o tableta que si se ejecuta en un ordenador.
Además gracias a la posibilidad de probar sus propias creaciones en un teléfono móvil conseguiremos un extra de motivación para que los niños quieran buscar utilidad en los programas que crean.
Al trabajar con sensores propios de un móvil como el GPS o el giróscopo estaremos hablando también de computación física con el añadido de poder utilizar otras herramientas de captación propias de un teléfono como son la cámara o la pantalla táctil.
App Inventor
App Inventor es un entorno de programación a través de bloques que va a permitir la creación de aplicaciones para móviles Android. De forma similar a como el estudiante habrá podido ver anteriormente en Scratch el entorno de programación permite la creación de “pantallas” en las que se pueden definir una serie de elementos visuales que serán programados a través de bloques.
Después de alcanzar un nivel básico de programación en Scratch se puede pasar a App Inventor en el que la mayor complicación reside en conocer todas las posibilidades que ofrecen los sensores y actuadores de un dispositivo móvil, más que en los elementos generales de programación.

Gracias a la comunicación Bluetooth se pueden plantear incluso aplicaciones que interactúen con una placa Arduino o microbit o un robot completo físico, desde un sencillo mando a distancia hasta una aplicación que almacene datos captados por los sensores del robot. También podría enfocarse App Inventor para la creación de juegos que se puedan utilizar en dispositivos móviles, aunque es mucho mayor la potencia de entornos específicos para la creación de juegos como MakeCode Arcade a pesar de que no se pueda generar una aplicación para móvil asociada.
De alguna manera con App Inventor se puede estar trabajando independientemente del camino hacia el que se esté enfocando el estudiante bien sea la computación física, la creación de videojuegos o la elaboración de aplicaciones informáticas. Pasando de la programación por bloques a la programación por código.
Entornos de programación transicionales
Una vez se han asentado los métodos y conceptos generales de la programación a través de bloques puede ser el momento de entrar en contacto con los lenguajes de programación a través de código siempre que el estudiante esté suficientemente motivado. Las pocas limitaciones que pueda tener la programación por bloques desaparecen al utilizar código, además de que el rendimiento del trabajo es mayor, es decir, se consiguen programas más completos aunque sean más cortos.
Sin embargo durante la transición el estudiante puede no tener esa percepción y es importante poder trasladar ese concepto si no queremos haya frustración. Lo ideal es plantear ejemplos de programas que se hacen muy tediosos y de gran volumen a través de bloques y que se pueda ver que la misma función a través de código se simplifica mucho. Esos ejemplos concretos ayudarán a que el estudiante tenga curiosidad por trabajar con código siguiendo la “ley del mínimo esfuerzo”, pero si comenzamos con el código sin hacer ese tipo de comparaciones esa misma “ley” hará que el estudiante quiera permanecer con bloques.

No todos los profesores tienen éxito en este punto bien porque se han polarizado hacia los bloques o bien porque se han polarizado hacia el código. Lo ideal es un docente que entienda ambas propuestas y que pueda detectar el momento adecuado para empezar el cambio y motivar para que ese cambio se realice con interés por parte del adolescente.
Una buena experiencia inicial programando a través de código puede hacer evolucionar al estudiante de manera exponencial encaminando su desarrollo hacia un nivel profesional de manera acelerada.
Llamamos transicionales a aquellos entornos de programación que nos van a permitir programar una aplicación, placa o kit de robótica tanto a través de bloques como por código de manera que facilite la transición del lenguaje por bloques al código.
TinkerCad Circuits permite programar y simular una placa Arduino y tiene intérprete que transforma el programa creado a través de bloques a código. Es ideal si necesitamos aprovechar la parte de simulación que no ofrecen otros entornos.

mBlock cuenta con intérprete que permite ver directamente un programa creado en bloques para Arduino transformado en código. Permite también la edición del programa en código, pero no cuenta con simulación como TinkerCad.
Con mBlock también podemos trabajar la transición a lenguaje Python aprovechando su intérprete desde bloques y editor con la placa microbit o con el robot Cody Rocky, o sin necesidad de ninguna placa con creación de aplicaciones. Es decir, mBlock permite la creación de aplicaciones y juegos igual que Scratch con el añadido de que dispone de intérprete y editor con lenguaje Python, uno de los lenguajes más utilizados a nivel profesional.
MakeCode es un entorno transicional que cuenta con intérprete de bloques y editor con lenguaje JavaScript. Podemos trabajar la transición a este lenguaje utilizando la placa microbit, el kit de robótica LEGO Mindstorms EV3 o realizando videojuegos con Makecode Arcade.
Profesionalizando la programación
Llegados a este punto habría que dar acceso al alumno a formación adecuada y específica según sea el camino por el que muestre interés. Se trata de potenciar las habilidades respecto a la programación trabajando a alto nivel en el área de la computación física o automática, la programación web o la creación de aplicaciones o videojuegos.

Mediante entornos de desarrollo y compiladores el alumno puede ir siendo más ágil en la programación por código y aprender a estructurar grandes programas con la propia experiencia. Si la programación se quiere aplicar al desarrollo de videojuegos será el momento de pasar a plataformas con motor dedicado como es el caso de Unity, combinando la programación con el diseño gráfico.
Para continuar en la parte de computación física lo ideal es un ciclo formativo que tenga que ver con la automática en el que el alumno pueda empezar a trabajar directamente con autómatas programables, controles numéricos o brazos robóticos.
Pon un teclado en sus vidas
Si nuestro objetivo es fomentar el interés por la programación en nuestros alumnos o nuestros hijos no podemos seguir orientando el equipo que utilizamos hacia el «consumo» en vez de hacia la «creación».
Aunque hay diferentes aplicaciones para teléfonos móviles y tablets que nos permiten iniciar a los jóvenes en la programación por bloques, no tiene sentido utilizar estos dispositivos cuya misión es facilitar la «ley del mínimo esfuerzo».
El recorrido que permiten este tipo de aplicaciones es mínimo, y en cuanto el estudiante quiera avanzar mínimamente en la programación por bloques va a necesitar un equipo informático.
Siendo así, mi recomendación es empezar directamente utilizando un portátil o un equipo de sobremesa desde el principio, que es la herramienta que va a permitir avanzar a través de todas las etapas que hemos mencionado y que no deja de ser la herramienta de cualquier programador.

No podemos esperar que nuestros hijos se motiven en la programación si lo único que hay en casa son dispositivos móviles con pequeñas pantallas que dificultan el aprendizaje a pesar de que pueda parecer más atractivo para los más pequeños. Y lo mismo sirve para el entorno escolar.
Los jóvenes deben estar en contacto con toda la tecnología informática para facilitar su interés por la creación y desarrollo de aplicaciones, juegos y robots. El objetivo es que se conviertan en creadores y no en consumidores de tecnología.
Una pantalla, un teclado y un ratón nos ayudarán a conseguirlo.
¿Necesitas profundizar?
Esta guía es un resumen muy condensado de las ideas generales que puedes encontrar en el el libro «Programación y robótica educativa: por dónde empezar y cómo continuar«.

Está disponible a través Amazon al precio más económico que nos permite la plataforma de venta de libros.