龍谷大学がLMSとして導入しているmanaba courseのレポート機能では, 教員がレポート課題を設定して, 学生さんにファイルを提出してもらうことができます.
manabaのレポート課題の一括代理提出機能を使うと, 教員が学生別に用意したファイルを, 学生さんに個別に渡すこともできます.
http://www2.chuo-u.ac.jp/com/manaba/manual-course2.83-teacher-ja.pdf
この機能の本来の用途は, レポートを学生がアップロードする代わりに, 紙で受け取ってまとめてスキャンしたファイル, メールなどmanaba外で受け取ったファイルを教員が代理で一括してmanabaにアップロードする, ことです. しかし, 添削した紙答案やレポートを返却する, 教員が学生別の成績表を配布する, などにも使えます. さらに, 他の学生にも閲覧可/不可に設定したり, コメントを交換したりすることもできます.
以下, 試験の紙答案を採点して返却する場合を例にした, Windowsでの手順のstep by step の説明なのですが, まず大注意: 何があっても責任持てません. *1 (2017-05-21追記. Moodleでも似たようなことはできます*2 ).
準備
- ドキュメントスキャナ
- PDF編集ソフトウェア PDFtk https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/
- バッチファイル distpdf.bat 連結された全員分のレポートのPDFを分割して, manaba courseのレポートに代理一括提出す …
手順
- 答案用紙をデザイン, 印刷します.
- 全員が同じ枚数の答案用紙を提出する(白紙を含んでもいい)ようにします.
- 先頭ページが他のページと一目で区別できるようにします.
- 先頭ページに学生の名前の記入欄があるようにします.
- 試験を実施します. 回収するときに学籍番号順にソートする必要はありませんが, 1人の答案の全ページが正しい順に一続きになっているようにします.
- 採点など記入を行います.
紙の束の上から, 学生の学籍番号をCSVファイルに手書きします. だいたい下何桁かタイプして, あとはExcelなどを使って補完すれば楽でしょう. CSVファイル(list.csvとするか, バッチファイル内の指定を修正します)は, 下のようになっていることを想定します*3
t111234 t103456 t103281 ...
ドキュメントスキャナにかけて(必ず両面スキャンするようにして1名あたりのページ数を一定にする)全体を1個のPDFファイルにします. report_all.pdf とするか, バッチファイル内の指定を修正します. これを空のフォルダ(C:\workとしましょう)に置きます.
- manaba course にレポート課題を設けます
- レポート>管理>一括代理提出で圧縮ファイルをフォルダc:\workにダウンロードします.
- 圧縮ファイルを解凍します. report_upload フォルダが作られ, その中に, t103281#学生名1, t103456#学生名2 のようなサブフォルダができます. ここは龍谷大学の設定に依存していると思われます.
- 以下2ステップでは, PDFファイルを学生別に分割し, 対応するサブフォルダに置きます.バッチファイルをc:\workにおいて編集し, delta, s,e の値を設定します. delta=5, s=1, e=4なら, 1–4ページをt111234, (1+5)–(4+5)ページをt103456に, … 返却することを意味します. すべてのページを返却するなら deltaと eの値は一致します.
コマンドプロンプトを開き, カレントフォルダc:\workに移動し, バッチファイルを実行します. すると, 各学生用サブフォルダ内に 各学生用のreport.pdf ができます. 別のファイル名にしたい場合はバッチファイル内の指定を修正します.
c: cd \work distpdf
慎重にするなら, この段階で各サブフォルダに意図したファイルが収められているか確認します.
- report_upload フォルダを圧縮(zip)します. 右クリックのコンテクストメニューから「圧縮する」で.
- 圧縮したファイルを, レポート>管理>一括代理提出 からアップロードします. 追記: 提出日はアップロードした日になります. 非公開なレポートにアップロードした場合でも, 自動的に公開に変更になり, この場合専用のリマインダ(Subject:manaba - ファイル配布のお知らせ, Body:[科目名]でファイルが配布されました … 科目名課題名)が送られます.
distpdf.bat の内容
python で
樋口はふだんは OS X でpython scriptでやってます. これは, ファイルを分割して学籍番号をファイル名にするところまでをやります. 引数の意味(オフセット)も異なります.
一定ページ数の複数文書が連結されたPDFファイルをpdftkで分割して, 標準入力からリストとして与 …
*1:以下の方法は, 現在の manaba course の振舞いと龍谷大学での設定に基づいています. またバッチファイル内では学籍番号が正しいか, 受講者かどうかなどのチェックを行っていません. 何か間違いが起こると, 返却しようとしている/返却済みのレポートを誤って消去したり, ある人のレポートを他の人に返却してしまったりするかもしれません. 各自の責任でご利用ください. manaba で一括代理提出によってファイルを間違えて返却したとき, 取り消してファイルを削除するには, レポート課題をコースから削除するのではなく, 個々の学生に「課題を再提出させる」だそうです.
*2:Moodle(3.1以降?)でも, 教員が学生のかわりに提出ファイルをアップロードすることができます. デフォルトではどの role にも与えられていない capability assign:editothersubmission が必要です, ファイルを1個ずつに手作業でアップロードすることになります. 一方, Moodle では教員がファイルでフィードバックを返すことができます(典型的には, 学生が提出したWordの文書ファイルに校閲機能で加筆するみたいなことですね)が, このフィードバックファイルは, まとめてzipファイルとしてアップロードすることができます. 課題モジュールの「複数フィードバックファイルをZIPでアップロードする」
*3:コンマで区切って点数のような2個目以降のフィールドがあってもかまいません