Programar sin ver. Los niños con déficit visual aprenden programación.

Programar sin ver. Los niños con déficit visual aprenden programación.

Enseñar y aprender lenguajes de programación desde edades tempranas es un desafío. Conseguir, además, que sea accesible a personas con impedimentos visuales, dada la naturaleza altamente visual del código, supone todo un reto que es necesario afrontar, en especial, desde su presencia en los currículos de primaria y secundaria.

Hadwen-Bennett, Sentance y Morrison en su artículo titulado “Making Programming Accessible to Learners with Visual Impairments: A Literature Overview” nos ofrecen una revisión de la literatura científica existente en torno a esta cuestión. A lo largo del mismo se identifican las estrategias pedagógicas desarrolladas hasta el momento para facilitar la accesibilidad al terreno de la programación.

El trabajo de los autores se centra en cuatro categorías:

  • La accesibilidad de los lenguajes basados en texto.
  • Los lenguajes basados en bloques. Ventajas e inconvenientes.
  • El otro lenguaje de bloques: el uso de artefactos físicos.
  • Alternativas: la realimentación auditiva y háptica (referente al tacto).

La utilización de lenguajes de programación basados en bloques es la línea prioritaria en las primeras etapas educativas (Infantil y primaria). La ventaja principal que aportan a la aquisición de la competencia digital es su carácter intuitivo y visual, pues no exigen el  aprendizaje de la sintaxis. Por contra, su adaptabilidad es aún limitada y son los lenguajes de programación basados en texto los que se encuentran más avanzados en cuanto a accesibilidad visual. Esto supone un problema metodológico, ya que antes de utilizar estos últimos es importante contar con una base que se adquiere más fácilmente con los lenguajes de bloques.

Los aspectos clave para hacer accesibles los lenguajes basados en texto se centran en dos cuestiones: la adaptación del entorno de programación, es decir, del propio lenguaje, y la navegación por la estructura del programa.

En cuanto al entorno de programación lo más sencillo es utilizar un editor de texto simple con un lector de pantalla. La contrapartida es que estos editores no nos proporcionan algunas de las herramientas importantes, como por ejemplo el depurador. Por ello urge el desarrollo de entornos de programación integrados accesibles.

El interés en la programación por parte de alumnos con impedimentos visuales aumenta considerablemente después de realizar talleres de programación con robots

Por otro lado, los caracteres especiales (“>”, “<”, “~”, “{“, “}”, …), convierten en todo un reto interpretar el código usando un lector de pantalla, lo que representa el principal problema de accesibilidad de los  lenguajes de programación basados en texto. En este sentido Ruby se propone como lenguaje especialmente indicado, ya que usa pocos caracteres especiales.

También se está trabajando en lenguajes de programación con accesibilidad como requisito de diseño; APL (Audio Programming Language) y Quorum son dos ejemplos relevantes. Este último, además, ofrece un entorno de desarrollo accesible y es un buen candidato para cualquier persona que desee iniciarse en el aprendizaje de la programación.

Por último, la navegación y comprensión de la estructura global de un programa es uno de los aspectos más difíciles de tratar. Los lectores de pantalla directamente aplicados sobre el código no son especialmente adecuados para manejar esta cuestión. Por ello se precisan herramientas que permitan navegar por la estructura jerárquica del código.

Como ya mencionábamos con anterioridad, la accesibilidad de los lenguajes basados en bloques está aún menos desarrollada. Su naturaleza, intrínsecamente visual, explica este hecho. Con toda probabilidad, la solución a este problema se encuentra en el desarrollo de alternativas auditivas.

En este sentido, algunas experiencias han indicado que la variación del tono de un sonido o la realimentación háptica de una vibración  pueden servir para indicar los diferentes estados de un objeto físico o para construir una representación virtual, como por ejemplo en el movimiento de un robot. El resultado es que los alumnos con  impedimentos visuales pueden llegar a realizar tareas consideradas como altamente visuales.

Los dispositivos programables, como robots móviles, han demostrado su eficacia dado el interés que suscitan en los alumnos. Se ha demostrado que la confianza y el interés en la programación por parte de alumnos con impedimentos visuales aumenta considerablemente después de realizar talleres de programación con robots.

La necesidad de afrontar la alfabetización digital en el campo de la programación y su correspondiente adaptación está dando alas al uso de lenguajes de programación físicos. Esta nueva forma de accesibilidad, concebida para facilitar el contacto físico con los lenguajes de programación, es posible gracias a que los comandos son representados por objetos tangibles que se pueden combinar para crear un programa. Se defiende, por tanto, la idoneidad de este tipo de herramientas para enseñar programación a los alumnos que precisan adaptaciones visuales de los materiales didácticos.

Para concluir, los investigadores nos advierten de que la mayor parte del trabajo ha sido realizado mediante intervenciones que miden el impacto sobre la percepción y el interés del alumno, nos encontramos en las primeras fases de desarrollo del modelo, será necesario profundizar más sobre otras cuestiones pedagógicas implicadas en el proceso de adquisición de la competencia digital en relación con los lenguajes de programación. Así mismo, el hecho de que los lenguajes más populares para introducir la programación en primaria sean basados en bloques, exige un esfuerzo mayor en el estudio de alternativas accesibles.

Herramientas mencionadas en el artículo original

  • JavaSpeak Es un entorno de desarrollo integrado (IDE) diseñado para proporcionar a personas con impedimentos visuales información útil acerca de la estructura y semántica de un programa Java.
  • Ruby Lenguaje de programación de propósito general especialmente apto para el uso con personas con impedimentos visuales.
  • APL Audio Programming Language. Lenguaje de programación especialmente diseñado para personas con impedimentos visuales.
  • Quorum Lenguaje de propósito general concebido para la enseñanza de la programación. Gracias a que en su diseño se ha tenido en cuenta la accesibilidad desde un principio, puede ser un buen candidato de TBL para personas con impedimentos visuales.
  • StructJumper Un plugin para el IDE eclipse que permite navegar por la estructura de un programa.
  • Pseudospacial Blocks Un lenguaje de bloques accesible.
  • LEGO Mindstorm RCX Kit de robótica que ha dado buenos resultados con alumnos con impedimentos visuales.
  • Torino Un lenguaje de programación físico (PPL).
  • PLUMB EXTRA Sistema que usa elementos auditivos para navegar por la estructura de un grafo.