2020年4月から小学校プログラミング教育が必修化された。既存の算数や理科といった科目の中で、物事を論理的に考えるプログラミングの要素を取り入れていくことになる。25年には大学入学共通テストでも、プログラミングなどを扱う「情報I」が科目として追加される予定だ。

【その他の画像】

 こうした背景から、数年前から小中学生を対象としたプログラミング教材が多く登場している。その中の1つ、6月25日にセガが発表した「ぷよぷよプログラミング」(以下ぷよプロ)は、子どもから大人までなじみのある対戦アクションパズルゲームぷよぷよ」を使った無料のプログラミング教材だ。コーディングで「ぷよ」を動かせるようにし、ゲームを完成に近づけていく。

 果たしてプログラミングを習得できるのか? ゲームを完成できるのか?――筆者と中学1年生の息子が挑戦してみた。

●必要なものは“気合い”

 ぷよプロはぷよぷよソースコードをそのまま書き写す(写経)ことで、JavaScriptHTML5といったWeb標準言語を学ぶ教材だ。ソースコードを入力すると、その結果がすぐにぷよぷよゲーム画面として確認できるのでモチベーションが続きやすい。ゲームと同じキャラクターを使っているので、本物感があるのも利点だろう。

 ぷよプロでは、プログラミング教材を手掛けるアシアル(東京都文京区)が提供する学習環境「Monaca Education」を利用している。Monaca Educationはクラウドベースの学習環境であり、Webブラウザさえ動作すれば特別なソフトウェアインストールが不要で、PCでもタブレットでも利用できる。

 ぷよプロの公式サイトには、必要なものとして以下が案内されている。

・PC(WindowsMacGooogle Chromebookタブレット

インターネット回線

メールアドレス

プリンタ

・気合い

 メールアドレスアカウント登録に、プリンタは進め方などが書かれた小冊子とソースコード一式の印刷に必要だ。プリンタが自宅にない場合は、コンビニプリンタなどを活用すると良いだろう。

 最後の気合いだが、ぷよプロは初級が28行、中級が95行、上級が1015行(全て)のソースコードを入力するコースに分かれている。タイピングに慣れた大人なら初級、中級はそれほどでもないが、上級をクリアするにはかなりの気合いと時間が必要だろう。

 なお対象年齢は小学4年生以上とされているが、タイピングにはある程度慣れていないと入力に時間がかかってしまい、途中で投げ出すことにもなりかねない。

アカウント登録、コース選択で準備完了

 では、ぷよプロを始める方法を解説していこう。まず、ぷよプロの公式サイトにアクセスし、小冊子とソースコード一式をダウンロードして印刷する。

 次に、公式サイトの中ほどにある「Enjoy to Code」をクリックし、Monaca Educationのぷよプロ専用ページに飛ぶ。Monaca Educationを始めて使う場合はメールアドレスパスワードを入力の上、Monacaアカウントの登録が必要だ。

 登録が完了したら、Monaca Educationのぷよプロ専用ページで「初級コースを始める」「中級コースを始める」「上級コースを始める」のどれかをクリック子どもが挑戦するなら、まずは初級コースがお勧めだ。

●意味が分からなくても、とにかく入力

 準備が整ったら、いよいよソースコードの入力だ。ぷよプロでは小冊子に書かれたソースコードを一字一句違わずに入力し、プログラミングを学習する。こうした手法はお経を写すことになぞらえて「写経」と呼ぶ。プログラミング学習で写経が重要であることは以前から言われており、ソースコードコピー&ペーストではなく手で打ち込むことで、その言語固有の記述方法やプログラムで使われるアルゴリズムなどを理解できるようになるというものだ。

 AI開発を手掛けるギリア社の代表取締役社長兼CEOの清水亮氏も、以前から写経の重要性を折に触れて語っている。ぷよプロの場合、完成品のソースコードからいくつかの部分が空白に置き換えられた状態になっているので、そこに正しいソースコードを入力すれば、ぷよぷよプログラミングができるという仕組みだ。

 初級と中級はそれぞれ5つのセッションに分かれており、セッション4まで終えればプログラムが一通り完成し、実際にぷよぷよで遊べるようになる。「ぷよを落とす」「ぷよを動かす」などセッションごとにゴールがあり、クリアするごとにゲームの完成に近づいていく。

 まず、ぷよが落ちてくるようにすることがセッション1のゴールだ。小冊子に書かれたソースコードと画面をよく見比べながら打ち込んでいく。JavaScriptのようなスクリプト言語では、ソースコードを見やすくするためにインデント字下げ)が用いられる。ソースコードを入力する際も、インデントや演算子の前後の半角スペースなどをしっかり意識しながら入力することが大切だ。ただしMonaca Educationは既に入力したソースコードの候補を表示する機能があるので、全ての文字を入力しなくてもその候補をクリックすると入力の手間を省ける。小冊子では間違えやすい記号などに読み方が振られているので、慣れていない人にも分かりやすい。

●いよいよぷよを自分で動かす

 セッション1でぷよが落ちてくるようになっても、まだぷよを自分で動かすことはできない。自分でぷよを動かせるようにするのがセッション2だ。ここをクリアすると、カーソルキーの左右でぷよを動かせるようになる。なお、プレビュー画面にマウスカーソルを移動させて一度クリックしないと、プレビュー画面でのキー操作が有効にならないので注意が必要だ。

 セッション3ではぷよを回転できるようになり、セッション4では同色のぷよが4個つながるとぷよが消えるようになる。セッション4までクリアすれば、ぷよぷよゲームは完成し、ちゃんと遊べるようになる。

 最後のセッション5では、ソースコードの中のパラメータを変更することで、ぷよぷよを自分好みにカスタマイズできる。背景の画面や色、ステージの大きさ(ステージに入るぷよの数)、ぷよの色や数、落下スピードなどを自由に変更できる。カスタマイズを通じて、ゲームではさまざまな変数が使われており、その変数を変えることで難易度が変わることが自然に理解できるだろう。

 完成したぷよぷよは、スマートフォンのデバッガーアプリiOSAndroid)と同期させ、スマートフォンでのプレイも可能になる。

 なお筆者が試していたところ、原因がよく分からないが、途中でプログラムが正常に動作しなくなってしまったことがあった。その場合は、特に初級では思い切って最初からやり直すことをお勧めする。

●所要時間は大人の3倍 記号やカッコの種類に奮闘

 初級はある程度タイピングに慣れた大人なら1時間もかからずに終了するだろう。筆者も40分程度で終わった。そこで、ようやくタイピングを覚え始めた中1の息子がやってみたところ、大文字小文字を間違えるなどなかなか苦戦しており、その3倍くらいの時間がかかった(途中で休憩もした)。日頃英単語を入力する機会があまりないので時間がかかっていたようだ。

 中級だと入力行数が初級の3倍以上になるので、大人でも3~4時間程度かかるだろう。息子に感想を聞いたところ、「あまり使わない記号とかカッコの種類がいくつかあって大変だったけど、ぷよが動いたのはうれしかった」とのことだ。

JavaScriptを理解できるようになるのか

 ぷよプロは、小冊子を見ても具体的な処理の説明やJavaScriptの文法に関する説明はほとんど書かれていない。そのためJavaScriptの知識がない場合、本当に意味が分からずひたすら入力することになるが、率直に言ってこれを1回か2回クリアしたからといって、JavaScriptが分かるようになる人はまずいないだろう。

 ただしソースコードの意味が分からなくても、プログラムはこういう風に記述されているのかや、処理のまとまりごとにソースを分けるといった、Webで標準的に使われている技術の大まかな雰囲気をつかむことはできる。

 筆者はJavaScriptは詳しくないのだが、それでも入力していると「あ、この変数はぷよのx座標を表しているんだな」「JavaScriptではメソッドドットでつなげるんだな」となんとなく分かってくる実感があった。

 特に上級はかなりの苦行となるが、逆にぷよぷよくらいのゲーム1000行程度で記述できるというイメージをつかめるという点では、優れた教材であろう。JavaScriptである程度のプログラムが書ける人なら最初から上級にトライすることで、こうしたパズルゲームプログラミングポイントを習得できそうだ。

 気軽に試せるので、お子さんがプログラミングに興味があるのなら、親子で挑戦してみてはいかがだろうか。英語の基本的な単語を一通り理解している中学生以上の方が、向いているとはいえるだろう。プログラミング学習へのとっかかりの1つとしてお勧めである。

息子のチャレンジやいかに