10월의 뻘짓 - 자동채점기

이번학기에 학부 프로그래밍원리와 프로그래밍 언어 두과목 조교를 혼자서 하고 있다.
어림잡아 2000-3000 개의 과제 프로그램을 채점해야 한다.

사람이 할 수 는 없는 노릇이고 채점기가 필수다.
직접 만드는 것을 선호하다 보니 이번에도 하나 만들었다.

학생의 코드를 받아서 실행하면 점수를 돌려주는 프로그램을 만들어 주는 "채점기생성기"가 두 개
과제파일을 추려서 "가장 최근에 낸 것" 만 추려주는 정리기 하나
정리기와 생성기를 사용하여 채점을 실제 수행하는 쉘 하나
쉘을 실행하면 "부르릉" 돌면서 학번과 점수가 적힌 파일을 만들어준다.

핵심은 역시 "생성기" 프로그램이다.
시작할 때는 10줄 정도 되는 짧은 스크립트였지만  지금은 200줄 까지 자랐다.
결과를 출력하기 위해 File I/O를 사용하고 무한루프를 체크하기 위해 쓰레드도 뛰우고,
실행 순서를 제어하기 위해 Lazy evaluation도 쓴다.
별로 대단한 기술들은 아니지만, 스킴과 nML을 썼다는게 기념할만하달까

쉽게 생각하고 달려들었는데 생각보다 어려워 세번쯤 구현을 엎었다.
연구고 수업이고 시험이고 잊어버리고 보름정도 매달렸다.

스킴용은 error log를 기록하는 부분을 빼고 거의 완성되었다.
nML용은 스킴용을 번역하듯 작업하면 될 듯 하다.
14개의 과제중 5개를 채점하면서 이 정도 다졌다.
앞으로 9개의 과제는 편하게 채점할 수 있겠지.

스킴과 nML의 실용적 사용법을 많이 배운 것이 큰 소득이다.

Posted by 발당


Trackback URL : http://jbdmk1.upnl.org/tt/trackback/403

Comments List

  1. erniea 2008/10/23 21:26 # M/D Reply Permalink

    nML을 채점하는 nML
    스킴을 채점하는 스킴

  2. 양치 2008/10/23 22:57 # M/D Reply Permalink

    스킴이라니 ! nML이라니 !

  3. kek 2008/10/24 21:44 # M/D Reply Permalink

    언제봐도 오타는 안타깝군요.

  4. 발당 2008/10/25 01:06 # M/D Reply Permalink

    퇴고없이 올리면 오타투성이
    퇴고를 하자니 귀찮아서 글을 않써
    짜장과 짬뽕사이의 선택만큼 어려운 일이야

  5. stania 2008/10/25 21:15 # M/D Reply Permalink

    스킴와 nML 의 실용적 사용법에 대해 꼭 한 번 들어보고 싶어요! 코드와 함께 :)

Leave a comment
« Previous : 1 : ... 4 : 5 : 6 : 7 : 8 : 9 : 10 : 11 : 12 : ... 305 : Next »

블로그 이미지

정착

- 발당

Tag Cloud

Notices

  1. Info

Recent Posts

  1. To Read

Calendar

«   2009/01   »
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

Bookmarks

Site Stats

Total hits:
93541
Today:
139
Yesterday:
158