Activity
活動報告情報産業部

プログラミング体験ゲーム「アルゴロジック」

情報・産業システム部会 情報政策委員会およびソフトウェア事業委員会傘下のIT人材育成WGは、若年層を主ターゲットにしたITエレクトロニクス産業の人材育成活動を行っています。その一環として、2010年から一般公開してきたアルゴリズム体験ゲーム「アルゴロジック」を全面的にリニューアルし、プログラミング体験ゲーム「アルゴロジック」として公開しました。

小学校でプログラミング教育が必須に

2020年から、小学校でプログラミングが授業の中で取り扱われることになりました。小学校のプログラミング教育は、プログラム言語を使用したコーディングを教えることが目的ではなく、「プログラミング的思考」の育成を目的としています。
プログラミング体験ゲーム「アルゴロジック」は、ゲーム感覚でプログラミングを体験できる課題解決型ゲームソフトです。プログラムに触れたことのない未経験者でも、楽しみながらプログラミング的思考力を育成できるソフトを目指して開発しました。

アルゴロジックとは

アルゴロジックは、動きが書かれたコマンドブロックを並べることでキャラクターの動きを指定して課題をクリアするゲームです。JEITAのホームページ上で公開しています。パソコン、タブレット端末やスマートフォンなど、一般的に使用されるWebブラウザがある端末で使用できます。使用の際にユーザ登録やダウンロードは必要ありません。プログラミング経験がない人や苦手意識がある人向けの、小学校低学年の子供たちで取り組める易しい問題に加え、プログラミングが得意な人向けの腕試し的な難問も用意されています。
アルゴロジックには「アルゴロジック1」と「アルゴロジック2」の2種類のゲームがあります。

アルゴロジック1

アルゴロジック1の課題は「画面上に置かれたすべての旗を取る」と「画面上に描かれたすべての線をなぞる」の2種類です。基本動作を覚えるための「ジュニア問題」と、入門から上級までさまざまな問題で構成された「チャレンジ問題」に分かれています。
使用できるコマンドブロックは、「前進」「右進」「左進」「縦横斜め8方向への回転」「繰り返し始め/終り」です。コマンドブロック上のカウンタをクリックすることで、進むコマ数や繰り返し回数を変えることができます。また、「前進」「右進」「左進」のコマンドブロックを2つ横に並べることで、2つが表すベクトル方向に進めることができます。

【アルゴロジック1で使用するコマンドブロック】

【アルゴロジック1で使用するコマンドブロック】

解き方の正解は1つだけとは限らず、どの解き方でもクリアすれば○が与えられます。さらに、考えられる最短のコマンドブロック列でクリアしたときには◎が与えられます。コマンドブロック列を短くする工夫は、アルゴリズムの改良であり、プログラミングを行う上でとても重要なものです。
アルゴロジック1では、プログラムの3つの制御構造のうち、「順次処理」と「繰り返し処理」の考え方を学ぶことができます。

【アルゴロジック1の実行中画面】

【アルゴロジック1の実行中画面】

アルゴロジック2

アルゴロジック2の課題は「画面上に置かれたすべての旗を取る」に限定されています。また、アルゴロジック1にある「右進」「左進」コマンドブロックは無く、回転は縦横4方向に限定しています。コマンドブロックを2つ並べたベクトル方向に進む機能もありません。その代わりに「もし前に壁があったら〇〇をする。そうでなかったら○○をする」という分岐処理を体験することができます。

【アルゴロジック2で使用するコマンドブロック】

【アルゴロジック2で使用するコマンドブロック】

アルゴロジック2は、分岐処理が入ることでアルゴロジック1よりも難易度が高くなっていることから、中学校や高等学校で使用されることが多いようです。

【アルゴロジック2の実行中画面】

【アルゴロジック2の実行中画面】

おわりに

以上、プログラミング体験ゲーム「アルゴロジック」について紹介しました。
アルゴロジックの目指すところは、プログラミングの最初の段階にゲーム感覚で使用することで、子供たちにプログラミングへの興味を持たせ、学習のハードルを下げることにあります。アルゴロジックの体験は、プログラミング時の論理的思考力の育成に貢献するとともに、他のプログラム言語を学習する際の助けになるものと考えています。今後もブログラミング教育の初期段階でアルゴロジックをご活用いただけるよう、活用方法や有効性などを広く発信してまいります。

■プログラミング体験ゲーム「アルゴロジック」

https://algo.jeita.or.jp/