OpenCV 비전 실무20장 · 교육 콘텐츠 설계와 종합 실습10 / 21← 이전목차다음 →MetaContents

20장. 교육 콘텐츠 설계와 종합 실습

평가와 채점 기준표(루브릭)

요리 대회의 심사표에는 "맛 40점, 모양 30점, 위생 20점, 시간 10점"처럼 항목과 점수가 적혀 있고, 항목마다 "간이 알맞다"처럼 무엇을 보는지 적혀 있습니다. 심사위원이 셋이어도 같은 표를 쓰면 점수가 크게 갈리지 않습니다. 이 교안의 프로젝트마다 둔 "채점 기준" 표가 그런 심사표입니다.

항목 정하기, 기준 쓰기, 점수 나누기, 시험 채점의 네 단계를 이은 흐름도

그림의 네 단계로 채점 기준표를 만듭니다. 여기서 심사표의 "맛, 모양" 이 항목이고, "간이 알맞다"가 기준이고, 40점·30점이 점수입니다. 마지막 단계에서 예시 답 몇 개로 먼저 매겨 보면, 기준이 애매해서 점수가 갈리는 항목을 찾을 수 있습니다.

좋은 기준과 덜 좋은 기준

항목덜 좋은 기준좋은 기준점수
읽기그림을 잘 읽는다모든 파일을 읽고 실패한 파일을 이름과 함께 알린다15
처리노이즈를 잘 지운다PSNR 이 원래보다 3dB 이상 오른다25
채점정답과 비교한다IoU·정확도·개수를 소수 셋째 자리까지 표로 찍는다25
그림결과를 보여 준다전후 그림을 같은 크기로 나란히, 제목에 숫자20
결론잘 정리한다실제 출력 숫자로 가장 좋은 방법과 까닭을 적는다15

짧은 예시

채점 기준표를 표로 두고, 합이 100 인지 확인한 뒤 한 수강생의 점수를 매깁니다.

Python
import pandas as pd

rubric = pd.DataFrame({
    "항목": ["읽기", "처리", "채점", "그림", "결론"],
    "점수": [15, 25, 25, 20, 15],
})
print("합:", int(rubric["점수"].sum()))          # 결과: 100

# 항목마다 얼마나 해냈는지 0~1 로 적는다(1 = 기준을 모두 만족)
done = {"읽기": 1.0, "처리": 1.0, "채점": 0.5, "그림": 1.0, "결론": 0.0}
rubric["받은 점수"] = [round(s * done[n]) for n, s in zip(rubric["항목"], rubric["점수"])]
print(rubric.to_string(index=False))
print("총점:", int(rubric["받은 점수"].sum()))   # 결과: 72

주의할 점

  • 채점 기준표는 과제를 낼 때 함께 보여 줍니다. 무엇으로 평가받는지 알아야 수강생이 그쪽으로 힘을 씁니다.
  • 학습목표마다 채점 항목이 하나씩 있어야 합니다. 목표에 없는 것(예: 코드 줄 수)으로 점수를 매기지 않습니다.
← 이전 절20장 · 시각 자료 만들기다음 절 →20장 · 수업 자료 묶기와 공유