Un representer est un logiciel qui prend la solution d'un apprenant et en renvoie une représentation normalisée. On utilise ensuite ces représentations pour simplifier le retour automatisé et la classification.
Un exemple est la meilleure façon d'expliquer ce qu'est un representer. Imaginons que deux apprenants soumettent deux soumissions à l'exercice 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
Même si le code de ces solutions est différent (indentation, noms de variables et syntaxe de string diffèrent), elles sont essentiellement identiques. En créant une représentation normalisée de ces solutions, on peut donc les traiter comme identiques lorsqu'il s'agit de fournir un retour. Cela réduit drastiquement la quantité de mentorat redondant.
Chaque parcours possède son propre representer, spécifique à son langage. Il n'existe pas de sortie standardisée : la seule exigence est qu'un parcours soit cohérent en interne.
Si tu souhaites construire un representer, consulte la documentation sur les representers pour plus d'informations.