ビジュアルプログラミングとパズル
Twitterをみていたら、
MoonBlockとかScratch最初からプログラムのブロックがいっぱい表示されて ちょっと引くので、数個だけのブロックを組み合わせて 「(右手法で)ゴールまで行こう」とか「一個だけ間違ってるブロックを入れ替えよう」みたいな詰めScratchみたいなゲーム遊びたい
— boxheadroom (@boxheadroom) 2014, 10月 5
このようなツイートを見かけたので、思わず、
つ https://t.co/xOrbEN5zNl RT @boxheadroom: (〜略)…数個だけのブロックを組み合わせて 「(右手法で)ゴールまで行こう」とか「一個だけ間違ってるブロックを入れ替えよう」みたいな詰めScratchみたいなゲーム遊びたい
— ひね - IMAI, Daisuke (@hine) 2014, 10月 5
なツイートを返してしまった。
このツイートで僕が紹介した「Blockly」は、もともとはGoogleが作った、言語を書く代わりにBlockを並べてプログラムを作り出せる環境。
blockly - A visual programming editor - Google Project Hosting
例えば、株式会社ユビキタスエンターテインメントのEnchantMOONに搭載されているMOONBlockや、その基ととなった元タミヤの前ちゃん(現在はユビキタスエンターテインメントのチーフ・ホビー・オフィサー)が作った前田ブロックなどもこのBlocklyが考え方のベースになっている(だったと思う)。
僕自身も、非エンジニア向けプログラミング講座の導入でこのBlocklyを使ったことがある。Blockly自体面白いのだけれど、サンプルとして作られている「Puzzle」「Maze」「Turtle」などが、プログラミングの基本の「繰り返し」「条件分岐」「変数」「関数」などを楽しみながら試行錯誤するのに適していると思うからだ。
そもそも、僕自身、子供の頃から趣味としてプログラミングをしてきたけど、「パズルを解く」感覚が一番近い感覚で、例えばこのMazeなどは、まさにプログラミングがパズルだ、という感覚が上手に表現されてると感じている。
すると、このような返事が返ってきた。
@hine 情報ありがとうございます。 面白かったですー Google Blockly はこういう使い方もできるのですね
— boxheadroom (@boxheadroom) 2014, 10月 6
で、
@boxheadroom これ、面白いですよね〜。大人の非エンジニア向けのプログラミング講座の導入に使ったことがあります。もっと色々な問題があればいいのに!って思っちゃいますよね。
— ひね - IMAI, Daisuke (@hine) 2014, 10月 6
と、僕からも感想を書いていたところ、
阿部さんから、
@hine @boxheadroom Scratchでもできますよ、ということで「にんげんプログラミング」と「ねこプログラミング」。Scratchのブロックの数を減らしています。自分でルールや問題を作れるところがポイントです。 http://t.co/FavxfnXSiW
— Kazuhiro Abe (@abee2) 2014, 10月 6
との情報が。
なんと!全く知らなかった!
にんげんプログラミング « OtOMO Scratch ワークショップ
なにこれ面白い!前述の非エンジニアプログラミング講座でも、できればパソコンで行う前に、人間と人間でプログラミング体験したいと思っていたのだけれど、いい題材が思い浮かばなかった経緯があったので、これは次の機会には取り入れてみたい。
また、Scratchのサブセットになっている「ねこプログラミング」もScratchの導入も良さそうだ。
そして更に、
@hine @boxheadroom これをやった後に、同じ盤の見立てを変えて、シーケンサーを作ったり、シューティングゲームを作ったりしています。 http://t.co/guVioELw96
— Kazuhiro Abe (@abee2) 2014, 10月 6
この中で紹介されている、
これ面白い!
面白いものがまだまだたくさんあるなぁ。
【追記】
@hine @boxheadroom ありがとうございます。面白いのはリミックスでフレールジャックが作られたことですね。教室でやった時は共有ドライブに作品を置いて誰でも見られるようにしたのですが、ピアノをやっている子がアナ雪を作り始め、一曲できるたび、みんな我先に聞いていました。
— Kazuhiro Abe (@abee2) 2014, 10月 6