ネットワーク新時代に対応した新しい講義システムの試み(3)
データベースを利用した学習状況把握システムの構築

鎌田 祐生紀, 田中 宏明, 矢野 敬幸


Return

1 はじめに

われわれは大学における講義を支援する目的で数年前からインターネットの教育利用の研究を始めた[1]。この間、より有効な知識伝達を目指したJavaによる教育コンテンツの開発[2]も行ってきた。こうして構築してきた学習システムは実際に、高校までの自然科学の補習といった性格を持っている講義[3]を選択した学生諸君に開放してきた。このような利用経験から学習システムは、単に知識を伝達するだけでなく、学ぶ側がそれらの内容をどの様に受け取っているかを教える側が的確に掴むことが出来るような機能をも備えるべきであることを痛感した。この様な動機から研究開発を開始し、その成果の一部はICCE(ブタペスト)[4]および本学会 2000年研究討論会(筑波)[5]でも発表した。
インターネット教材への受講者のアクセスログは全てサーバーに記録されているので、それを解析することで、受講者の学習状況や進度を把握することができるようになる。当然のことであるが、アクセスログは誰が(ID名)いつ、どのマシンからどのページにどれだけ滞在したかということしか記録されていない。したがってそれらのアクセスログの解析結果に基づいて受講状況を把握するためには、教師自身がある種の推理を加える必要があることはいうまでもない。ともあれ教える側が受講者の学習状況を的確に把握できると、受講者側へインターネットを通じた個別的な指示やアドバイスさえもが可能になる。さらには受講状況についての知識は教材内容やシステム自体の改善を促進する。この様に学習状況をリアルタイムで的確に把握していくことは、インターネットを利用する教育システムにとっては大変重要であるといえる。学習状況を的確に把握することによって双方向性を強化した学習システムの概念をFigure 1に示す。


Figure 1. インタラクティブな教育システムの概念図

2 受講状況モニターシステムの概要


Figure 2. 受講モニタシステムの構成

受講学生が多数いるような場合、処理すべきアクセスログデータが膨大になり、しばしば利用されているCommon Gateway Interface(CGI)では処理に時間がかかりすぎたり不安定になるなどの欠点が予想される。規模が大きくなり得るアクセスログデータを自動的にデータベース(DB)に格納しかつそれらのデータに対する様々な解析を高速で行うために、大量データを扱うために開発されてきたデータベースマネージメントシステム(DBMS)を導入・利用することで対処することとした。DBとしては安定性に定評のあるPostgreSQL[6]を利用した。アクセスログ解析から各教材のアクセス頻度や各学生のアクセス状況などが明らかになる。またテスト/アンケート回答結果解析、全学生の学習進度・頻度状況一覧等も同様の手法で可能になる。この学習状況把握システムを学習システム[1, 2]上に付け加えて構築するにあたって様々な言語を比較検討したが、従来からわれわれが開発してきた学習システムとの互換性や移植性を高めるため、CGIインターフェースやDBMSと各種の解析ツールとの間のブリッジとしてPerlプログラムを使用した。
またPerlプログラムを利用してPostgreSQLへ接続するにあたっては、DBへの汎用インターフェースとして利用されているDBI [7] というPerlモジュールを、そしてDBIのPostgreSQL専用ドライバであるDBD::Pg[8]というPerlモジュールを利用している。なお、これらのモジュールはCPANサイト [9]よりダウンロードして使用した。このようにDBIとDBD::Pgという2つのモジュールを利用することにより、PostgreSQLの独自の仕様にとらわれることなく汎用性の高いSQLコマンドを利用して、高速かつ柔軟性の高いブリッジの構築が可能となった。
これらの受講状況モニターシステムの構成をFigure 2に示す。こうして得られた受講生の学習状況は、一般のブラウザで参照できるようにした教師用の管理ページを通じて把握できるようにした。管理ページではアクセスログなどの解析結果がその都度呼び出され、グラフィカルな表示をすることで教師が一目で受講者の最新の学習状況を把握することが出来るようになっている。

3 管理ページ概要

受講状況を把握するための各種のツールは教師側の便を考えて管理用ホームページに集積した。それらのツールは大別すると以下のように分類できる。
a) アクセスログ解析(教材を中心として)
b) アクセスログ解析(学生を中心として)
c) 小テスト・アンケート回答結果解


Figure 3. 教科別アクセス数の分布

いずれのツールもグラフ表示などを取り入れ、視覚的にわかりやすいようにしている。(a)の項目では、どの教材あるいはどの分野に最もアクセス数が多いか、またどの時間帯に最もアクセス数が多いか、またどこからアクセスしているかなどをグラフで参照できる。(b)に分類したツールではどの学生についても学習進度・頻度一覧表を表示する事ができ、その学生がそれぞれの教材ページをどのぐらい見ているか等を一目で分かるようにしてある。項目(c)の小テスト・アンケート回答結果解析は、各設問ごとに回答として選ばれる選択肢の傾向を示すツールと各学生ごとの回答結果を示すツールと両方設けた。Figure 3はツールを利用した一例として2000年度における半年の講義を終了したときの教材別アクセス数の分布を棒グラフで示している。受講学生の総数は約350人で教材はTable 1に示すような12個の分野別にしてあるが、たとえば第7分野には1460件のアクセスがあったことを示している。最大およびそれに次ぐ9755件と5356件のアクセス数を持つ項目はそれぞれテスト演習のページと掲示板である。第1,4,5の分野のアクセス数がゼロであるのはこの分野のホームページが未完成のためである。いずれのツールも生徒のアクセス状況や学習状況をダイナミックに解析するため、現段階での教材のアクセシビリティーやユーザービリティーを含めたサイト稼働状況を随時確認してくことが可能となっており、サイトを管理、ひいてはシステムを管理していくに当たって中心的なツールといえる。

Table 1. WWW教材の分野別配置
1 数学的準備(工事中)
2力と運動
3電気と磁気
4光(工事中)
5エネルギー(工事中)
6物質の階層構造と構成要素
7化学結合
8地球科学の基礎
9生物の共通性
10生物の多様性
11ニュースの中の科学・技術
12その他

本研究が科学研究費補助金基盤研究B(2)のサポートに拠ったことを記しここに感謝する。

参考文献

[ 1] 鈴木久雄, 伊澤俊二, 尾崎成子, 矢野敬幸, ネットワーク新時代に対応した新しい講義システムの試み, J. Chem. Software, 3, 165-176 (1997).
[ 2] 桐山雄一郎, 鈴木久雄, 尾崎成子, 矢野敬幸, 上田望, ネットワーク新時代に対応した新しい講義システムの試み(2)-Java を利用した対話的教育支援システムの構築-, J. Chem. Software, 5, 1-14 (1999).
[ 3] 上田望, 中嶋浩一, 三村徹郎, 御代川貴久夫, 矢野敬幸, サイエンスミニマム10講, 培風館 (1996).
[ 4] Y. Kamata, H. Tanaka, T.Yano and Y. Yano, Convenient Tools Based on the Database Management System for Monitoring Student's Progress in a Self-Learning System Supported by WWW, 16-th International Chemical Congress of Education (2000).
[ 5] 鎌田祐生紀, 田中宏明, 矢野敬幸, インターネット教育システムにおける学生の学習状況把握機能の構築, 化学ソフトウェア学会 2000年研究討論会講演要旨集, 22-23 (2000).
[ 6] PostgreSQL は、Unix で動くフリーなデータベースソフトでSQL が使え、数十万件のデータを実用的なスピードで検索できるなど、データベースの基本機能としては十分なものを備えている。もともとはバークレー大学で開発され、その後ボランティアの手によって維持・発展されて現在に至っている。
[ 7] Perl言語でデータベースにアクセスするためのAPI(アプリケーションプログラムインターフェース)である。Tim Bunceにより設計されたDBI APIの仕様は、実際にデータベースを使用するために、独立した一貫性のあるデータベースインターフェースを供給する機能、変数、方法のセットを定義できる。
ftp://ftp.lab.kdd.co.jp/lang/perl/CPAN/modules/bycategory/07_Database_Interfaces/DBI/
[ 8] Edmund Merglにより設計された。
ftp://ftp.lab.kdd.co.jp/lang/perl/CPAN/modules/bycategory/07_Database_Interfaces/DBD/
[ 9] The Perl 5 モジュールリスト Revision: 2.38
http://www.att.or.jp/perl/module/mlstj0.html


Return