Representadores


Un representador es un programa que toma la solución de un estudiante y devuelve una representación normalizada de ella. Luego usamos estas representaciones para optimizar la retroalimentación automatizada y la clasificación.

Un ejemplo ayuda a explicar mejor los representadores. Supongamos que dos estudiantes envían dos soluciones al ejercicio hello-world en Ruby:

# Student 1's submission
def self.hello(name = 'World')
  "Hello, #{name}!"
end
# Student 2's submission
def self.hello(nom = 'World')
  "Hello, #{nom}!"
end

Aunque el código de estas soluciones es diferente (distinta sangría, distintos nombres de variables y distinta sintaxis de string), en esencia son iguales. Así que, al crear una representación normalizada de ellas, podemos tratarlas como iguales a la hora de proporcionar retroalimentación. Esto reduce drásticamente la cantidad de mentoría duplicada que se necesita.

Cada track mantiene su propio representador, específico para ese lenguaje. No hay una salida estandarizada: solo pedimos que cada track sea coherente internamente.

Cómo crear un representador

Si te interesa crear un representador, consulta la documentación sobre representadores para obtener más información.