La programación se ha convertido en una competencia esencial en todos los niveles educativos como respuesta a la necesidad de desarrollar el pensamiento computacional en las nuevas generaciones. La proliferación de herramientas y lenguajes de programación ha generado la necesidad de clasificarlos sistemáticamente. En educación superior, se observa una transición hacia modelos basados en competencias y metodologías activas. La inteligencia artificial también se integra para personalizar la enseñanza. La calidad del software para la enseñanza de la programación es crucial para el aprendizaje, y su evaluación rigurosa es necesaria para asegurar su efectividad. Esta línea de investigación plantea el estudio de las herramientas de software utilizadas en la enseñanza de la programación desde una perspectiva de la Ingeniería de Software, con el propósito de lograr un marco de referencia conceptual y descriptivo que sirva como base para futuras investigaciones orientadas a evaluar su calidad en uso.