「教育」カテゴリーアーカイブ

IDEA – イケアのマニュアル風にアルゴリズムを説明

IKEA の組み立て家具の説明書のような形式で、言葉を使わずにコンピューターの各種アルゴリズムを説明しようというサイト IDEA です。

もともとサンドル・フェケトさん(Sándor P. Fekete)が作っていたものに、セバスチャン・ムーアさん(Sebastian Morr)とセバスチャン・スティラーさん(Sebastian Stiller)が参加し、教師や学生、その他興味のある人が使えるように公開するようになったということです。

マージソート、クイックソート、ボゴソート、二分探索、平衡二分木、公開鍵暗号、一筆書き、グラフ探索、の8種類が、言葉を使わずに絵だけで説明されています。

元のアルゴリズムについて一度は学んでいないと、図だけで何のことかわからない、というものもあるとは思いますが、なんとか簡単に図でおさめようと努力された工夫が見て取れ、面白いものとなっています。

これらの図は、クリエイティブ・コモンズ4.0 by-nc-sa の条件の下で、改変したり配ったりして大丈夫だそうです。

via Kottke

コンピューター無しで子供にプログラミング体験させるキット

Space Race Game for Studentは、印刷して使えるプログラミング体験キットです。

地球や月、人工衛星や宇宙人の駒と、「進め」「左折」「n回繰り返す」「もし□なら」といった命令パーツが一枚の紙にカラーでデザインされていて、切り離して使います。

碁盤上のボードに駒を配置し、たとえば「地球から月へ、宇宙船などにぶつからずに行く」みたいな問題を出し、それを命令パーツを組み合わせて実行するゲームとなっています。簡単な問題を出し、審判をしてあげれば、すぐに子供同士で遊べるようになるのではないでしょうか。

子供向けのロボット/プログラミング教育の研究会に子供を連れて行ったことがあり、そこでいろいろなロボットを体験させてもらったのですが、その中にはこのキットの内容とほぼ同じことを実際のロボットで実行するというものもありました。

ロボットの上に命令ブロックを差し込んで並べる形でプログラミングをし、大きなボードの上で動かして障害物を避けられるか確認する、といったものです。

うちの子も楽しく遊んでいて、もし買ってもらえるとなれば間違いなく喜んだことでしょう(教育の研究会なので販売とかはしていなかった)。ただ、このロボットでできるプログラミングの複雑さを考えると、買って家に置いたとしてもそう長いことは遊べないかな、と。おもちゃとしては高価なので、科学館や児童館などに有って、順番にいろんな子供が体験でき、指導できる大人もついていればいいのかなと感じました。

価格の面からいえば、このような紙のキットで、プリンターの印刷代だけでほぼ同じことはできますね。プログラミングというものを体験してもらう最初の最初、子供がそっち方面に興味がありそうかどうかを見るのにいいかなと思いました。

紙と導電性絵の具でライトを作るキット Electric Paint Lamp Kit

Kickstarter で支援が請われている Electric Paint Lamp Kit は、紙の上に電気を通すペイントを塗ることで組み立てられるランプです。

この水性の絵の具を紙の上に描くと、そこに電気が通じるようになります。電池とLEDをつなげたら、電線でつないだのと同様に光ります。

こちらの動画では、もっと複雑な「回路」を、版画を印刷するように作ったりしています。

キットの説明通りに回路を描き、回転するスイッチ部分に micro USB で電源を供給すると、オンオフのできるライトになる、というわけ。紙の部分は色や形を自由にできるので、自分だけのライトが作れます。

3つのランプが作れるキットが、32ポンド(約5000円)とのこと。クラウドファンディングですが、プロジェクト元の Bare Conductive は、導電性ペイントを日本の Amazon でも売っているぐらいなので、なんらかの実績はあると見て良さそうです。

キットが紙なのはコスト的に安いからだと思いますが、インクが乗る素材があればいろいろな物を、今回のキットだとランプに、できるわけで、イケアとか100円ショップなんかで安価に入手できる素材をベースにした工作、というのも出てくるかもしれません。

via The Verge

Codespell – Java言語がそのまま呪文となる教育用3Dゲーム

カリフォルニア大学サン・ディエゴ校の計算機科学者達が開発した Codespell は、一人称視点の3Dゲームなのですが、その一番の特徴は、プレイすることでJavaプログラミングを身につけられるという点です。

Codespellでは、プレイヤーは小動物ノーム(gnome)たちが住む土地にやってきた魔法使いです。ノーム達は過去に魔法を使って生活していたのですが、今は魔法をうまく使えなくなっています。魔法の呪文はJava言語プログラムで、物体を浮遊させるとか火を起こすといった7つの手持ちの呪文を使って、ノーム達を助け、火を消したり川を渡ったりといったクエストを解き、バッヂを獲得するのがゲームの目標です。

ゲームプレイ

3D世界の岩が燃えていますが、

codespell-target

岩オブジェクトというターゲットオブジェクトに対して onFire()メソッドにfalseを渡す、という呪文を呼ぶプログラムを書き、実行することで、

codespell-target-program

燃えていた岩の火が消える、という例がデモ動画で紹介されています。

codespell-target-extinguish

プログラミングの達人を昔からWizard、魔法使い、といいますが、ここでは、プログラムがそのまま魔法であるような仮想空間を作りこんだ、ということですね。

ゲームの教育効果

これを開発した研究者たちが、プログラミング経験がまったく無い10歳から12歳の女子40名にこのゲームを遊ばせたところ、少女たちは一時間もしないうちにJavaの基本的な構造を把握し、自分たちで新しい遊び方をプログラミングしたということです。たとえば、呪文(プログラム)を間違えてターゲットのオブジェクトを空中高く、届かないところに持ち上げてしまったグループは、自身を他のオブジェクトの上からジャンプさせるコードを書いて、ターゲットに次の呪文を掛けることができるようにしたそうです。

入手方法

ゲームはオープンソースで公開され、マック版はバイナリがダウンロードできます。Windows版も近々リリースされるということ。

via UC San Diego Computer Scientists Develop First-person Player Video Game that Teaches How to Program in Java via