Los entornos de programación basados en bloques se están convirtiendo cada vez más en la primera experiencia de codificación para muchos estudiantes1, a medida que más y más escuelas comienzan a introducir y ampliar los cursos y planes de estudio de informática. Uno de los lenguajes de programación basados en bloques más populares se llama Scratch2 (scratch.mit.edu). Todos los días, se cargan más de 1.500 nuevos proyectos de programación en el sitio de Scratch3. VEXcode funciona con bloques Scratch.
Una de las principales motivaciones detrás de la creación de Scratch es que muchos estudiantes jóvenes encuentran que la programación con lenguajes de programación basados en texto es demasiado difícil4, ya que estos estudiantes encuentran que tanto la escritura como la sintaxis son difíciles de dominar. Como resultado, los lenguajes de programación basados en bloques se han diseñado para estudiantes tan jóvenes como preescolares, pero la mayoría están diseñados para estudiantes de entre 8 y 16 años. La programación basada en bloques, incluido VEXcode, presenta varias ventajas para los programadores principiantes5.
- Legibilidad: los lenguajes de programación basados en bloques tienen comandos que son mucho más fáciles de leer que los comandos basados en texto.
- Memorización: los lenguajes de programación basados en bloques tienen todos sus comandos visibles para el usuario. Con los lenguajes de programación basados en texto, los comandos a menudo necesitan ser memorizados. Además, los usuarios tienen que memorizar la sintaxis que está asociada con los comandos de texto. No hay sintaxis asociada con los comandos basados en bloques.
- Mecanografía/Ortografía: los estudiantes más jóvenes tienen dificultades para usar un teclado. Los errores ortográficos se convierten en errores de compilador con un lenguaje de programación basado en texto. Los lenguajes de programación basados en bloques usan arrastrar y soltar. Por lo tanto, no es necesario escribir y dominar la ortografía.
A pesar de que está comprobado que es más fácil para los usuarios novatos comenzar a programar con un lenguaje de programación basado en bloques, sigue siendo importante preguntar si los lenguajes basados en bloques son efectivos para enseñar conceptos de informática. La respuesta corta es: sí. La investigación ha demostrado que los lenguajes de programación basados en bloques han sido efectivos en la enseñanza de conceptos de informática como algoritmos, variables, lógica condicional y comprensión de códigos6.
Por supuesto, hay algunas desventajas en el uso de lenguajes de programación basados en bloques. Por ejemplo, los estudiantes a veces pueden sentir que el uso de bloques no es una experiencia de aprendizaje "auténtica"7. En otras palabras, los programadores reales no usan bloques. Este es un aspecto importante a tener en cuenta, pero también es importante tener en cuenta los desafíos bien documentados que los lenguajes de programación basados en texto presentan a los programadores novatos.
Como educadores, sabemos que las herramientas que utilizamos para enseñar conceptos cambian a medida que cambian los estudiantes. A Matemáticas se les enseña K - Universidad. Las herramientas que se utilizan para enseñar a un estudiante de primer grado son muy diferentes a las herramientas que se utilizan para enseñar a un estudiante de tercer año en la universidad. La investigación ha demostrado que los lenguajes de programación basados en bloques son más fáciles de usar para los principiantes y son un medio eficaz para enseñar temas importantes de informática. Sin embargo, esto no significa que los estudiantes deban o necesiten permanecer siempre en un entorno de programación basado en bloques. En cambio, una mejor conclusión es que una modalidad de programación, bloques o texto, no es intrínsecamente mejor que la otra8. Cualquiera que sea el adecuado para su aula dependerá tanto de su nivel de comodidad como educador como de la preparación de sus estudiantes. Así como los estudiantes dominan sus tablas de multiplicar a diferentes velocidades, algunos estudiantes dominarán la programación con bloques más rápido que otros. La oportunidad de comenzar con la programación basada en texto los mantendrá comprometidos y desafiados. Herramientas como VEXcode y Text le permiten conocer a cada estudiante en su nivel de instrucción individual.