日本大学の統一LMS (Canvas LMS)について

日本大学はLMS(Learning Management System)をCanvas LMSに統一しました。未だ全学部が採用しておりませんが、文理学部はいち早く採用を決め、4月から導入しています。LMSとはGoogle Classroomなどのように講義をサポートするアプリケーションで、講義資料をダウンロードしたり、オンラインでレポート提出や小テストなども実施することができます。文理学部では、BlackboardというLMSを使っていたのですが、大幅なバージョンアップにより操作性が変わってしまうため、一から新しいLMSの使い方を学ぶなら日本大学で統一するCanvas LMSに乗り換えようとなりました。学生にとっては、他学部の講義を履修したいと思ったときに、その学部のLMSの使い方を新たに覚えることなく履修でき、今後の学部間交流を円滑にする目的があります。デメリットである新しいLMSの使い方を学ぶ必要に関して、少しでも緩和しようと簡易マニュアルを準備したり、統一LMSのメリットが最大になるよう努力を行ってきました。

Canvas LMS 教員向け簡易マニュアル
Canvas LMS 学生向けモバイルアプリのマニュアル
間違いなどありましたら、ご容赦願います。また、ご指摘頂けましたら幸いです。

― Seleniumuで自動採点 -

LMSは講義のサポートをするアプリケーションであり、DXを上手く利用すると講義の手間を大きく減らすことが可能です。文理学部の総合教育科目(一般教養科目)で履修者数が500人を超える講義を担当しており、その採点をCanvas LMSで自動化することで業務の簡略化を図りましたので、その手順(概略だけですが)を情報共有したいと思います。
Canvas LMSにはWebAPIも存在し、WebAPIを活用することで採点の自動化を行えないかと当初はトライしました。
Canvas LMS – REST API and Extensions Documentation
こちらのページと、にらめっこしながら方法を開拓していたのですが、Canvasに導入された新しい「小テスト」は対応していない(未だ対応してないのか、その時対応していなかったのかは不明で)状態で、別の手段を考えることにしました。
そこで白羽の矢が立ったのは、Seleniumです。Seleniumでは、ブラウザを立ち上げブラウザ上でマウスをクリックしたり、テキストを入力したりする作業を自動化できるものであり、500人以上の採点を自動操作で簡略化しています。Seleniumそのものは、LMSだけに対応するものではなく、ブラウザでの操作を自動化するものだと考えて下さい。PythonでWebスクレイピングをした経験はあるのですが、さらに一歩進めて、マウスでのクリック操作なども自動化することに成功しました。

Canvas LMSでは小テストやレポートの採点でSpeed Graderという機能を使用します。実際にSpeed Graderに入ると
https://nu.instructure.com/courses/000/gradebook/speed_grader?assignment_id=123456&student_id=123456
このようなURLが表示され、courcesの後は数字はCanvasのコースID、assignment_idとstudent_idはそれぞれ小テストと学生のIDになります。つまり、SeleniumでこのURLにアクセスすれば、評価の点数を入力したり、採点済のボタンをクリックするなど可能になります。正解や不正解を予め決めている問題に関しては、Speed Graderだけで点数を自動採点してくれますが、自由記述を出題した場合は、手作業での採点が必要になります。自由記述欄に目的の単語が含まれるかを確認したり、文字数をカウントして点数を決定したり、Speed Graderは画面の遷移に時間がかかるので、自由記述の内容を別のファイルに一覧として移し直して、それを元に採点を行うなど、上手く利用すると採点作業の大幅な短縮がはかれます。
ただ、問題は、PythonによりSeleniumのコードを書いて自動化処理を行ったのですが、プログラミングの技術が自動化には必要な点です。この記事を読んで実施してみたいなどありましたら、私までご連絡して下さい。私が使用しているコードをお伝えすることは可能です。実際は、WebAPIとSeleniumを併用して自動化スクリプトを作成しております。