ペーパーテストの採点


プログラミングの講義を担当しているのですが、今年はいつもの年より少しがんばって小テストの回数を増やしましてみました。出題はいいのですが、採点作業ってかなり憂鬱です。作業をしていて思ったのですが、実際の採点よりも、紙を学籍番号順に整えたり、学籍番号を書き忘れた学生について氏名を名簿と照し合わせて学籍番号を見つけたり、書き間違えた学籍番号を修正したり、つけた点数を表計算ソフトに入力したりといった、本質的ではない仕事の方が多かったりします。これをなんとかしたい。やったらできてしまいましたっていうお話しです。

今年は、小テストを集めてすぐにスキャンしたら、少しは作業が効率化するんじゃないかと思ったのですが、確かに点数をつける作業ははかどったものの、前述の諸々の作業の負担が目立つようになってきました。

採点しながら思っていたのは、解読した学籍番号や採点の結果はPDFの注釈として記入しておいて、その注釈を機械的に処理して集計作業できないかってことです。採点期日を過ぎた今になって、やってみたら案外簡単な仕掛けでできてしまいました。

まず、採点作業に先立って回収した小テストをまとめてスキャンします。学籍番号なんか無視して、ただそのままスキャンしてPDFファイルを作成して下さい。

次にプレビューを使って小テストを開き、各ページにメモ注釈として学籍番号と点数を書き込みます。すべてのページについて、この要領で採点します。図の例では学籍番号が「良い子」、点数が100点ということです。小問がある場合には「20, 30, 50」のように点数を列挙してもいいと思います。

saiten1

 

次に、魔法のスクリプトにこの注釈つきのPDFをドラッグ&ドロップすると、こんなテキストファイルができます。

saiten2

 

左の欄から順番に、PDFのページ数、学籍番号、点数です。賢いテキストエディタを使っていれば、ちょいちょいと整形して、表計算ソフトに読み込めるように整えることができます。スキャンする前に、小テストを学籍番号順に並べないと書きましたが、そんな非人間的な作業は表計算ソフトにやらせて下さいね。

さて、問題のスクリプトですが、Automatorという簡易スクリプト作成ソフトを使って作りました。

saiten0

 

ね、超簡単でしょ?