↖️↖️↖️Escucha este episodio 🎧 Descarga 🎧 Suscripciones en iVoox / Apple Podcasts / Spotify / Google Podcasts 🎧
EduBlocks ha aparecido mencionado antes en Juegos Robótica como en el especial que dedicamos a entornos de programación para Microbit, pero hoy quiero profundizar un poco más para que veas todas las posibilidades que tiene por si te animas a utilizarlo con tus alumnos como transición de la programación por bloques a Python.
Hoy empezamos con una historia maravillosa cuyo resultado acabó siendo EduBlocks, uno de los entornos de programación educativos más utilizados del mundo y que nació de la inquietud de un niño de 12 años. Es evidente que el hecho de que sea un niño el que haya intentado solucionar el problema que tenían otros niños ha contribuido a que la herramienta sea tan accesible para los más jóvenes.
Joshua Lowe explica perfectamente el problema que se encontró y cómo se le ocurrió solucionarlo en su intervención durante la conferencia EuroPython celebrada en Edimburgo en julio de 2018 por lo que dejo enlazado el vídeo del que extraeré algunas citas textuales.
El problema
Joshua explica que Scratch se introducía en Inglaterra en tercer año académico con niños entre 7 y 8 años. Dependiendo de las habilidades de lectura los niños consiguen introducirse en Scratch con mayor o menor dificultad. También menciona Scratch Jr. que en Inglaterra se empieza a mostrar a niños a partir de los 4 años.
Python, el lenguaje de programación más utilizado en educación y uno de los más utilizados a nivel profesional en el mundo, se introduce en Inglaterra en el octavo año académico con niños en sus 12 o 13 años. Para entonces llevan 5 años utilizando Scratch o incluso más si contemplamos Scratch Jr.
Según Joshua el mensaje que se lanza es que durante cinco años no hay nada más en programación para ofrecer más allá de Scratch y cuando llega el momento de pasar a Python sus compañeros ya habían perdido interés en la programación. Es decir, cuando se presenta Python la gente realmente no quiere aprenderlo… no quieren aprender a programar y Joshua considera esto un gran problema.
Entonces se preguntó por qué no se introduce Python antes de manera que aún no se haya perdido el interés por programar y llego a la conclusión de que Python no se presentaba antes por tres razones:
- Hay una falta de habilidades relacionadas con la mecanografía con teclado en una era dominada por dispositivos móviles y tabletas. Con Scratch realmente no tienes que teclear mucho, mientras que Python es un lenguaje de programación por código basado completamente en texto.
- Falta de formación del profesorado. En Inglaterra se lanzó un currículum integrando conceptos de computación pero los profesores no estaban capacitados (me suena familiar).
- Python es demasiado aterrador para los niños más pequeños.
La solución
Entonces Joshua a sus 12 años planteó la solución a esos problemas que había identificado como los causantes de que Python no se presentara antes de los 12 o 13 años a los niños a través de Edublocks.
Pensó que era necesaria una herramienta con la interfaz gráfica sencilla y amigable que ofrecía Scratch que no hiciera necesaria una gran formación por parte del profesorado y en la cual la mecanografía no fuera una habilidad necesaria. Parece evidente, pero como dice el propio Josh nadie lo había planteado antes.
En resumen EduBlocks es un entorno de programación que utiliza Python por medio de bloques que se arrastran y conectan como se hace en Scratch. La particularidad de EduBlocks es que los bloques incluyen el código en Python al que hacen referencia, pero no es necesario teclearlo.
Es la solución de un niño para otros niños y seguramente por eso ha conseguido algo que ningún adulto ha podido plantear anteriormente.
Uso correcto en educación
Joshua ha explicado perfectamente las motivaciones que le llevaron a crear esta herramienta, los problemas que quería solucionar y el por qué de la solución que ofrece con EduBlocks.
Esperemos que ningún catedrático en educación se atreva a redefinir el uso que se le puede dar a esta herramienta en el aula pervirtiendo el objetivo original de su creador como hemos visto tantas veces en computación con el uso de LOGO contradiciendo las premisas de Papert, de SmallTalk sin entender a Alan Kay o más recientemente Scratch sin saber siquiera lo que propone Resnick.
¿Qué características tiene EduBlocks?
Las características de EduBlocks tienen que ver con el objetivo principal de ayudar a los niños a pasar de la programación por bloques al lenguaje Python. El aspecto general de la interfaz es una mezcla entre Scratch y un editor de Python.
La particularidad está en que las órdenes de programa propiamente dicho se introducen por medio de bloques tipo Scratch apilables entre sí dependiendo de su función concreta. Dentro de cada bloque está escrita la instrucción en Python correspondiente de manera que al terminar el programa se puede ver la estructura en bloques, pero también el programa escrito en Python.
Por un lado el sistema de bloques da seguridad a los estudiantes porque de alguna manera siguen utilizando el método gráfico de Scratch y por otro lado ayuda a que no haya fricción teniendo que escribir toda la instrucción en código.
Es cierto que en muchos editores de Python existe la función de texto predictivo que permite que el programador no tenga que escribir toda la función en código, sino que es el sistema el que va sugiriendo opciones con las primeras letras pulsadas, pero los estudiantes que vienen de trabajar con Scratch agradecen este sistema de bloques puesto que aún no están familiarizados con las órdenes en Python.
El resto del entorno es igual que cualquier otro editor de Python destacando el intérprete de comandos que será el medio en el que el usuario puede interactuar con el programa resultante.
De hecho el programa se puede cambiar sobre la marcha de editar el programa por medio de bloques a hacerlo por medio de instrucciones en código por lo que podemos utilizar EduBlocks de la misma forma que lo haríamos con cualquier editor de Python.
De hecho, lo ideal es que el estudiante vaya utilizando el cambio de modo de diferente manera según va avanzando en la comprensión del lenguaje Python. En un principio permanecerá el 95% del tiempo en el modo por bloques y cambiará a código simplemente por curiosidad para ver cómo es el programa resultante en código. Pero más adelante puede pasar a utilizar de base la opción de código y pasar a veces al modo por bloques si necesita plantear alguna función que no llega a tener clara en código.
En cualquier caso lo poderoso de este entorno de programación es que el estudiante estará continuamente viendo la orden en lenguaje Python, incluso en el modo por bloques, de manera que inevitablemente se empezará a familiarizar con este lenguaje de programación.
Lenguajes y placas
EduBlocks permite cinco opciones principales de uso según el lenguaje o dispositivo que se quiera utilizar:
- Python 3, para crear proyectos en Python con los que podamos interactuar a través del intérprete de comandos en un equipo informático.
- HTML, para crear páginas web sencillas que se mostrarán en simulación y que pueden ser publicadas posteriormente en la web.
- Micro:bit, para crear proyectos en microPython exportables a una placa microbit para practicar con computación física.
- CircuitPython, para crear proyectos en Circuit Python exportables a una placa Circuit Playgroung Express de Adafruit para practicar con computación física.
- Raspberry Pi, para crear proyectos en Python trabajando con una Raspberry Pi que permiten utilizar el puerto de expansión de entradas/salidas para computación física.
Como puedes ver no se trata únicamente de pasar de Scratch a Python para proyectos puramente informáticos, sino que además se pueden crear páginas web en html 5 o practicar la computación física con varias placas soportadas.
La opción más interesante en computación física puede ser la que se ofrece con Microbit por ser una placa muy económica y que ya cuenta con varios sensores y actuadores. Circuit Playground Express también es buena opción, pero es más difícil de adquirir en España.
Aunque hay muchas opciones de entornos que permiten la programación de la placa Microbit tanto a través de bloques como en lenguaje Python, EduBlocks va a permitir suavizar la transición entre esas opciones igual que lo hace para pasar de Scratch a código.
Recursos educativos
Siempre destacamos los recursos educativos que nos ofrecen este tipo de propuestas a nivel de documentación y unidades didácticas para poder utilizar el entorno con alguna guía que anime al docente a utilizarlo por primera vez.
En este caso Edublocks proporciona un currículum que permite avanzar cubriendo algunos conceptos básicos a lo largo de seis lecciones. En esa sección se incluyen también una serie de tarjetas imprimibles que facilitan el paso de Scratch a Python utilizando EduBlocks. En cada ficha se representan funciones programadas en Scratch y su equivalente en EduBlocks y por tanto en Python.
Finalmente hay publicadas una serie de guías para realizar proyectos paso a paso en las que el propio Joshua propone ejemplos para cada placa o lenguaje dentro de EduBlocks.
Novedades en la versión 4.0 de EduBlocks
La versión 4.0 de EduBlocks incorpora cambios en la interfaz, pero lo más interesante es la posibilidad de crear proyectos en HTML5 , el repositorio de proyectos y la opción de compartir una clase.
Compartir proyectos se está convirtiendo en una característica esencial en cualquier entorno de programación educativo. Hemos hablado mucho en Juegos Robótica de la importancia de compartir los proyectos y recibir feedback del resto de compañeros. Ahora es posible hacerlo a través de la pestaña «showcase» que permite explorar proyectos compartidos por otras personas filtrando por placa y lenguaje. Podremos abrir un proyecto y editarlo como propio de manera similar a como se hace en Scratch, el entorno del que se supone que vienen los niños cuando empiezan con EduBlocks.
Complementando esta opción de repositorio orientada a la comunidad alrededor de EduBlocks existe también una sección en la que solicitar y proporcionar feedback en la que también se pueden plantear dudas y estar en contacto directo con otros usuarios registrados.
La novedad de la versión 4.0 de EduBlocks que resultará más interesante para muchos educadores es la creación de grupos que formen una clase de manera que el docente puede estar conectado con sus alumnos en grupo. A través de esta herramienta se pueden asignar tareas a los estudiantes partiendo de un programa base y los alumnos lo entregan de forma individual para que el educador pueda revisar la tarea y hacer comentarios para el alumno.
Jóvenes referentes en programación
Últimamente veo que se pone mucho el foco en mostrar referentes relacionados con la computación y con especial atención en el género femenino, pero se suelen utilizar pocos referentes actuales y es muy difícil que sean niños o adolescentes.
Permitidme que haga de Abuelo Cebolleta, pero cuando yo era un adolescente todos sabíamos quiénes eran los gemelos Oliver que ya programaban videojuegos profesionalmente cuando aún iban al colegio. Estaban en Inglaterra y sonaban muy lejanos, pero sabíamos de ellos a pesar de no tener internet ni ningún profesor esforzándose en mostrarnos referentes en programación.
Sin embargo los hermanos Ruíz vivían en casa de sus padres en Madrid, en Pozuelo concretamente. Los creadores de Dinamic cuyos juegos disfrutábamos habían iniciado un imperio alrededor de la programación de videojuegos a la misma edad de los que éramos sus jugadores.
¿Dónde están estos referentes adolescentes hoy en día?
Joshua Lowe y la historia detrás de EduBlocks es sin duda un excelente ejemplo por lo que te invito a compartir su historia con tus alumnos si comienzas a utilizar EduBlocks. Recuerda que no solo es desarrollador principal de EduBlocks, sino que participa como editor en Micromag además de participar en otros muchos proyectos.
Dani S.
Deja una respuesta