\documentclass[a4paper,twocolumn]{jsarticle}
\usepackage[dvips]{graphicx}
\pagestyle{empty}
\西暦
\setlength{\textheight}{240mm}
\setlength{\topmargin}{-10mm}
\setlength{\textwidth}{165mm}
\setlength{\oddsidemargin}{-5mm}
\setlength{\evensidemargin}{-5mm}
\hyphenation{front-end}

\title{ゲームを題材としたプログラミング教育支援システムの開発}
\date{}%ここはブランク
\author{06H082 東川諒央}
% 共著の場合は
% \author{xxHxxx 産郎 \and yyHyyy 四郎}

\begin{document}
\maketitle

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

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

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

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

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

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

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

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

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

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

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

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

%%% 図を入れる場合(ふつー EPS)
%\begin{figure}[!ht]
% \centering
% \includegraphics[]{}
% \caption{}
% \label{}
%\end{figure}

\bibliographystyle{jplain}
\bibliography{ref}
\end{document}
