SCORM教材作成ツールを更新(version 5.00)

31 12月

SCORMコンテンツ作成ツールを更新しました。今回取り入れたことをあげてみます。

ひとつは,乱数的な要素を取り入れました。正解を乱数値を用いて表せるようになりました。乱数値には(まだ試していませんが)文字列を利用できると思います。それはどんなコンテンツになるのか?下図はコンテンツ作成用のアプリの画面です。

採点用ツールもあわせて乱数値に対応したものになっています。下図は,ひとりひとりの回答を表示して採点するツールです(NLsheet)。正解(Teacher Answer)は乱数値を用いて表されています。真ん中の問題文では,それぞれの受講者に合わせて乱数値が置きかえられています。この問題文が受講者の見るものです。myOwnTAns はこの受講者の場合の正解です。

もうひとつの採点ツール(NLmark)のキャプチャーを下記にあげます。これはまとめて採点するツールで,乱数値と回答内容が同じであれば,まとめられて表示されます。乱数値(rand 列)でソートしてみました。A-mark は自動採点の結果です。

意外に,乱数的な取り扱いで多くのコードを書くことになりました。自動採点であっても,まずはデーターベースに記録した過去の採点履歴を検索するのですが,今回のバージョンから,回答のみを検索するのではなくて乱数値の値もあわせたアンド検索となりました。採点ツールはもう少し書きたいアイディアがあるので,まだ多少変化すると思います。

他には,プログラミング的な要素を増やしました。以前から,学生の回答などを Maxima で処理をしたりしていたのですが,これに加えて Python を利用できるようになりました。学生に返すメッセージなどもプログラムから作成できます。コンテンツは数式自動採点と手動採点を合わせたものなのですが,手動採点の前のプログラミング的な要素を拡大しました。詳しくはこちらを参照ください。リンク先はコンテンツ作成用のマニュアルなのですが,コンテンツの特徴を知ってもらうには良いかなと思います。

他には,採点サーバーの分離があります。これまでは一台のサーバーが採点とデータベースへの記録等すべてを担っていたのですが,今回採点の部分を別のサーバーとして分離しました。この目的は教師が自由に新しい採点方法を試すことができるように,教師の近くのサーバーに採点を返すためです。今回 Python を使った処理が可能となったのですが,機械学習等で学習した重みなどを利用するには,自分ですべてを制御できるサーバーの方がやりやすいと思います。新しい採点方法を試みるのに,いちいち他人の許可が要るようではなかなか進まないと思います。そのため採点を分離して,ネットワークリクエストとしました。開発に用いた採点サーバーでは apache が動いていて,他は PHP と WSGI ぐらいです。node.js で作成した方が容易かもしれませんが,自分になじみのある apache を利用して作成しました(参照サイト)。

今後は,数式自動採点の際の,汎用的なヒントの仕組みを作成してみたいと考えています。

再掲もありますが,詳しい説明の代わりにヘルプへのリンクをあげます。