El equipo de Blockly tiene muchos años de experiencia en el diseño de aplicaciones educativas. A continuación, se incluyen algunas de las cosas que aprendieron y que podrían ayudarte a diseñar tu propia aplicación educativa.
Prefiere los ejercicios de formato libre a los de completar espacios en blanco
Los ejercicios diseñados para enseñar un concepto específico suelen proporcionar soluciones parciales que el estudiante debe modificar para lograr el efecto deseado. En Blockly, se creó una clase de bloques no editables, no movibles y no borrables para admitir esta función. Sin embargo, a los estudiantes no les gustaban estos ejercicios de completar espacios en blanco. No sienten que la solución les pertenece.
Diseñar ejercicios de formato libre que enseñen los mismos conceptos es más difícil. Una técnica que demostró ser exitosa es usar la solución del estudiante para un ejercicio como punto de partida para el siguiente.
Recomendación: No escribas código para el usuario.
Usa instrucciones persistentes
Blockly Games está diseñado específicamente para ser autodidáctico, por lo que no se necesita un profesor ni un plan de lecciones. Para lograrlo, la primera versión de Blockly Games tenía instrucciones en cada nivel. La mayoría de los estudiantes no los leerían. Los redujimos a una sola oración, aumentamos el tamaño de la fuente y los destacamos en una burbuja amarilla. La mayoría de los estudiantes no los leerían. Creamos ventanas emergentes modales con las instrucciones. La mayoría de los estudiantes cerraron instintivamente las ventanas emergentes sin leerlas y, luego, no sabían qué hacer.
Por último, creamos ventanas emergentes que no se pueden cerrar. Están programados para supervisar las acciones del estudiante y solo se cierran cuando este realiza la acción requerida. Estas ventanas emergentes contextuales son difíciles de programar, pero muy eficaces. También era importante que estuvieran dentro del campo de visión sin interferir en el espacio de trabajo.
Recomendación: Las instrucciones deben ser breves y persistentes, pero no molestas.
Usa imágenes de bloques en vivo en la ayuda
La documentación de los bloques debe incluir imágenes de los bloques a los que hace referencia. Tomar capturas de pantalla es fácil. Pero si hay 50 imágenes de este tipo y la aplicación se traduce a 50 idiomas, de repente se mantienen 2,500 imágenes estáticas. Luego, cambia el esquema de color y se deben actualizar 2,500 imágenes, otra vez.
Para salir de esta pesadilla de mantenimiento, Blockly Games reemplazó todas las capturas de pantalla por instancias de Blockly que se ejecutan en modo de solo lectura. El resultado se ve idéntico a una imagen, pero se garantiza que está actualizado. El modo de solo lectura hizo posible la internacionalización.
Recomendación: Si admites más de un idioma, usa el modo de solo lectura.
Ten una estrategia de salida para los estudiantes
La programación basada en bloques suele ser un punto de partida para la programación. En el contexto de la enseñanza de programación informática, es una droga de entrada que genera adicción en los estudiantes antes de que pasen a temas más difíciles. La duración de este período de programación basada en bloques para los estudiantes es un tema muy debatido, pero, si tu objetivo es enseñar programación, debería ser temporal.
Por lo tanto, los entornos de programación basados en bloques que se usan para enseñar programación deben tener una rampa de salida adecuada para sus estudiantes. Blockly Games tiene cuatro estrategias:
Todo el texto de los bloques (p.ej., "if", "while") está en minúsculas para que coincida con los lenguajes de programación basados en texto.
La versión en JavaScript del código del estudiante siempre se muestra después de cada nivel para aumentar la familiaridad.
En el penúltimo juego, el texto del bloque se reemplaza por JavaScript real (como se muestra a la derecha). En este punto, el estudiante programa en JavaScript.
En el juego final, el editor de bloques se reemplaza por un editor de texto.
Los entornos de programación basados en bloques que se usan para enseñar programación deben tener un plan concreto para que los estudiantes completen sus estudios. Una estrategia de salida sólida también ayuda a calmar a quienes argumentan que la programación basada en bloques no es "programación real".
Recomendación: Ten en cuenta los objetivos finales del usuario y diseña en consecuencia.