Los entornos de programación basados en bloques se están convirtiendo cada vez más en la primera experiencia de programación para muchos estudiantes1, a medida que más y más escuelas comienzan a introducir y ampliar 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). Cada día, 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 demasiado difícil programar con lenguajes de programación basados en texto4, ya que a estos estudiantes les resulta difícil dominar tanto la mecanografía como la sintaxis. Como resultado, los lenguajes de programación basados en bloques se han diseñado para estudiantes desde 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, a menudo es necesario memorizar los comandos. Además, los usuarios deben memorizar la sintaxis asociada con los comandos de texto. No hay ninguna sintaxis asociada con los comandos basados en bloques.
- Mecanografía/ortografía:Los estudiantes más jóvenes tienen dificultades para usar el teclado. Los errores ortográficos se convierten en errores de compilación con un lenguaje de programación basado en texto. Los lenguajes de programación basados en bloques utilizan arrastrar y soltar. Por lo tanto, no es necesario mecanografiar ni dominar la ortografía.
Aunque está demostrado que es más fácil para los usuarios novatos comenzar a programar con un lenguaje de programación basado en bloques, aún es importante preguntarse si los lenguajes basados en bloques son efectivos para enseñar conceptos de informática. La respuesta corta es sí. Las investigaciones han demostrado que los lenguajes de programación basados en bloques han sido eficaces en la enseñanza de conceptos informáticos como algoritmos, variables, lógica condicional y comprensión de códigos6.
Por supuesto, existen algunas desventajas al utilizar lenguajes de programación basados en bloques. Por ejemplo, los estudiantes a veces pueden sentir que usar bloques no es una experiencia de aprendizaje “auténtica”7. En otras palabras, los programadores reales no utilizan 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. Se enseñan matemáticas K - College. Las herramientas que se utilizan para enseñar a un niño de primer grado son muy diferentes a las herramientas que se utilizan para enseñar a un niño de tercer año en la universidad. Las investigaciones han 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 inherentemente mejor que la otra8. Cuál sea el adecuado para su salón de clases dependerá tanto de su nivel de comodidad como educador como de la preparación de sus alumnos. Así como los estudiantes dominan las tablas de multiplicar a diferentes ritmos, 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á interesados y desafiados. Herramientas como VEXcode y Text le permiten conocer a cada estudiante en su nivel de instrucción individual.