国民的お菓子メーカーの江崎グリコが、小学生がプログラミングを学べるアプリを公開しましたね。

公式サイトの説明を見る限り、長年子供に寄り添ってきたメーカだけあって、どんな優しさ溢れるアプリなのかワクワクさせられました。
小学校低学年から、プログラミングの考え方を身につけることで、 論理的思考力や問題解決能力が育つと考えられています。 創業以来、子どもたちの健やかな成長を願ってきたグリコは、 子どもたちのプログラミング教育の力になるため、 おいしいおかしを食べながら楽しく遊び、学ぶことができる 「GLICODE(グリコード)」を開発しました。
そしてこのアプリ、総務省「若年層に対するプログラミング教育の普及推進」に係る提案公募の結果によると、小金井市立前原小学校を実証校とし、小学校1〜2年生を対象に活用していく模様です。近隣市町村で、お菓子メーカのアプリを使ってプログラミング学習が行われるとは興味深いスな!
ということで、小学低学年の子達がストレスなく使えるアプリなのか、身を持って体験することにしました。
 

まずは普通に試す

まずはスマホ(Xperia)にダウンロード。

…えっ、菓子3つ?

これ、お菓子を持っていることが前提なのですね…「おかしを並べてプログラミングの基礎を体験できるアプリ」とあったからそりゃそうですよね…。とりあえず1種類あれば遊べそうですけど、後半で結局全部必要になるんですね。ぐほ。
ということで表示されていた菓子を買ってきました。

ひとつめ、ビスコ。あんまり食べたことがありません。

ふたつめ、アーモンドピーク。そんな製品があることを初めて知りましたすみません…。

みっつめ、ポッキー。これは時々食べなくもないです。
(私、チョコ菓子は好きなのですが、焼き菓子部分をそんなに欲していないので…)

ちなみに、指定の菓子以外でもできるのか試すために、ついでに他にも色々購入してきました。経済回してますね!

改めて起動します。
手をきれいにすることも大事ですけど、このアプリを入れている端末もきれいにしておかないとですね!

最初は馴染みのあるポッキーで試すことにしました。
基本操作は、カメラを使って画像を読み込み(菓子を表示するだけでOK)、左側に該当するブロックが表示されたらボタンを押して確定させます。これだけ。

左のブロックが表示されている部分をタップすると、コードが表示されます。
お菓子でこんなコードを書いていたんですね!すごーい!

さて、ここで問題が発生しました。
結構な勢いで指定のブロックが表示されません…おかしいな指示されたとおりに置いているのに…。
「せってい」→「よくあるしつもん」に記載されている注意書きの指示に従い、環境を整え直します。

お菓子の下の敷物は白色が鉄則で、キッチンペーパーだけでは幅が足りないので下に更に紙を敷きました。大体A3程度の空間を用意すれば大丈夫そうです。

あと、カメラを起動中に下に謎のスライダーがあります。なんですかねこれ。

スライダーを動かすと、画面が灰色と白の画像に変わります。
あっ、どこを白黒の境界にするのかを変えることができるのですね。

ひょっとしてこれは、白黒2値にすることで菓子の形状を取得しているんですかね。
フォトショップで同じ事をするとこんな感じ?


白黒2値だけだとビスコはどうするんだ、ビスコとアーモンドピークの区別はどうするんだ、など気になるところがあります。2値にするのは大体の範囲をマスクして形状を取得するためで、更に大雑把に色を検知した上でどの菓子なのか認識しているんですかね(画像処理に詳しい方、仕組みを教えてください ←他人任せ)。

ここまでサラサラッと書いていますが、画像認識で相当時間食ってます。ストレス半端ないです。
そしてここで更なる試練が発生しました。ポッキー2本…これ、認識できんのかな…。

何回か失敗を重ね、ようやく読み込めました。
画像は向きを反対に検出していますが、この後成功してます。これ、2本以上きついよ…。

実は一度に全部のコードを作る必要はなく、何回かに分けて読み込みができるとのことでした。それならできますね。良かった。ふー、やれやれ。

すると更なる試練が待ち受けていました。ループの記述です。
後述しますが、ここで「アプリの仕様の都合」で大苦戦します…。

ループはこれが限界かな、と…。

とりあえず、現在出ている分は全てクリアしました。
課題のボリューム的には「Hour of Code(一時間のコード体験)」としてやる感じですかね。

星がついていないところから察するに、要求条件を満たしていない(適切なボリュームでコードを記述できていない)のでしょうか。うーむ。

ちなみに、何回に分けて読み込むことを考慮すると、現時点ではこれだけ用意すればクリアできます(最適解かどうかは別)。自宅で一人でも遊べますね。

色んな菓子などで試してみた

白黒バランスを調整して画像の形状を認識しているので、指定の菓子以外でも出来そうですよね。
ということで、まずはポッキーシリーズを食べかけで。左右問題無く読み込めました。

ポッキー以外の棒は出来るのかな…と、文房具で挑戦。ついでにトッポーも混ぜてみたり。存在していると認識されたりされなかったり、かなり不安定でした。

焼うるめ…一応ポッキーとして認識されますが左右の認識が不安定でした。

改めてペンを1本。これだけ白黒はっきりしているものならどうかと思ったのですが、存在すら認識が困難でした。下の画像は多分、周囲の影をご認識している気がします…。

脈絡もなくマカダミアナッツ。
黒っぽい小さいものはアーモンドピークと認識されがちでした。

ついでにこれ…形が特徴的なので上下左右の認識がどうなるかなあと思いまして。



うーん、全部「小さくなる」になってしまいました。
光源の位置などによっても認識のされ方が変わるので、必ず同じ結果にならないところが難しいです。

グリコードのよいところ(メリット)

このアプリを使うことのメリットをザックリあげてみました。
  • スマホで体験出来る
  • 文字入力が不要
  • 漢字表記が少ない
  • 見慣れたお菓子を活用できる(親近感)
私、気にくわない点が目に付いてしまうと良い点を見つけることに腐心してしまう系統なのでメリットの列挙に苦労しました…(爆

グリコードの弱点(デメリット)

読み込みの成功可否がカメラの精度と光源次第

画像認識の精度の問題なのですが、同じ配置にしても、上手く行くときと上手く行かないときの落差があります。
カメラを向けて一瞬で一発で認識できない、しかも何度やっても上手く行かない…そんな事が授業中複数の席で発生したらと思ったら…阿鼻叫喚の地獄絵図ですよ…熟練のサポートスタッフをどれだけ配備するつもりなのでしょうか…。
低学年の子供達、これを許容できるんですかね…。

とにかくストレスフル

先にも書いたとおり、画像認識の部分で骨が折れます。正直、UIが画像認識の部分を補い余るほど良く設計されているとも言い難いです。大人の私ですら一度に全てクリアするのは疲れます…。

手が汚れる

チョコレート菓子が多いので手が汚れます。ビスコのクリームも結構脂が滲みます。
なので、手が汚れたら手をきれいにしてから、続きをする。
ひとしきり楽しんだ後は使ったお菓子を食べる。食べ物は粗末にしない!

コードの修正が不自由

一見ほかのビジュアル言語同様、ブロックをドラッグドロップで並べ替え出来そうですが、出来ません(いずれ出来るようになるのかは不明)。
例えば、先述のループでは、ループの中身とループのブロックを別々に読み込んで、後から移動させるという事が不可能なのですよ。配置を変えたかったら、撮影し直しです。猛烈にストレスです。

バッテリー消費すごい

充電が追いつかない程度にガスガスとバッテリーが消耗します…スマホが熱いのなんの…。


他にも、ワークショップや総合学習の授業などの教育現場で利用するときは、衛生面や食物アレルギーへの配慮が必要になりますよね。運用しやすさで考えてもどうなんでしょうね。食品以外の代用品が上手く見つかったとして画像認識の精度からしてサポーターが慣れるまでアクシデントが多そう…。
ということでデメリットばかり書いてしまいましたが、まずは指定の製品あるいは良く似せた何かを用意するのが無難かも知れません。今後、画像認識の改善にも大きく期待したいところです。はい。