10
O p e n e d X e S e t t i n g U p a n d R u n n i n g a n I n t e r a c t i v e e - L e a r n i n g S y s t e m U s i n g O p e n e d X J u n N A K A N O Open edX は数々のオンライン教育サービスで使われているオープンソースの e ーニングソフトウェアである。金沢工業大学情報工学科では独自に Open edX のサー バーを立ち上げ、すでに過去 3 年にわたって 3 科目、のべ 20 クラスの講義で運用し てきた。本事例報告では、Open edX の導入を検討している技術的素養を持った教員 の参考に資するべく、基本的な技術情報と今までの経験から得られた知見を共有する。 キーワード: e ラーニング、アクティブラーニング、反転授業、Open edXMOOC Open edX is an open-source e-learning software used in various online education service. At the Department of Information and Computer Science of Kanazawa Institute of Technology, we set up Open edX servers by ourselves and have been using them in 3 courses (20 classes in total) over the last three years. In this report, we share basic technical information and our experiences of Open edX for technically savvy instructors who are considering its adoption. Keywords: E-learning, active learning, flipped classroom, Open edX, MOOC 2011 年秋頃から MOOC (Massive Open Online Course)、すなわちインターネットをベースとした基 本的に無償の大学レベルのオンライン教育サービスが世界的に流行しはじめた。筆者の認識では、端緒 となったのは人工知能 (Artificial Intelligence) に関するコース (http://ai-class.com/) と機械学習 (Machine Learning) に関するコース (http://ml-class.com/) である。どちらもコンピュータサイエンス に関するコースであるのは偶然ではなく、当該分野の講師がまわりの大学院生や同僚の助けを借りて、 技術的あるいは財政的困難にさほど阻まれることなく、自前でコンテンツのみならずそれをインターネ ットで提供するプラットフォームまで作り上げたものであったからである。当初、両コースは共通のプ ラットフォームを使用していたと思われるが、のちにAI コースはUdacity (https://www.udacity.com/)ML コースは Coursera (https://www.coursera.org/) へと袂を分かつことになり、現在でもそれぞれの サイトで Intro to Artificial Intelligence および Machine Learning というコース名で提供されている。 代表的な MOOC のうち Udacity Coursera が無償でのコース提供を基本としてはいるものの営利団 体であるのに対して、edX MIT とハーバード大学によって設立された非営利団体である(ただし無 料なのは聴講のみで、修了証書の発行は有料というケースが多い)。この edX のサイト https://www.edx.org/ のベースとなっているソフトウェアのオープンソース版が Open edX というわけ 211 Open edX を用いたインタラクティブな e ラーニングシステムの構築と運用 KIT Progress 26

Open edXを用いたインタラクティブな eラーニングシステムの構 …kitir.kanazawa-it.ac.jp/infolib/cont/01/G0000002repository/000/000/... · Open edX is an open-source

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Open edXを用いたインタラクティブな eラーニングシステムの構 …kitir.kanazawa-it.ac.jp/infolib/cont/01/G0000002repository/000/000/... · Open edX is an open-source

事例報告 KIT Progress №26

Open edX を用いたインタラクティブな e ラーニングシステムの構築と運用

Open edX を用いたインタラクティブな

e ラーニングシステムの構築と運用 Setting Up and Running an Interactive e-Learning System

Using Open edX

中野 淳 Jun NAKANO

Open edX は数々のオンライン教育サービスで使われているオープンソースの e ラ

ーニングソフトウェアである。金沢工業大学情報工学科では独自に Open edX のサー

バーを立ち上げ、すでに過去 3 年にわたって 3 科目、のべ 20 クラスの講義で運用し

てきた。本事例報告では、Open edX の導入を検討している技術的素養を持った教員

の参考に資するべく、基本的な技術情報と今までの経験から得られた知見を共有する。 キーワード: e ラーニング、アクティブラーニング、反転授業、Open edX、MOOC

Open edX is an open-source e-learning software used in various online

education service. At the Department of Information and Computer Science of Kanazawa Institute of Technology, we set up Open edX servers by ourselves and have been using them in 3 courses (20 classes in total) over the last three years. In this report, we share basic technical information and our experiences of Open edX for technically savvy instructors who are considering its adoption. Keywords: E-learning, active learning, flipped classroom, Open edX,

MOOC

1.はじめに

2011 年秋頃から MOOC (Massive Open Online Course)、すなわちインターネットをベースとした基

本的に無償の大学レベルのオンライン教育サービスが世界的に流行しはじめた。筆者の認識では、端緒

となったのは人工知能 (Artificial Intelligence) に関するコース (http://ai-class.com/) と機械学習 (Machine Learning) に関するコース (http://ml-class.com/) である。どちらもコンピュータサイエンス

に関するコースであるのは偶然ではなく、当該分野の講師がまわりの大学院生や同僚の助けを借りて、

技術的あるいは財政的困難にさほど阻まれることなく、自前でコンテンツのみならずそれをインターネ

ットで提供するプラットフォームまで作り上げたものであったからである。当初、両コースは共通のプ

ラットフォームを使用していたと思われるが、のちにAIコースはUdacity (https://www.udacity.com/)、ML コースは Coursera (https://www.coursera.org/) へと袂を分かつことになり、現在でもそれぞれの

サイトで Intro to Artificial Intelligence および Machine Learning というコース名で提供されている。

代表的な MOOC のうち Udacity と Coursera が無償でのコース提供を基本としてはいるものの営利団

体であるのに対して、edX は MIT とハーバード大学によって設立された非営利団体である(ただし無

料なのは聴講のみで、修了証書の発行は有料というケースが多い)。この edX のサイト

https://www.edx.org/ のベースとなっているソフトウェアのオープンソース版が Open edX というわけ

211Open edXを用いたインタラクティブなeラーニングシステムの構築と運用

KIT Progress №26

Page 2: Open edXを用いたインタラクティブな eラーニングシステムの構 …kitir.kanazawa-it.ac.jp/infolib/cont/01/G0000002repository/000/000/... · Open edX is an open-source

Open edX を用いたインタラクティブな e ラーニングシステムの構築と運用

である。この MOOC の潮流はその後アメリカだけではなく、ヨーロッパ (openHPI, iversity, FUN-MOOC) や日本 (gacco) などにも広がりを見せているが、このうち Open edX を使用しているサイトも

多い (Stanford Online, FUN-MOOC, gacco など)。一方で Udacity や Coursera は閉じた独自のソフ

トウェアを使っている。 MOOC は文字通り多数の (massive) 受講者を対象とし、開かれた (open)、インターネットを媒体と

する (online) 教育サービスであるが、それが従来の MIT をはじめとした OCW (Open Courseware) やApple 社が提供する iTunes U と大きく異なるのは、MOOC では講義ビデオの視聴のみならず、オンラ

インでの課題の提示・自動採点aを通した受講者の成績評価にも重きが置かれている点である。このため、

学内に閉じられた形で MOOC のプラットフォームを使っている大学やコースも数多くあり、情報工学

科でも筆者が担当する離散数学 (1 年次)、データベース (2 年次)、知識情報処理 (3 年次) の 3 科目に

て、2015 年度より学内ネットに設置した複数の Open edX サーバーを講義補助ビデオの提供および課

題提示・自動採点の目的で利用している。

2.Open edX の概要

Open edX は本家の edX が立ち上がって間もなく公開され、Aspen にはじまり、現行の Ficus に至る

まで、アルファベット順のコードネームがついた安定バージョンがほぼ半年に一回のペースでリリース

されている。開発および配布は GitHub (https://github.com/edx/) 上で行われ、数百人の開発者がプロ

ジェクトに貢献している。Open edX は Linux 上で稼働する極めて複雑なソフトウェア群であるが、大

きく分けてコースコンテンツ制作者用のインターフェースとバックエンドである CMS (Course Management System)、と受講者向けのインターフェースとバックエンドである LMS (Learning Management System) の 2 つのコンポーネントからなる。どちらもブラウザを介した操作を基本とし

ており、利用者は特殊なソフトウェアやアプリを必要としない。 2.1 LMS (Learning Management System)

受講生が専らアクセスすることになるのが LMS である。受講生はまず Open edX サーバーでアカウ

ント登録し、その上で、受講する科目ごとにコース登録する。アカウント登録にあたっては、メールア

ドレスとパスワードによる登録方法と Google や Facebook などのソーシャルログインを用いた登録方

法の 2 つがある。本学のように大学ドメインの Google アカウントが学生に配布されているような場合

には、ソーシャルログインによるアカウント登録を課すことによって、ログイン情報の共有による不正

行為をある程度防ぐことが可能である。なぜならばログインにはメールにアクセスするためのパスワー

ドが必要となるため、パスワード共有に対する心理的抵抗が極めて大きくなるからである。ログイン後

は例えば図 1 のようなダッシュボードが表示されb、コース登録している科目が一覧できる。ダッシュボ

ードで個々のコースをクリックするとビデオや課題などのコンテンツにアクセスできる。図 2 にはデー

タベースのコースにおいて、指定した問い合わせを行う SQL 文を答えさせる課題を示した。ここでは 5回の回答チャンスが与えられていることが Submit ボタンの右横に示されている。後述する仕組みによ

り、SQL がダイナミックに実行・評価されており、受講生は即座にフィードバックが得られる。

a エッセイなどの課題では、適切なルーブリックを用意し、受講生同士でお互いの評価をさせ、その中

央値をとるような採点方法が用いられているケースもある。 b Image credits https://commons.wikimedia.org/wiki/File:Piet_Mondriaan_-_03.jpg https://pixabay.com/photo-155161/

212 Open edXを用いたインタラクティブなeラーニングシステムの構築と運用

Page 3: Open edXを用いたインタラクティブな eラーニングシステムの構 …kitir.kanazawa-it.ac.jp/infolib/cont/01/G0000002repository/000/000/... · Open edX is an open-source

Open edX を用いたインタラクティブな e ラーニングシステムの構築と運用

図 1. 受講者用ダッシュボード

図2. 受講者用コース画面

213Open edXを用いたインタラクティブなeラーニングシステムの構築と運用

Page 4: Open edXを用いたインタラクティブな eラーニングシステムの構 …kitir.kanazawa-it.ac.jp/infolib/cont/01/G0000002repository/000/000/... · Open edX is an open-source

Open edX を用いたインタラクティブな e ラーニングシステムの構築と運用

図3. 受講者用Progress タブの表示例

コースコンテンツ以外にも、現時点での自分の得点が確認できる Progress タブも用意されている (図3)。オンラインでの課題の結果は即座にここに反映され、また、レポートや試験などオフラインの課題

の得点もスクリプトを使って LMS にアップロードできるので (第 3 章を参照)、受講生は自分の進捗具

合に応じて効果的な学習時間の見直しを行うことができる。

図4. 教員専用のInstructor タブ

教員として LMS にログインすると、受講生から見えるコンテンツに加えて Instructor タブが表示さ

れ、次の 6 つのメニューが利用できるようになる (図 4)。 Course Info: コース受講者数やコースの基本情報の表示。 Membership: 受講生・教員・テストユーザーの追加および削除。テストユーザーは課題などのコ

ンテンツに、一般受講生へのリリースより前にアクセスできるので、TA にこの権限を付与する

ことにより、問題文のチェックなどを依頼できる。

214 Open edXを用いたインタラクティブなeラーニングシステムの構築と運用

Page 5: Open edXを用いたインタラクティブな eラーニングシステムの構 …kitir.kanazawa-it.ac.jp/infolib/cont/01/G0000002repository/000/000/... · Open edX is an open-source

Open edX を用いたインタラクティブな e ラーニングシステムの構築と運用

Cohort: 同じコースを受講しているクラスごとにコンテンツを若干変えたい時などの前提とな

るグループ分けをここで行う。 Student Admin: 学生ごとの Progress 画面の表示や課題提出回数のリセットなど。 Data Download: 受講生全員分の得点状況のダウンロード (CSV 形式)。 Analytics: コホートなど受講生の属性ごとに学習状況の解析が行えるのだが、追加の設定が必要

で、筆者はまだこの機能を利用したことがない。 2.2 CMS (Course Management System)

教員は CMS 専用の URL にアクセスすることにより、新規コースの追加、コース内のセクションの

追加およびリリース日時の指定など各種の設定を行うことができる (図 5)。

図5. CMS のコース概要画面

各々のコースは、コース > セクション > サブセクション > ユニット > コンポーネントという

階層構造を持っている。個々の講義ビデオ、解説文、課題などがコンポーネントに相当し、受講生はコ

ンポーネントの集合であるユニットを 1 つのページとしてブラウザでアクセスすることになる。講義ビ

デオは YouTube にアップロードされたビデオをページ内に埋め込まれたプレーヤーで視聴できるコン

テンツである。課題は選択問題、テキスト入力問題、数値入力問題など基本的な形式の問題に加えて、

数式入力問題、ドラッグアンドドロップによる対応付け問題、イメージ内の該当箇所をクリックして答

えさせる問題などより複雑な形式の問題もテンプレートの形で用意されている。また、外部の採点プロ

グラムに受講生の回答内容を渡し、採点結果を受け取るような種類の問題も作成することができる。実

215Open edXを用いたインタラクティブなeラーニングシステムの構築と運用

Page 6: Open edXを用いたインタラクティブな eラーニングシステムの構 …kitir.kanazawa-it.ac.jp/infolib/cont/01/G0000002repository/000/000/... · Open edX is an open-source

Open edX を用いたインタラクティブな e ラーニングシステムの構築と運用

は先に紹介した SQL の採点にはこの仕組みを利用している。 2.3 Open edX の長所と短所

ここでは網羅的ではなく、筆者の経験に基づいて Open edX の長所と短所について考えるところを述

べる。 2.3.1 長所

そもそも MOOC のプラットフォームとしての使用に耐えうるよう設計されているため、Open edX は

良好なスケーラビリティを有している。データベース (MySQL および MongoDB) や LMS・CMS の

様々なサービスが疎結合しているアーキテクチャを採用しているため、必要に応じてサーバーを増強す

ることにより、何千何万という受講生にサービスを提供することも可能である。学内での使用に限れば、

Open edX のシステム要件を辛うじて満たすサーバーであっても約 300 名の受講生を難なくさばくこと

ができたので、複数サーバーが必要になるケースはまず無いと考えられる。しかし、もし将来、学外の

受講生へのサービスなどを始めるようなことがあれば検討に値するプラットフォームである。スケーラ

ビリティに関してもう一点挙げると、従来の紙ベースの課題と比べて CMS 上での作題は若干多くの時

間を要するものの、問題が出来上がった時点で採点作業も終わっているともいえる。従って教員は受講

生数に比例して増える採点時間という制約から解放され、これまで以上に課題の出題回数を増やすこと

ができ、ひいては受講生の講義時間外における学習への取り組みを高めることができる。 次は長所でもあり短所でもあることだが、図 2 に示した課題例のように多少難易度の高い問題であっ

ても、複数の回答チャンスを与えることにより、受講生に繰り返し考え学ばせる効果が期待できる。も

ちろんその裏返しとして、回答の都度、システムは正解・不正解のフィードバックを与えることになる

ので、受講生同士で答えのみが共有されてしまう危険性がある。Open edX では、問題のバリエーショ

ンをいくつも用意しておいて、学生ごとにランダムな問題が提示されるようにすることも可能なので、

手間はかかるが、ある程度この問題に対処することができる。しかしそれと同時に、答えを共有するこ

とが決して長期的な利益にはならないことを受講生に納得させる努力も必要であろう。ちなみに

Coursera などの MOOC では、一般には受講者が地理的に点在していて情報共有が起こりにくい上、修

了証書が発行される有料受講生に対しては Web カメラを用いた顔認証やタイピングの癖などによる本

人確認で課題の身代わり回答を防いでいる。 最後に、すでに述べたことではあるが、(1) Google や Facebook などのソーシャルログインがサポー

トされているためアカウントと本人との突合せが容易で、また、ログイン情報の共有による身代わり回

答などもある程度防ぐことが可能なこと、(2) 出遅れ気味の受講生に対しては、現時点での自分の得点

がビジュアルに確認できるため、早期に問題を認識させることができること、(3) 外部の採点プログラ

ムを用いて、特にプログラミング課題における柔軟な拡張が可能であることを再度強調しておきたい。 2.3.2 短所

コースコンテンツは日本語で作成することができるが、アカウント登録時の確認メールに始まり、課

題の締め切りなどのシステムメッセージはすべて英語である。ボランティアベースの翻訳プロジェクト

が立ち上がっているものの 1)、表示モードを日本語に設定しても、現時点では日本語と英語が混在して

表示され、かえって混乱を招くような状態である。 次は受講者のネットワーク環境に依存する問題だが、コースコンテンツの中には Open edX サーバー

の外から取ってこられるものも含まれている。例えばブラウザ内で数式を美しく表示するための

MathJax や図 1 の右下にも表示されている“Powered by Open edX”のロゴ画像である。どちらも技術的

にはローカルサーバーで提供することが可能だが、特に後者については Open edX プロジェクト側でプ

ラットフォームの利用状況を追跡するため、勝手に改変しないよう要請されているという事情がある。

ところが受講者のネットワーク環境によってはインターネットとイントラネットの同時アクセスができ

216 Open edXを用いたインタラクティブなeラーニングシステムの構築と運用

Page 7: Open edXを用いたインタラクティブな eラーニングシステムの構 …kitir.kanazawa-it.ac.jp/infolib/cont/01/G0000002repository/000/000/... · Open edX is an open-source

Open edX を用いたインタラクティブな e ラーニングシステムの構築と運用

ないケースもあり、利便性が大幅に低下する可能性がある。解決策としては Open edX サーバーをイン

トラネットではなく、インターネットに配置することも考えられるが、その場合にはより慎重なセキュ

リティ対策などが必要となるため、教員の負担を考えると、組織的に運営するのでない限り現実的では

ない。

3.Open edX の導入から運用まで

この章では自前の Open edX サーバーを立ち上げる際の要点について述べる。 3.1 導入

公式ドキュメント 2)によれば、Ficus リリース以降の Open edX をスタンドアロンのサーバーに導入

する際のシステム要件は次のとおりである。 OS: Ubuntu 16.04 メモリ: 8GB 以上 CPU: 2GHz 以上 ディスク容量: 25GB 以上

ソーシャルログインを利用する場合には上記に加えて、イントラネットのサーバーであってもグローバ

ルな IP アドレスを有している必要がある。また、筆者の環境ではディスクはミラー構成にし、さらに全

く同じ構成のシステムを開発機・テスト機を兼ねたバックアップサーバーとして準備している。これは、

ディスク障害が発生した場合にバックアップからコースコンテンツを復元するのは比較的容易だが、ユ

ーザー情報はMySQLとMongoDBという全く異なるタイプのデータベースにまたがって保存されてお

り、復元作業に大きな困難が伴う可能性があるためである。従ってコースコンテンツおよび LMS の

Instructor タブからダウンロード可能な受講生の成績情報についてのみ頻繁にバックアップを取り、万

が一障害が発生した場合にはバックアップサーバー側でコンテンツを復元し、受講生には不便をかける

ことになるが、アカウント登録およびコース登録を再び行ってもらうという方針を取っている。幸いこ

のような事態になったことは一度もない。Open edX の導入時には多くのソフトウェアやサービスが追

加され、関連するシステムユーザーも登録されるため、基本的に本番機およびバックアップ機は Open edX 専用とすべきである。 機器およびネットワークの準備が整ったら次はソフトウェアの導入であるが、この部分はかなり自動

化されており、時間はかかるものの容易である。 1. 導入したい Open edX のリリース名をしかるべき環境変数にセット 2. Ansiblecと edX の構成ファイルを導入するスクリプトの実行 3. 様々なサービスアカウントのパスワードをランダムに初期化するスクリプトの実行 4. sandbox.sh (全自動スクリプト) のうち、Ansible の playbook を実行する直前までを実行 5. configuration ディレクトリ下の設定ファイルを適宜編集 (下記は筆者の環境での設定例)

i. playbooks/roles/common_vars/defaults/main.yml でパスワードによる ssh ログインを許可 ii. playbooks/roles/edxapp/defaults/main.yml で教育機関名、タイムゾーン、各種メールアドレス

の設定およびソーシャルログインのためのサードパーティ認証の許可 6. sandbox.sh の残りのステップを実行

最後のステップの実行中に、必要パッケージのインターネット経由での入手がタイムアウトを起こした

り、要求受付状態になっていると仮定されているサービスがまだ起動中であったりなどの理由でスクリ

プトが途中で終了する場合があるが、Ansible の各導入・構成ステップは冪等性をもつように定義され

c さまざまなソフトウェアの導入および構成を指定された指示書 (playbook) に従って行うツール。

217Open edXを用いたインタラクティブなeラーニングシステムの構築と運用

Page 8: Open edXを用いたインタラクティブな eラーニングシステムの構 …kitir.kanazawa-it.ac.jp/infolib/cont/01/G0000002repository/000/000/... · Open edX is an open-source

Open edX を用いたインタラクティブな e ラーニングシステムの構築と運用

ているため、何か構成に問題があればそれを正した上でスクリプトを再実行、という手順をスクリプト

全体が正常終了するまで繰り返せばよい。 3.2 構成

詳細は公式ドキュメントに譲り、ここでは設定項目を挙げるだけにとどめる。 まずは LMS でアカウント登録し、次に manage.py スクリプトを使ってそのアカウントに管理者

権限を付与する。管理者はコースごとの管理者 (すなわち教員) の指定など Open edX システム

内でもっとも強力な権限を持ったユーザーである。 ソーシャルログインを利用する場合には、LMS に管理者としてログイン後に、http://open_edx

ホスト名 / admin/third_party_auth/ にアクセスして OAuth プロバイダーを追加し、

/edx/app/edxapp/lms.auth.json に認証情報を書き込む。 (任意)受講者がアカウント登録する際に混乱しないように不要な入力項目を非表示にする。具

体的には /edx/app/edxapp/lms.env.json の REGISTRATION_EXTRA_FIELDS において、

required 以外の項目をすべて hidden にする。 (任意)サイトロゴなどのリソースは「アセット」と呼ばれ、 /edx/app/edxapp/edx-

platform/{lms,cms}/static な ど に 置 か れ て い る 。 ア セ ッ ト を 変 更 し た 後 は

https://openedx.atlassian.net/wiki/x/SQGXAw の“Compile assets manually”にある手順に従っ

てシステムに反映させる。 3.3 運用

3.3.1 バックアップ

導入のセクションで述べたように筆者はシステムレベルでのバックアップは諦め、成績データとコー

スコンテンツのバックアップのみを行ってきた。成績データは LMS の Instructor タブから行えるが、

スタンドアロン環境ではファイルは /tmp/edx-s3/grades/ 下に置かれ、再起動時には消去されてしまう

ので注意が必要である。コースコンテンツのバックアップは CMS の Tools > Export から行うことが

できる。形式は XML ファイルを tar アーカイブしたもので、バックアップサーバーの同じく CMS の

Tools > Import から読み込ませることができる。 3.3.2 監視およびロギング

Open edX システムでの課題の成績を受講生の評価の一部として使う場合には相応の説明責任が生じ

る。筆者はオープンソースの統合監視ソフトウェアである Zabbix3)を使って、Open edX サーバーの稼

働状況やシステム負荷をモニタリングしている。これにより「提出期限直前にシステムが落ちていた」

などの申し立てが妥当なものかどうか判断できる。また、教員は個々の受講生の課題の回答状況につい

て、LMS 上で回答内容やタイムスタンプを含む詳細なイベント情報を確認することができる。また各種

サービスについてのログは /edx/var/log/ に置かれている。 3.3.3 オフラインの成績のLMSへのアップロード

紙ベースのレポート課題や試験の得点を LMS に反映させて Progress ページ (図 3) で参照できる

ようにするには、まず CMS の Advanced Settings で Advanced Module List に“lti”を追加しd、LTI Passports に課題や試験ごとのエンドポイントを設定する。次に同じく CMS で受け皿となる LTI コン

ポーネントをエンドポイント情報とともに作成する。最後に成績データをしかるべき CSV フォーマッ

トで用意したうえで、edx-tools4) の lti/grades/upload_csv.py スクリプトを実行すればよい。

d LTI (Learning Tools Interoperability) とは LMS に外部アプリケーションがアクセスするための仕

様。

218 Open edXを用いたインタラクティブなeラーニングシステムの構築と運用

Page 9: Open edXを用いたインタラクティブな eラーニングシステムの構 …kitir.kanazawa-it.ac.jp/infolib/cont/01/G0000002repository/000/000/... · Open edX is an open-source

Open edX を用いたインタラクティブな e ラーニングシステムの構築と運用

3.3.4 外部採点プログラムとの連携

Open edX がデフォルトでは提供していない種類の問題を出題したい場合には、XBlock という仕組み

を利用して新しいコンポーネントタイプを追加することもできるが、プログラミング課題のように受講

生が入力したテキストデータのみに基づいて採点が行える場合には、外部の採点プログラムと連携する

仕組みも用意されている。具体的には xqueue-watcher5) にあるコードに基づき、独自の採点プログラ

ムを作成し、/edx/app/xqueue/xqueue.env.json では採点プログラムごとにキューを定義し、CMS では coderesponse というタイプの問題を XML 形式で入力することになる。その際、受講生のプログラムを

ダイナミックに実行して評価する上で適切にサンドボックス化がなされているよう注意する必要がある。

すなわち評価対象のプログラムがシステムに対して不正な操作を行うことが無いよう、実行権限や読み

込めるライブラリを制限したり、あるいは無限ループなどでシステム資源を枯渇させないようタイムア

ウトを設けたりする。教育用のプログラミング言語としても世界的にもポピュラーな Python について

は CodeJail6) というサンドボックス環境が用意されている。筆者が実装したのは SQL の採点プログラ

ムであるが、データベースではロール、オブジェクト、操作ごとのきめ細かなアクセス制限が可能なの

で、サンドボックス化は比較的容易であった。

4.結論

Open edX は本来 MOOC 向けのプラットフォームであるが、受講生が 200~300 人の規模であれば、

教員個人が保守・管理するスタンドアロンサーバーでの使用でも十分利用価値が高いことが分かった。

紙面の都合により、課題コンテンツについての記述に多くを費やしたが、動画コンテンツの制作にあた

っても、PC 上のアプリケーション操作画面、Web カメラで撮影した講師、書画カメラで撮影した紙と

ペンでの説明、Khan Academy のコンテンツのようにペンタブレットによる PC 画面上での説明などを Camtasia のような比較的安価なビデオ編集ソフトで作成できるので、多少慣れは必要だがコンテンツ

制作においても教員が個人のレベルで対処可能であると考える。 本事例報告はかなりローレベルの技術情報も含んでいるが、自前の Open edX サーバーを立ち上げる

上で必要な知識と勘所を押さえたつもりである。Moodle や Google Classroom など、他の e ラーニン

グプラットフォームとの比較検討の際の一助となれば幸いである。

参考文献

1)https://www.transifex.com/open-edx/edx-platform/ (2017 年 8 月 8 日閲覧) 2)http://edx.readthedocs.io/projects/edx-installing-configuring-and-running/ (2017年8月 8日閲覧) 3)https://www.zabbix.com/jp/ (2017 年 8 月 8 日閲覧) 4)https://github.com/edx/edx-tools (2017 年 8 月 8 日閲覧) 5)https://github.com/edx/xqueue-watcher (2017 年 8 月 8 日閲覧) 6)https://github.com/edx/codejail (2017 年 8 月 8 日閲覧)

[原稿受付日 平成 29 年 8 月 17 日、採択決定日 平成 29 年 11 月 13 日]

219Open edXを用いたインタラクティブなeラーニングシステムの構築と運用

Page 10: Open edXを用いたインタラクティブな eラーニングシステムの構 …kitir.kanazawa-it.ac.jp/infolib/cont/01/G0000002repository/000/000/... · Open edX is an open-source

Open edX を用いたインタラクティブな e ラーニングシステムの構築と運用

中野 淳

教授・Ph.D. in Computer

Science

工学部

情報工学系

情報工学科

220 Open edXを用いたインタラクティブなeラーニングシステムの構築と運用