रिप्रेज़ेंटर एक ऐसा सॉफ्टवेयर होता है जो छात्र का हल लेता है और उसका एक सामान्यीकृत रिप्रेज़ेंटेशन लौटाता है। फिर इन रिप्रेज़ेंटेशन की मदद से हम स्वचालित फीडबैक देना और वर्गीकरण करना आसान बना देते हैं।
रिप्रेज़ेंटर को समझाने का सबसे अच्छा तरीका एक उदाहरण है। मान लीजिए कि दो छात्र Ruby में hello-world अभ्यास के लिए दो सबमिशन जमा करते हैं:
# Student 1's submission
def self.hello(name = 'World')
"Hello, #{name}!"
end
# Student 2's submission
def self.hello(nom = 'World')
"Hello, #{nom}!"
end
इन दोनों हलों का कोड अलग-अलग है (इंडेंटेशन, वेरिएबलो के नाम और स्ट्रिंग लिखने का तरीका अलग है)। फिर भी ये असल में एक जैसे ही हैं। इसलिए इनका एक सामान्यीकृत रिप्रेज़ेंटेशन बनाकर हम फीडबैक देने के लिए इन्हें एक जैसा मान सकते हैं। इससे एक ही चीज़ के लिए दोबारा मेंटर करने की ज़रूरत बहुत कम रह जाती है।
हर ट्रैक अपना रिप्रेज़ेंटर खुद रखता है, जो उस भाषा के लिए खास होता है। इसका कोई तय आउटपुट नहीं है। हमें बस इतना चाहिए कि ट्रैक अपने भीतर एक जैसा रहे।
अगर आप रिप्रेज़ेंटर बनाना चाहते हैं, तो अधिक जानकारी के लिए रिप्रेज़ेंटर डॉक्युमेंटेशन देखिए।