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

이 두 풀이의 코드는 들여쓰기, 변수 이름, 문자열 문법이 서로 다르지만 본질적으로는 같아요. 그래서 이들의 정규화된 표현을 만들어 두면, 피드백을 제공할 때 두 풀이를 같은 것으로 _취급_할 수 있어요. 이렇게 하면 중복해서 해야 하는 멘토링의 양이 크게 줄어요.

각 트랙은 그 언어에 맞는 자체 리프리젠터를 관리해요. 정해진 출력 형식은 없어요. 트랙 안에서 일관성만 유지되면 돼요.

리프리젠터 만들기

리프리젠터를 직접 만들어 보고 싶다면, 더 자세한 내용은 리프리젠터 문서를 확인해 봐요.