どれ使う?プログラミング教育ツール

パズル感覚のプログラミングで攻略!「GPリーグ プログラミングコロシアム」

小学校の低学年からでも学べるスマホアプリ

 2020年度からついに小学校でプログラミング教育が実施されます。これに伴い家庭でも手軽にプログラミングを学習できるツールが多数登場していますが、どんなツールを使えばいいのか迷ってしまう方も多いのではないでしょうか? そこで本連載では家庭でのプログラミング教育にピッタリなお勧めツールを紹介していきたいと思います。

 「GPリーグ プログラミングコロシアム」は、キャラクターをプログラムで動かしステージ上のポイントを集めるプログラミング学習ゲームで、iOSとAndroidのアプリで提供されています。プログラムは、アイコンを並べるだけのとてもシンプルな操作なので小学校の低学年からでも取り組めます。

「GPリーグ プログラミングコロシアム」のアプリ起動画面

直感的な簡単操作でプログラム

 ゲームのルールはシンプルで、“エージェント”を動かしてタイル状のステージにある“エネルギー”を取るだけ。エージェントを動かすためのプログラムを、アイコンや数字が記された“コマンドチップ”を並べて作ります。たとえば初めは、前に3コマ進めばポイントを取れる簡単なミッションなので、[マエ]コマンドチップを1つ置いたら数字部分をタップして“3”に変更します。[マエ]を3つ並べても同じ動作をするはずですが、使えるコマンドチップの数が制限されていてその範囲でプログラムを考える必要があります。

コマンドチップをプログラム作成エリアに並べる。この場合[マエ]がもう残っていないので、[マエ]を3個並べることはできない

 コマンドチップの種類は少ないので、選択肢が多すぎて悩むというようなことはありません。むしろ、手持ちの札でどう攻略するかをパズル感覚で繰り返し考える面白さがあります。

少しずつレベルアップ

 [ヒダリマワリ][ミギマワリ]のコマンドは、回転角度を45度単位で指定するので、角度の概念を習う中学年からの方がスムーズに理解できますが、例えば紙に矢印で図示して、ここを向きたければ“45”、ここを向きたければ“90”などと、記号として参照できるようにしてあげれば、低学年でも使えるでしょう。

 また、ステージが進んでいくと、同じ指示を繰り返すための[ループ]コマンドが活躍します。アプリからはループの説明やループを使う提案などは示されないので、子どもの自由な試行錯誤を見守りつつ、適当なタイミングで使ったらもっと楽になることを教えてあげると良いでしょう。慣れてくると、どの動きをひとつのパターンに切り出してたら効率良く繰り返せるかを視覚的に判断できるようになるはずです。

ループを使っても使わなくてもプログラムは作れるが、使った方が指示が少なくて済む
ループを入れ子構造にすると効率の良いシーンも。エネルギーは通過するだけでは取れないので1カ所ずつ止まって繰り返す必要がある

少ないステップで攻略することも意識して

 どんな移動経路でもエネルギーを集められればステージをクリアできますが、クリア時に“手数”が表示されるのが特徴で、いくつのコマンドチップを使ったのかが判定されます。目標の手数でクリアできればステージ一覧でゴールドメダルが表示されます。答えとしてモデルプログラムが表示されることはないので、自分で考えるしかありませんが、いかに手数を減らせるか再チャレンジすると面白いでしょう。簡単そうに見えますが、手数を減らすには意外と頭の柔軟性が必要です。

 なお、アプリにはレッスンモードとバトルモードがあり、レッスンモードでStage9までクリアして無料の会員登録をすれば、バトルモードに挑戦できます。バトルの勝敗は、クリアまでの時間、再試行数、手数で判定されます。対戦相手も登場しますが、画面上でスピードを競うわけではなく、自分と同時に相手も動き出し、攻略コースの違いを検証できるようになっています。

目標の手数と自分の手数が表示される。この場合、もう1手順少なくミッションをクリアできるはず
バトルの結果は、時間、再試行数、手数で判定される

学習ゲームはプログラミングの基礎に慣れ親しむフェーズ

 とても簡単な操作で学習ゲームを行いながら、順次処理や繰り返しなど、プログラミングの基礎的な思考回路に慣れ親しむことができます。また、ゴールまでのルートをさまざまに頭の中に描いたり、そこから繰り返せるパターンを抽出するという習慣もプログラミングには大切な思考パターンです。

 こうした学習ゲームで考え方に慣れ親しんだら、ぜひ、別の自由度の高い制作用のプログラミングツールに移行して、プログラミングが必要な作品づくりや機能づくりに挑戦してみてください。よりスムーズに他のツールのコンセプトを理解できるようになるはずです。