프로젝트 소개
Lectern은 대학 컴퓨터과학 교강사를 대상으로 하는 자체 호스팅 오픈 포맷 LMS 제품군(Lectern · Scriptorium · Oracle)의 "Registrar" 구성 요소입니다. 강좌 운영의 행정적 수명주기 전반을 다룹니다. 즉 학기 설계, 성적부 통합, 시험 생성 및 검증, ISA 채점 산출물 게시, GitHub Classroom 연동, 캠퍼스 LMS(Canvas) 명단·성적 가져오기, 학기말 아카이빙을 포함합니다.
핵심 설계 원칙은 오픈 포맷입니다. 시험은 LaTeX, 콘텐츠와 노트는 Markdown, 명단·성적부·등록부는 CSV, 학기 명세·빌드 매니페스트·아카이브 매니페스트는 YAML입니다. 이 프로젝트는 이를 통해 모든 산출물이 diff 가능하고, Git으로 버전 관리할 수 있으며, 스크립트로 자동화할 수 있고, 오래 지속된다고 주장합니다. 독점 성적부와 클라우드 전용 워크플로를 피하는 것입니다.
도구는 `reg-*` 계열의 스크립트 가능한 CLI 명령으로 제공됩니다. 여기에는 학기 create/finalize/archive, 성적부 빌드 및 Canvas 내보내기, Gradescope 항목 분석, 시험 build/verify, LMS 명단 및 성적 가져오기, GitHub Classroom 명단 시딩 및 사용자명 바인딩, ISA 게시, 변조 방지 일련번호가 있는 강의계획서 생성, 제출물 진위 분류, 3계층 실습 채점 파이프라인(recon → digest → report/feedback 전달)이 포함됩니다.
시험 시스템은 단일 소스 `.tex` 빌드와 다중 양식(A/B/C), 학생별 개별화 사본, Gradescope 제품을 위한 pack-mode YAML 매니페스트를 지원합니다. 개별화 사본에는 SHA-256 해시에서 파생된 학생별 일련번호가 부여되며, 빌드는 결정적이어서 분쟁이 있는 답안지를 아카이브된 소스에서 재현할 수 있습니다.
설치는 셸 스크립트 또는 Python 3.11+ 환경에 pip로 수행합니다. 시험 파이프라인은 LaTeX 툴체인과 poppler 유틸리티를 외부 호출합니다. 예제는 CECS 378 한 학기를 처음부터 끝까지 안내합니다. Lectern과 Scriptorium은 MIT 라이선스이며, Oracle 채점 엔진은 별도 라이선스로 소스 공개(source-available) 방식입니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.