研究報告書概要

人間と遊び遊びながら自律的にプログラミング的思考を育成可能なゲームの提案および学習効果の評価
調査研究

早稲田大学 基幹理工学部
講師(任期付き) 齋藤

1. はじめに表2. 既存ゲームの一覧

プログラミング的思考力は、条件分岐や繰り返し処理などの論理名称

ジャンル的な考え方や、問題を分析する力などであり、プログラミングをCatos Hike

パズル学ぶことで身につく可能性のある能力である。
これらの能力を育

Robozzle

パズル

成するには、プログラミング的思考育成向けのゲームを用いるこRuby Warrior

アドベンチャーとが効果的である。しかし、多くのゲームはパズルゲームや「前Save the

パズルに進む」、「右に曲がる」といった、タートルグラフィックスの概

animals:Coding Game

念を用いたゲームである。これらゲームは、プログラミング的思

Digital Puppet—

考力を養うのに有効であるが、いくつかの課題がある。まず、パProgramming

ズル系のゲームは、一度解いてしまうと繰り返し遊ぶことが難し

Code Karts

パズル

い。加えて、タートルグラフィックスの概念を用いたゲームの場

トライビットロジック

パズル

合、キャラクターは「前に進む」などのプログラミングで制御さトライビットランアドベンチャーれる。そのため、キャラクターが動いている間は、ゲーム画面をRapid Router

パズル見ることしかできず、遊びの要素が薄れてしまう。従って、これHackforplay

ロールプレイング

らの課題を解決するために、本研究では新しいプログラミング的ぷよぷよプログラミング

テキスト教材パズル

思考力を養うゲームを提案した。

4. ゲーム要素

2. プログラミング的思考力

プログラミング的思考育成ゲームの開発においてゲームを構成

プログラミングを学ぶことで養われる能力を明確にする必要がする要素（ゲーム要素）が重要である。課題として学習効果の高ある。
本研究ではこれらの能力をプログラミング的思考力と定義いプログラミング的思考力育成ゲームを開発する際、どのようなする。
プログラミング的思考力について、CSTA K12 Computer

ゲーム要素を必要とするかが不明である。従ってゲーム要素をScience Standards などを参考にし、表1の20項目を定義し

Adriano らの研究[1]を基に「Level」、「Challenge」、た。

「Restriction」、「Hint」、「Sound」、「Achievement」、「Point
表1. プログラミング的思考力

18

大輔

System」、「Avatar」、「Boss」、「Timer」、「Leaderboard」
、

順次

関数

関数化

推論

「Rating」、「Fantasy」、「Badge」の14個定義し、表2で示

分岐

演算子

問題の細分化

事象の分析

したゲームに含まれるゲーム要素を調査した。
結果として図1と反復

論理代数一般化動作の構築なった。図1から、「Level」、「Challenge」、「Restriction」の変数

演算子の使用抽象化

動作の抽出

要素はそれぞれ 1 個のゲームを除きすべてのゲームで使われて配列

論理代数の使用

設計書の作成思考の表現いた。さらに、「Hint」は2個のゲームを除いた9個のゲームで3. 既存プログラミング的思考力育成ゲーム使われていた。故に、「Level」、「Challenge」、「Restriction」、

プログラミング的思考力を育成するためのゲームは数多く提案「Hint」は多くのゲームで使われていることが確認できる。

されている。例として表2 を示す。表2 から分かるように、既反対に「Badge」は 11 個のすべてのゲームで使われていなか存のゲームではパズル形式が多い。
また多くのゲームは上述したった。加えて、「Leaderboard」「Rating」「Fantasy」は1 個通り「前に進む」や「右に曲がる」といったコマンドをプログラのゲームでしか使われていなかった。従って、プログラミング的ミングするタートルグラフィック形式のゲームが多くある。

思考育成ゲームとして重要な要素は「Level」「Challenge」- 1 -研究報告書概要

財団レポート 2021

「Restriction」、「Hint」であり、当該要素を含んだゲームを開発

6. 提案ゲームの学習効果することが重要である。

提案したゲームの有用性を確認し、今後の改善につなげるため、調査として学生や教員等の13名にゲームを遊んでもらった。そ1.

年齢を教えてください(10代, 20代, 30代, 40代, 50代)

2.

ゲームは楽しかったですか？(1-5の点数評価)

3.

ゲームはプログラミングの勉強になると思いましたか？

調査研究の後、次のようなのアンケート(()内は回答形式)を実施した。

(はい or いいえ)4.

敵キャラクターのプログラムの意味は理解できましたか？(はい or いいえ)

1 名についてアンケートからゲームを未プレイと判明したため

図1. ゲーム要素の数
5. プログラミング的思考ゲームの提案結果から除外した。結果として図4の通りであった。Q1につい

本研究では図 2 に示すようなプログラミング的思考育成ゲームて、12 人中5 人が10 代、1 人が20 代、2 人が30 代、4 人として、プログラミングで攻撃コマンドや防御コマンドを作るダが40代と回答した。Q2は、5点満点の評価で回答し、平均点ンジョン攻略型のゲーム「CpdeLoad」を提案した。本ゲームはは約3.7 点だった。Q3 については、全員が「はい」と答えた。

ダンジョン内に様々なパターンで出現する敵を倒すことが目的

Q4については、9人が「はい」と答え、3人が「いいえ」と答である。本ゲームの流れは以下の通りであり、これらの流れは上えた。
アンケート結果としてプログラミング的思考育成に効果的述したゲーム要素と対応している。

であることが示唆される。

①

ステージと敵が表示される。

②

学習者は敵のプログラムを確認する。(Hint)③

敵の行動を見て、プログラムの処理を理解する。

④

学習者はプレイヤーキャラクターの決められたプログラ
ミング要素でコマンドをプログラムする。(Restriction)⑤

学習者が作成したコマンドを使用し、ダンジョン内の敵を全て倒す。(Challenge)⑥

プログラミング要素の増えた新たなダンジョンの攻略を検討する。(Level)

図4. アンケート結果

本ゲームでは敵の使用するコマンドのプログラムを見ることが7. まとめと今後についてでき、それを参考にして、プログラミングで攻撃コマンド、回復本研究では、プログラミング的思考力を育成するためのゲームをコマンドを作成する必要がある。プログラミング言語はGoogle提案した。提案したゲームの有用性を確認するため12名の方に社のBlocklyを用いる。
本ゲームのコマンドの例を図3に示す。

遊んでもらいアンケート結果を分析した。結果、本ゲームはプログラミング的思考力育成に効果があることが示唆された。
しかし、プログラミング思考力への効果の検証については不十分である。
従って、今後はプログラミング的思考力への効果を検証する。
参考文献[1]. dos Santos, A. L., Maurício, R. D. A., Dayrell, M., &Figueiredo, E. (2018, October). Exploring gameelements in learning programming: an empirical

図2. ゲーム画面の例

evaluation. In 2018 IEEE Frontiers in Education
Conference (FIE) (pp. 1-9). IEEE.
共同研究者

坂本一憲, 鷲崎弘宜, 深澤良影 (早稲田大学), 内山宗一(明治大学サービス創新研究所), Ramzi Ramzi (私立高校校教師)

図3. コマンドの例- 2 -19