
12月14日に「第1回 CoderDojo 八王子」という子供向けプログラミングイベントを開催します。1日目はscratchという言語で勉強をする予定ですが、子供向けにプログラムを学習するための環境は他にもいくつかあることを教えてもらいました。
今回はその中の「子供向けビジュアルプログラミング言語 Googleブロックリー(blockly)」というものを試してみましたのでそれについて書きます。
子供向けビジュアルプログラミング言語 Googleブロックリー とは
現在は開発者向け、と体験者向けが別れているようでそれぞれ
Developers looking for the Blockly library should go here:(開発者向け)
Parents and teachers looking for educational games should go here:(親、教師向け:教育用ゲーム)
となっています。今回はまず体験しようということで下の親、教師向けの方を見てみます。

このようにできることが一覧されています。最初の パズル から初めて最後の JS Pond までやるという順序になっているようです。
一番最初の課題 パズル
ということでまず パズル をクリックしてみます。
![Image [1]](https://usortblog.com//wp-content/uploads/2014/12/Image-112.png)
このように何をするのかがまず書かれています。いきなりコンテンツと翻訳が合っていない感じがしますが、国>生き物、国旗>picture(絵)、言語>legs(脚の数)、都市>traits(特徴)なようです。
![Image [2]](https://usortblog.com//wp-content/uploads/2014/12/Image-28.png)
このように4つの生き物に対してそれぞれ選んでいくようなので、
![Image [9]](https://usortblog.com//wp-content/uploads/2014/12/Image-92.png)
こんな感じにくっつけて、
![Image [10]](https://usortblog.com//wp-content/uploads/2014/12/Image-102.png)
答え合わせボタンを押して、全問正解だとこんな表示になります。
*ももも、もちろんネットで翻訳したり間違えたりもしました(^_^;
パズル ではGoogleブロックリーでこんなことができるよ、という感じしかわかりませんが子供の心をわしづかみするにはこのあたりで上手くのせていくといいかと思いました。英語の勉強にもなりますし。
いきなり最後のブロックに挑戦してみた
ということで、いきなり最後の JS Pond に挑戦してみます。
![Image [11]](https://usortblog.com//wp-content/uploads/2014/12/Image-113.png)
JS Pondをクリックします。
![Image [12]](https://usortblog.com//wp-content/uploads/2014/12/Image-121.png)
canonコマンドをつかって大砲を当てる、という課題のようです。とりあえず今の状態で実行するとどうなるか、見てみます。
![Image [14]](https://usortblog.com//wp-content/uploads/2014/12/Image-142.png)
プログラムを実行 をクリックします
![Image [15]](https://usortblog.com//wp-content/uploads/2014/12/Image-152.png)
黄色い大砲が右向きに大砲を発射しました。どうもこの 0,70 が x,y の向きを表してるのではないかと思われます。
そこで、
![Image [16]](https://usortblog.com//wp-content/uploads/2014/12/Image-162.png)
最初の数字を50にして リセット をクリックしてから、
![Image [17]](https://usortblog.com//wp-content/uploads/2014/12/Image-172.png)
プログラムを実行 をクリックします
![Image [18]](https://usortblog.com//wp-content/uploads/2014/12/Image-181.png)
少し赤い大砲に近づきました。ということは最初の数字を90にすれば、
![Image [21]](https://usortblog.com//wp-content/uploads/2014/12/Image-213.png)
![Image [22]](https://usortblog.com//wp-content/uploads/2014/12/Image-222.png)
当たりました。
![Image [23]](https://usortblog.com//wp-content/uploads/2014/12/Image-231.png)
Documentation というボタンをクリックすると、この画面で勉強できることについての解説が出てきます。
![Image [24]](https://usortblog.com//wp-content/uploads/2014/12/Image-241.png)
Pond というのが Angle(角度)であり、最初の数字が垂直方向の角度、2つめの数字が水平方向の角度のようです。
![Image [25]](https://usortblog.com//wp-content/uploads/2014/12/Image-251.png)
Math というのが 数字 ってこうやって使うんだよ、というような解説のようです。
なるほど、これはちょっとプログラムっぽくて面白いなと思ったので
![Image [26]](https://usortblog.com//wp-content/uploads/2014/12/Image-261.png)
次の課題をやってみようと思います。1の隣の○をクリックします。
![Image [27]](https://usortblog.com//wp-content/uploads/2014/12/Image-271.png)
ターゲットは何度も撃たないといけないので While を使ってみよう、的な課題のようです。Whileとはある条件の間そこに書いてある命令を実行し続ける、というプログラムではよく使うロジックです。
![Image [30]](https://usortblog.com//wp-content/uploads/2014/12/Image-30.png)
Documentation を見ると、新しく Logic と While について説明がありました。Logicは true(真)、false(偽)について書いてあります。Whileで何かを実行するとき、ある条件の間=ある条件が真の間、実行するということについて説明しているようです。
なにをすればよくわからないのでとにかく実行してみました。
![Image [31]](https://usortblog.com//wp-content/uploads/2014/12/Image-311.png)
最初の数字を40にして実行してみます。一度大砲が撃たれただけで何もおこりません。当然ですが…ということで、documentationにあったコードをコピーしてペーストしました。
![Image [32]](https://usortblog.com//wp-content/uploads/2014/12/Image-321.png)
コピーします
![Image [33]](https://usortblog.com//wp-content/uploads/2014/12/Image-331.png)
ペーストします。実行してみましたが前回と変わりません。
While のところに入らないといけないので、
![Image [35]](https://usortblog.com//wp-content/uploads/2014/12/Image-35.png)
条件を変えてみます。一番上の行はもう要らないので削除しました。
![Image [36]](https://usortblog.com//wp-content/uploads/2014/12/Image-36.png)
すると、 おぉ! scan っていうのはこのサーチライトみたいな動きだったようです。scanはtargetに当たっていますが、大砲が全然違う方向に行ってしまっています。そこでcannonの数字を変えてみます。
![Image [37]](https://usortblog.com//wp-content/uploads/2014/12/Image-37.png)
1の課題でやったように最初の数字を全部40に変更しました。
![Image [38]](https://usortblog.com//wp-content/uploads/2014/12/Image-38.png)
実行しました。うーん、わずかに外れてるようです。
![Image [39]](https://usortblog.com//wp-content/uploads/2014/12/Image-39.png)
40を43にしてみました。
![Image [40]](https://usortblog.com//wp-content/uploads/2014/12/Image-40.png)
当たっているようです。target という赤い帯が徐々に減っていきます。
![Image [41]](https://usortblog.com//wp-content/uploads/2014/12/Image-411.png)
targetの帯が全部なくなったところで、課題をクリアしたようです(^^)/
まとめ:Googleブロックリーは子供だけでなく、これからプログラムを始めようと思う大人にも向いてる
このように、JS Pond まで進むと、遊びながらコーディングする、ということができるようになります。logicの部分はおそらくJavaScriptなので、ここでおぼえたロジックはWebサイトを作るときにも役に立ちます。
また、ここでGoogleブロックリーになれたら今度は、
Developers looking for the Blockly library should go here:(開発者向け)
こちらでさらにプログラムを組む体験ができると思います。というか、こちらが本当のビジュアルプログラミング言語、のようです(^_^;。また、こちらについてもblogに書きたいと思います。
ということでこれからプログラムを勉強したい子供や大人にこのGoogleブロックリーを使ってみることをおすすめします(^^)/



コメント