Hace unas semanas presentamos el trabajo Automatic Detection of Bad Programming Habits with Scratch: a preliminar study en la conferencia Frontiers In Education. Aunque no disponemos del vídeo de la sesión, en esta entrada os dejamos las diapositivas que utilizamos en la presentación y un breve resumen de sus puntos fundamentales.

 

En nuestro trabajo como docentes con estudiantes de secundaria, hemos detectado que muchos estudiantes presentan dos malos hábitos de manera recurrente, a pesar de nuestra constante insistencia para tratar de evitarlos, que tienen que ver con el nombrado de objetos y con la repetición de código.

Por una parte, es muy habitual comprobar que los estudiantes no cambian el nombre de los personajes, que el entorno nombra como SpriteX, donde X es un número incremental, de manera que al crecer el número de personajes de un proyecto resulta complicado saber a qué objeto se refiere una determinada sentencia, contribuyendo así a una mala legibilidad del código, ralentizando la programación del proyecto y complicando su depuración ante posibles errores.

No utilizar nombres significativos perjudica la legibilidad del programa

Por otro lado, es también muy habitual observar a los estudiantes repetir código en un mismo proyecto, a veces incluso en los programas de un mismo personaje. De esta forma, además de complicar el mantenimiento y la actualización del código, no se trabajan los conceptos de abstracción y modularización, dos componentes fundamentales del desarrollo del pensamiento computacional.

Repitiendo código en los programas de un mismo personaje

Con el objetivo de detectar estos dos comportamientos en los proyectos Scratch, hemos desarrollado dos plug-ins para el entorno Hairball, que a su vez hace uso de la biblioteca implementada en python kurt, para automatizar la localización de este tipo de prácticas en programas desarrollados en este entorno. Y estos dos plug-ins han sido incorporados a Dr. Scratch para detectar esta situación automáticamente y recomendar mecanismos para su solución a los estudiantes que analicen sus proyectos con esta aplicación (aunque en la versión alpha que está online en estos momentos los plug-ins se encuentran deshabilitados).