소개
알바로 학부생 시험 채점을 할 일이 있었습니다. C프로그래밍 2반, 파이썬자동업무 1반 100여명의 학생들이 중간고사로 본 온라인 시험 결과를 채점해야합니다.
다행이 객관식은 학교 시스템 자체에서 채점을 해주는데 주관식, 서술식은 제가 해야하는 것이 문제입니다.
학생들마다 가지각색으로 작성한 코드를 채점하는 것이 시간이 꽤 걸릴 것 같다.
채점하면서 일관성을 유지하며 점수를 주는 것이 쉽지 않다.
다 채점을 하고 났는데 학생들 점수가 너무 낮으면 감점을 했던 어떤 조건은 맞도록 점수를 올려줘야하는데 일일이 다 찾아 점수를 올려줘야한다.
그래서 자동 채점 시스템을 만들어보았습니다. 어차피 저보다 코드도 잘 짜는 클로드이니 채점도 잘 해줄 거 같다는 강력한 믿음을 갖고 호기롭게 시작합니다.
진행 방법
VS Code에 Claude Code Extension을 설치했습니다.
작업할 폴더를 생성 후, 폴더 안에 각 클래스 별로 다음과 같이 파일을 담아놨습니다.
시험문제, 배점, 정답 정보가 있는 엑셀파일
학번, 학생이름, 학과, 각 문제번호와 학생이 입력한 답이 적혀있는 엑셀파일
문항번호 별로 감점항목, 감점점수, 설명이 적혀있는 엑셀파일
다음과 같이 핵심요구사항을 던지며 시작해봅니다.
시험문제·배점·학생 답안 엑셀 업로드
감점 기준 기반 자동 채점
감점 사유 기록
기준 수정 시 일괄 재채점
PDF/엑셀 결과 출력
코드 작동 여부와 알고리즘 의도까지 고려
https://platform.claude.com/ 에서 API키도 결제해서 생성했습니다.
제가 잘 모르는 것인지 분명 5$ 정도만 결제하면 된다는 거 같아서 결제했는데 대충 보면서 결제하다보니 5$ 외에 50$가 추가 결제되더라고요;;; 다행히 기간 내 사용할 수 있는 방식이라 이후 개발 과정에 활용하기로 했습니다.
이후에 첫화면 비번 입력, 채점결과 버전별로 저장, 원복하기 등등의 아주 많은 요구사항을 통해 나름 만족스러운 결과를 얻었습니다.
결과와 배운 점
한국사이트 스크린샷
다양한 숫자를 보여주는 웹사이트의 스크린샷
처음에는 개발 시간이 더 들어 “차라리 손으로 채점하는 게 빠르겠다”는 생각도 들었습니다. 하지만 한 번 구조를 만들어두니 재채점, 기준 수정, 감점 근거 관리에서는 확실한 장점이 있었습니다. 특히 기말고사처럼 반복 업무가 생길수록 효율이 커질 것 같습니다.