このページの先頭です

メニューを飛ばして本文を読む

ここから本文です

サイト内の現在位置

教員紹介

安間 文彦 助教 ANMA Fumihiko

  • 社会知能情報学専攻
  • 知識創産システム学講座
  • anma(at)ai.is.uec.ac.jp

1.はじめに

近年、インターネットを使って学習するeラーニングの需要が高まっている。eラーニングというのは、コンピュータなどのIT技術を利用して学習するシステムの総称で、学習教材がサーバにアップされており学習者はインターネットができる環境であればいつでもどこでも学習できるという特徴がある。また、個々の学習者が学習した内容は履歴としてサーバに管理されるので、個々の進捗状況を把握することが可能である。

eラーニングは、従来の授業のように学習者が一ヶ所に集まる必要がなく、また個人の進捗度合いに応じて学習することが可能なため、資格試験受験者向けの学習手段として、あるいは企業の内定者向けの研修手段として積極的に活用されている。文部科学省によるe-JAPAN構想においても「人材・教育」が重点項目のひとつとされ、政策として「ITのメリットを最大限に活かした授業の実現」があげられているため、eラーニングは今後も教育現場にますます活用されていくと考えられている。しかし、eラーニングの歴史はまだ浅いため、コンテンツの標準化やオーサリングツール、ビジネスモデルなどの研究が進められる必要がある。

2.これまでの研究

私は学生時代、『初等プログラミング教育における学習者を支援するシステム』に関する研究を行ってきた。

小・中学校でもコンピュータやインターネットの積極的な活用が図られており、高等学校の授業では「情報」という教科が導入されているように、情報教育が一般的になっている。しかしながら、プログラミング教育ということで考えた場合、プログラミングを教えることができる教師が少ないということもあって、その比重はそれほど高くないというのが現状である。

しかし、プログラミングではものごとを論理的に考えなくてはならないため、論理的な思考を身に着けるためにも、プログラミングを学ぶことには意義があると考えられる。こうした背景をふまえて、学習者が自らプログラミングを学習する際の支援となるシステムを構築することを目指してきた。学習者がプログラミングを行う際、一般的には、まず解決すべき問題が存在する世界を想定し、その問題世界上での解決手順(アルゴリズム)を考える。そして、その問題解決手順をプログラミング言語を使ってコーディングする。しかし、プログラミング言語は問題世界上に概念に対する操作としてではなく、データ構造に対する操作として記述される。この点が、初心者にとってはプログラミングを困難に感じる原因のひとつでもある。

そこで、このような学習者を支援するために、問題世界上での働きを説明する機能を持つシステムを構築した。学習者はシステムに対してプログラムを入力すると、システムはそれをデータ構造操作ではなく、問題世界上でどのような操作が行われているかについて、文章とアニメーションによって説明する機能を持つ。たとえば、「配列の要素を並び替える」プログラムをシステムに対して入力した場合、システムは「ボールが並び替わる様子」を文章とアニメーションによって学習者に提示する。

入力されたプログラムが問題世界上でどのような意味を持つかをシステムに理解させるために、システムにその問題世界のモデルを持たせている。そして、システムがそのモデル上でプログラムのシミュレーションを行うことで、それぞれのデータ構造が問題世界のどの概念に対応するかを特定している。

この機能により学習者は、模範プログラムや自身が作成したプログラムをシステムに入力することで、プログラムの動作をデータ構造を意識することなく確認することができる。このため、システムをアルゴリズム学習やデバッグの支援に利用することが可能となる。

3. 今後の研究

これまでの研究では、対象となる問題世界のモデルをシステムに持たせることによって、システムに問題世界での操作の意味を理解させることを目指していた。現在は、比較的単純な世界に限定されているが、さらに複雑な世界において意味を理解できるよう改良していきたいと考えている。また、対象世界の意味の理解手法について、プログラミング以外の学習における利用についても検討していきたい。

また、これまでのシステムはスタンドアローンの形態で学習者を支援するものであり、学習者の履歴を管理する機能や個々の学習者に応じて適切な指導が行う機能も備えていないため、今後、eラーニングの特色を活かしたシステムを目指していきたいと考えている。

教員紹介