Uno de los conceptos de la programación que en ocasiones puede resultar complicado de comprender son las variables. Así, por ejemplo, cuando hay dos instrucciones de asignación consecutivas, como “x = 5” seguida de “x = 7” (tal como puede verse en la Figura 1), algunos aprendices creen incorrectamente que la variable puede contener múltiples valores al mismo tiempo, lo que se denomina hipótesis de «valores múltiples».

Figura 1. Dos instrucciones de asignación consecutivas sobre la misma variable.

 

La forma más habitual de explicar las variables en cursos de introducción a la programación es utilizar la metáfora de que una variable es una caja en la que guardar información, lo que podría contribuir a la hipótesis de los valores múltiples.

Para investigar si esto es cierto, un grupo de investigadoras holandesas ha diseñado y ejecutado un experimento controlado en el que han participado 496 programadores novatos, tanto niños como adultos.

La mitad de los participantes recibió una clase de programación introductoria en la que se explicaban las variables usando la metáfora de la caja, mientras que la otra mitad de los participantes recibió una clase en la que se presentan las variables usando la metáfora de la etiqueta. Tras la clase, se pasó un test a todos los participantes.

¿Qué metáfora produjo mejores resultados?

Los resultados del experimento indican que para las preguntas simples que involucran tan solo una instrucción de asignación, el grupo de la caja obtiene mejores resultados. Sin embargo, para las preguntas con dos declaraciones de asignación consecutivas, el grupo de la etiqueta obtiene mejores resultados. De hecho, en los ejercicios en los que las variables almacenan cadenas de texto, el grupo de la caja incurre en mayor medida en la concepción errónea de valores múltiples. Mientras que al almacenar números enteros, el grupo de la caja considera erróneamente en mayor medida que dos instrucciones de asignación consecutivas causan que se sumen los valores.

Aunque, evidentemente, se trata tan solo de una investigación inicial y hace falta realizar muchos más experimentos para llegar a conclusiones fuertes, este tipo de investigaciones son muy necesarias y marcan un camino que desde Programamos consideramos fundamental, en el que universidad y centros escolares (y también administraciones educativas) colaboran en mejorar la enseñanza de una disciplina, en este caso la programación.

Y tú, ¿cómo enseñas las variables a tu alumnado? ¿Utilizas alguna de estas metáforas? ¿Usas alguna otra metáfora que te hayas inventado? ¡Cuéntanos tu experiencia!

Imagen de cabecera: Teaching Variables: Analogies and Approaches, de Khan Academy