昨日、コワーキングスペース八王子 8Beatで「第2回 CoderDojo 八王子」が開かれました。子供がプログラムを学ぶ道場ということで、今回はGoogleBlocklyを教材に楽しみました。
Google Blocklyとは?
プログラムを書くことなく、プログラムを学ぶことができるツールです。
このようにたくさんのゲームがあります。昨日の道場では「迷路」に挑戦しました。
*もし日本語になっていなければ、右上にあるリストボックスから日本語を選びます。
迷路の基本的な解き方
迷路のアイコンをクリックすると、
このような画面になります。
「作ったプログラムがどのように動くのかを見る場所」に人が立っています。人は足元のマーク、とがっている方に向いています。その人をGoogleMapでおなじみのポインタまでプログラムを使ってたどり着かせる、というゲームです。
とりあえず今の状態で動かしてみます。
プログラムを実行 をクリックすると一歩進んで止まります。まだゴールにはたどり着けていません。ボタンが リセット に変わるのでクリックすると元の位置に戻り、またボタンが プログラムを実行 に戻りました。
では、これをゴールにたどり着かせるには?
もう一歩進めればいいので、 プログラムの部品 から まっすぐ進む という部品をクリックして 実行するプログラムが書いてある場所 のすでに置いてある、まっすぐ進むにくっつけます。
その状態で プログラムを実行 をクリックすると2歩進み、ゴールにたどり着けました。正解になるとそれを実行するコードが表示され、これがプログラムだということがわかります。OKをクリックすると次の問題が表示されます。
こんな感じで進めていき、最後の10を目標に子供も大人もがんばりました。
途中ひっかかりながらもなんとか進めていきましたが、あるところからひっかかるように
向きを変えることを勉強して、その後、繰り返して処理を行う事をおぼえましたが子供も大人も引っかかり始めたのが問題9あたりからです。
blocklyが難しくなってきてからは以下の操作でクリアしていきます
・部品の数は限られているので「まで繰り返す(ゴールのマーク)」という緑色の部品を使いましょう<この中に入れた部品は1つでもゴールに着くまでこの動きを繰り返します。
・「もし○○なら」実行、という部品と「もし○○なら」実行、それ以外の部品を使いましょう
もし○○なら、は▼マークを押すといくつもあるのでその場所にあった もし を選びましょう
って感じです。大事なのは 作ったプログラムがどのように動くのかを見る場所 にいる 人 になりきって、自分がそこに立っていて進んで突き当たりや曲がり角に来たときにどういう命令があれば進みたい方向に進めるか? を考える事かと思います。
この考え方はプログラムを書くときも同じように大事なので、実際にblocklyは論理的な思考の勉強になると思います。
問題9と問題10を子供さんも解きました!
というように難しかった問題9と10ですが初参加のお子さんもみごと正解しました。時間はかかるかもしれませんがトライアンドエラーで何度もプログラムを組み立てて実行する事で、次第に正解に近づいたようです。
また、「ここでこうさえすればうまくいく」ということが分かったら、何度もプログラムを組み立てて分からなくなっちゃった場合には一旦全部捨てて最初からやり直した方が速く正解にたどり着くこともあったようです。
ということで正解(といってもいくつもパターンがあります)のうちの一つはこんな感じでした。
迷路その9
迷路その10
他にもゴールに行くには別の方法でも行けるようです。子供達だけでなくこの9と10は大人達(プログラマ含む)も真剣に取り組んでできたときや「やった~!」という感じになりました。
もしどうしても正解にたどり着けない場合はこちらに正解の例をあげておきます。
その9
注意点としてはブラウザによってちゃんと動かないときがあったようです。そんなときはGoogleのchromeで動かせば間違いなく動くはずです。
子供と大人が一緒に楽しめるので是非挑戦してみてください。
コメント