Representer 是一種軟體,它會接收學生的解答,並產生該解答的正規化表示。我們再用這些表示來簡化自動化回饋與分類的流程。
用一個例子最能說明 Representer 的用途。假設有兩位學生分別對 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
雖然這兩份解答的程式碼並不相同(縮排、變數名稱和字串語法都不一樣),但它們本質上是相同的。因此,只要為它們建立正規化表示,我們就能在提供回饋時把它們「視為」相同。這能大幅減少重複的引導工作。
每個 track 都維護自己的 Representer,而且專屬於該語言。輸出的格式並沒有標準化:我們只要求同一個 track 內部的輸出一致。
如果你有興趣打造 Representer,請參閱 Representer 文件 以了解更多資訊。