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.
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.
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).
Deja tu comentario