Uso de bloques para enseñar codificación a principiantes de cualquier edad
El uso de entornos de codificación basados en bloques, como VEXcode, es una forma efectiva de enseñar informática a codificadores novatos de cualquieredad. Aunque muchas personas consideran que la programación basada en bloques es apropiada solo para estudiantes jóvenes o entornos de aprendizaje informales, la codificación basada en bloques en realidad ayuda a los estudiantes de todas las edades a aprender a codificar.
En la Conferencia de Educadores de VEX de 2023, el Dr. David Weintrop compartió una descripción general de su investigación que apoya el uso de la codificación basada en bloques para estudiantes principiantes de ciencias de la computación en su presentación "Investigación de Ciencias de la Computación en Aulas K-12"2. El trabajo del Dr. Weintrop muestra cómo la codificación basada en bloques es una herramienta poderosa para enseñar a los informáticos principiantes, ya que reduce las cargas cognitivas de los estudiantes, aumenta el compromiso y la motivación, y fomenta la comprensión conceptual de los estudiantes de los conceptos de informática.
En su presentación, el Dr. Weintrop describió un estudio en el que trabajó con estudiantes que tomaban un curso introductorio de informática en una gran escuela secundaria pública urbana. Los estudiantes, en tres secciones diferentes de la misma clase, llegaron con el mismo nivel mínimo de conocimiento previo, y se les enseñó con el mismo plan de estudios, por el mismo maestro y utilizando el mismo entorno de codificación. La única diferencia fue que cada grupo utilizó un método de codificación diferente: basado en texto, basado en bloques o un híbrido de los dos. Después de completar el plan de estudios de cinco semanas, los alumnos que aprendieron usando codificación basada en bloques obtuvieron puntuaciones estadísticamente más altas que los de los otros grupos.
Menor carga cognitiva para principiantes
Una de las razones por las que el uso de la codificación basada en bloques con codificadores principiantes es tan eficaz es que reduce la carga cognitiva, lo que les permite centrarse en los conceptos de informática que los profesores quieren que interioricen. Cuando los estudiantes principiantes aprenden a codificar usando texto, deben centrarse en una multitud de detalles de sintaxis solo para que los comandos más simples se ejecuten correctamente. Esto se ilustra en la siguiente imagen de un proyecto muy simple de VEXcode VR Python para que un robot avance 200 milímetros y luego gire a la derecha. ¡Solo en ese proyecto simple, los estudiantes deben asegurarse de que los paréntesis, los dos puntos y los guiones bajos estén en el lugar correcto, que los parámetros se ingresen en el orden correcto, que todas las sangrías sean correctas y que no haya errores ortográficos! Un error con cualquiera de esos detalles haría que el proyecto no se ejecutara.
La codificación con bloques, por otro lado, elimina la necesidad de centrarse en tales detalles desde el principio. Con los bloques, los estudiantes eligen entre una caja de herramientas de opciones de comandos, en lugar de recordar comandos de memoria y escribirlos perfectamente. Los bloques son fáciles de leer, se parecen mucho más al lenguaje hablado y se pueden leer de izquierda a derecha, de arriba a abajo. Los bloques se apilan para que los estudiantes no tengan que preocuparse por la sangría y sepan que el proyecto fluirá según lo previsto.
La imagen a continuación es de un proyecto en el que el robot se comporta igual que el proyecto de Python anterior, pero un codificador novato puede arrastrar fácilmente los bloques, apilarlos, cambiar los parámetros según sea necesario y centrarse en comprender la secuenciación involucrada.
En su presentación, el Dr. Weintrop describió otro estudio en el que observó a los estudiantes que tomaban cursos de Principios de Ciencias de la Computación AP, para ver si el uso de la instrucción y evaluación basadas en bloques afectaba su rendimiento en el examen AP3. Descubrió que todos los estudiantes obtuvieron mejores resultados en las preguntas de los exámenes basados en bloques, y que los estudiantes de poblaciones históricamente excluidas de la instrucción en informática, como los estudiantes de minorías y las mujeres, encontraron un beneficio aún mayor en la instrucción y las evaluaciones basadas en bloques.
Aumentar la motivación y el compromiso
Además, la codificación con bloques puede aumentar la motivación de los estudiantes y su compromiso continuo con la informática4. Con los bloques, un ciclo de retroalimentación visual rápido, como ver el comportamiento de un robot virtual en VEXcode VR, junto con la facilidad de modificar proyectos de bloques, permite a los estudiantes tener experiencias de codificación exitosas que validan su aprendizaje.
Al codificar con texto, los novatos a menudo se enfrentan a errores desconcertantes del compilador debido a una sintaxis incorrecta o faltas de ortografía. Un pequeño error puede hacer que un problema no se ejecute, lo que puede ser abrumador y frustrante. Estas frustraciones pueden acumularse rápidamente, y la retroalimentación que los estudiantes pueden interiorizar es que la informática es demasiado difícil y, por lo tanto, no es para ellos.
La codificación basada en bloques está diseñada para evitar esto. Debido a que las formas de bloque encajan entre sí solo de maneras específicas, es imposible cometer un error de compilador. Por ejemplo, al codificar en bloques, es imposible poner un bloque indicador de forma ovalada como condición en el bloque hexagonal [Esperar hasta]. Solo se aceptará un bloque hexagonal. (ver imagen a continuación), porque no encajarán entre sí. Si bien un proyecto de codificación basado en bloques puede no comportarse como se pretende, los estudiantes pueden solucionar fácilmente la lógica de su proyecto en lugar de luchar con la sintaxis.
Promover la comprensión conceptual de las CS
Cuando los estudiantes aprenden a codificar usando bloques, los proyectos complejos de informática se entienden más fácilmente. Se puede desarrollar una comprensión conceptual de bucles, condicionales, algoritmos y variables en un entorno basado en bloques, porque la codificación con bloques reduce la barrera a esos conceptos cuando se reduce la carga cognitiva y aumenta la motivación y la persistencia de los estudiantes. En la presentación, el Dr. Weintrop compartió cómo las percepciones de los estudiantes sobre la programación basada en bloques lo confirman, como se muestra a continuación.
Como se explica en la presentación, la codificación basada en bloques es una herramienta poderosa que permite a los estudiantes de todas las edades aprender informática introductoria. La idea de que los estudiantes de secundaria o mayores deben comenzar a codificar en texto perjudica a los estudiantes. Después de todo, si un estudiante de secundaria recién comenzara a aprender a tocar el piano, no comenzaría insistiendo en que toquen las sonatas de Beethoven porque son piezas de piano "reales". Aprenderían usando las herramientas de escalas, arpegios y cancioneros introductorios, un andamiaje muy "real" necesario para tocar el piano con éxito. ¿Por qué no dar a los estudiantes de informática la misma oportunidad de usar la herramienta adecuada para el trabajo?
Para ver la presentación y obtener más información sobre el trabajo del Dr. Weintrop, vea este video de la Conferencia de Educadores de VEX 2023 en la videoteca de PD+. ¿Quieres aprender más sobre la enseñanza con VEXcode VR y por qué es tan poderoso comenzar a los estudiantes con la codificación basada en bloques? Echa un vistazo a la nueva clase magistral de PD+ Aprovechar al máximo la enseñanza con VEXcode VR. Y, si desea hablar con un experto de VEX sobre cualquier cosa en este artículo, regístrese en una sesión individual o publique su pregunta en la comunidad de PD+.