ゲームを題材としたプログラミング教育支援システムの開発^{06H082 東川諒央}

1 はじめに

現在、授業を受けたにも関わらずプログラミングができない学生が数多くいる。プログラミングが出来ない理由として、アルゴリズムを理解出来ない事が挙げられる。アルゴリズムはプログラミングを行う上で非常に大きなウェイトを占めており、理解が出来なければプログラムを書けないと言っても過言ではない。

先行研究 [1, 2] でもこのことは取り上げており、アルゴリズムを考える能力を養うための補助システムが必要とされている。そこで、本研究ではアルゴリズムを考え、実装する能力を養うための補助システムを開発した。

2 目的

本研究はゲームを学習に用いることで、プログラミング教育の補助を行うシステムの開発が目的である。学習意欲の維持や、学習者が自分自身で行い辛いアルゴリズムの評価といった問題点を解消することが必要となる。学習意欲や効率はゲームを利用することによって高めることが出来ることも先行研究によって証明されているため、この手法を使うこととした。

3 Game Programme

ゲームを教育システムに利用する為には題材が必要である。その為学習者が練習用として扱うことが出来る難易度のゲームとして Battleship を選んだ。

Battleship とは 2 人用ゲームで、縦横 10x10 のマスに配置された軍艦を互いに撃沈させあう遊びである。本研究では 1 人でプレイ出来るようにルールを変更している。

C 言語で制御構造を記述できる人を対象に、 3 タイプの学習プログラムの Game Programme (以下 GP) を開発した。各プログラムには別々の役割りがあり、ゲームをアルゴリズムの学習に用いる上で必要な機能を持たせた。

1. ゲームをプレイすることでルールを把握し、思考中のアルゴリズムに具体性を持たせる。

2. 記述されたアルゴリズムが理想通りに実装されているかをチェックする。

3. アルゴリズムの善し悪しを判断する為の数値を出力する。以上の 3 点は学習者が自身でプログラミングのサイクルを完結するためのものである。この 3 点により、計画、実行、評価、再構築を行い易くなる。

4 まとめ

本研究ではプログラミングが出来ない学生、学習しようという学生がアルゴリズム概念の理解を補助するためのシステムの開発を行った。そのため簡潔なルールと複数の攻略アルゴリズムが存在し、攻略難易度が低いゲームを検討した。そして条件に当てはまるゲームを GP 化し、学習者が攻撃関数のみをプログラミングすればよい限定的なプログラミングシステムを開発した。

今回の研究ではプログラミングの完全な初学者に向けた物ではないため、 C 言語で制御構造を記述できる程度の知識を必要とするシステムになった。

本研究の結果から、プログラミングの初学者やプログラミングに対して苦手意識を持っている学生向けとする為にはアルゴリズムを言語に依らず実装するシステムが必要であると考える。

参考文献

[1] 杉浦学, 松沢芳昭, 岡田健, 大岩元. アルゴリズム構築能力育成の導入教育: 実作業による概念理解に基づくアルゴリズム構築体験とその効果. NII 書誌, 2008.

[2] 尾崎浩和, 富永浩之, 山崎敏範. ボードゲームの戦略プログラミングを題材とした java 演習の支援システムの開発. NII 書誌, 2006.