[en] Online judges are systems that initially emerged with the objective of acting as repositories of problems that had been part of programming contests. Over time, these judges became more popular and now they are used as didactic tools, allowing to practice and learn algorithms and programming methods in an entertaining way, even being used in classrooms. Thus, a common situation is for the teacher to explain a topic and tell his students what exercises from the judge they can use to practice what was explained. However, most of the existent judges are not fully adapted to the needs of those users. When students submit a solution to a problem, they may receive a positive verdict (correct solution) or negative verdict (incorrect solution). Upon receiving a negative verdict, the student tends to feel lost and unmotivated, and does not know how to continue solving the problem, since the feedback received is non-existent. In this work we study the different ways of including hints in online judges, which will help users on their path to success, giving them information about the mistakes they are making and trying to correct them. For this, an implementation for the judge ¡Acepta el Reto!, developed by the advisors of this work. This implementation uses the output generated by the solutions sent by users to group them based on the error they have committed and then gives them custom feedback based on it. In addition, we provide a visualization tool for the graph of submissions, as well as a solution comparison tool, with the conviction that both of them will be very useful in helping the author or the students themselves to propose hints for future users.

[es] Los jueces online son sistemas que surgieron inicialmente con el objetivo de actuar como repositorios de problemas que habían formado parte de concursos de programación. Con el tiempo, se han ido popularizando y ahora se utilizan también como herramientas didácticas, y permiten practicar y aprender algoritmia y métodos de programación de forma entretenida, llegando incluso a utilizarse en las aulas. Así, una situación común es que el profesor explique un tema e indique a sus alumnos qué ejercicios del juez pueden usar para practicar lo que ha contado. Sin embargo, la mayoría de jueces existentes no están adaptados completamente a las necesidades de esos usuarios. Cuando los alumnos envían una solución a un problema, pueden recibir un veredicto positivo (solución correcta) o un veredicto negativo (incorrecta). Al recibir un veredicto negativo, el alumno tiende a sentirse perdido y desmotivado, y no sabe cómo continuar, ya que el feedback que da el juez ante los errores cometidos es inexistente. En este trabajo se estudian las diferentes formas de incluir pistas en los jueces online, que ayudarán a los usuarios en su camino hacia el éxito, dándoles información sobre los errores que están cometiendo para que intenten corregirlos. Para ello, se ha realizado una implementación para el juez ¡Acepta el Reto!, desarrollado por los directores de este trabajo. Dicha implementación utiliza las salidas generadas por las soluciones que envían los usuarios para agruparlos en función del error que han cometido y posteriormente darles una pista personalizada. Además, se proporciona una herramienta de visualización del grafo de envíos, así como una herramienta de comparación de soluciones, bajo la convicción de que ambas resultarán muy útiles a la hora de ayudar al autor o a los propios alumnos a proponer pistas para futuros usuarios.