Upgrade to Pro — share decks privately, control downloads, hide ads and more …

幼稚園児はプログラミングを習得できるか #TechLunch

幼稚園児はプログラミングを習得できるか #TechLunch

幼稚園児はプログラミングを習得できるか
2013/07/10 (水) @ Livesense TechLunch
発表者:久野 友里

Livesense Inc.

April 21, 2014
Tweet

More Decks by Livesense Inc.

Other Decks in Technology

Transcript

  1. 由来 •  MITのミッチェル・レズニック博士作 •  レゴマインドストームを作った人 •  Smalltalkで記述 •  同じくsmalltalkで記述されたアラン・ケイ博士作のSqueakを参考に開発 • 

    Computational Thinkingを養うためのもの •  物事を論理的に考えるプロセス、技術のこと •  21世紀中盤には読み、書きと同様にプログラミングも必須のスキルになるという 思想 •  http://www.cs.cmu.edu/~CompThink/
  2. 特徴 •  オブジェクト指向   •  クラスの概念がない   •  メッセージの送信は自分自身またはブロードキャストのみ  

    •  属性にオブジェクトを持てない   •  並列処理が基本   •  停止ボタンは一時停止  
  3. クラスの概念がない •  もちろん継承なんてない   •  インスタンスベース   •  インスタンスの複製は可能  

    •  プログラム動作中、リアルタイムにインスタンス複製ができる   •  http://scratch.mit.edu/projects/2029742/#editor   •  プログラム中で動的にインスタンスを作成することができない
  4. メッセージの送信は自分自身   またはブロードキャストのみ •  インスタンスを指定してのメッセージ送信ができない   •  他のオブジェクトから取得できるデータは基本的に座標のみ   • 

    関数の作成は向かない   •  関数を呼び出しているつもりが、メッセージがブロードキャストされてしまうの で思わぬ動作に結びつくことがあり得る
  5. 教科書 •  ScratchEdで、様々なレベルに応じたテキストが共有されている   •  http://scratched.media.mit.edu/   •  今回はこのテキストに沿って教えてみる  

    •  http://scratched.media.mit.edu/resources/bees-­‐and-­‐bananas-­‐game-­‐scratch-­‐beginners-­‐ suitable-­‐ages-­‐5   •  5歳から!
  6. J(  'ー`)し「ねぇねぇひなちゃん」   ('∀`)  「なに?」   J(  'ー`)し「パソコンでゲーム作ってみない?」   ('∀`)

     「うん、作る作る!!」   ('∀`)  「段ボールで!!」   J(  'ー`)し「うん、作ろう段ボー…え?!Σ(゜Д゜)」       プログラムとか、手で触れないものを作るという感覚にピンとこないらしい  
  7. ジャンル分けされたブロックがあって、それを組み合わせることでねこちゃ んが動く、とか説明   J(  'ー`)し「じゃあ、これと同じようにブロックを組み合わせてみてね」   見本の画像を見せる   ('∀`)  「分かった」

      …………   ('∀`)  「できなあああぁぁああぁぁぁぁいいい!!!」   ('∀`)  「ぎゃーーーーーーーーーー!!!!」     ドラッグアンドドロップができなかったらしいorz
  8. マウスポインタについてくる J(  'ー`)し「まずは、ずっとマウスポインタにむけて動くプログラムを書いてみよう ね。」   ('∀`)  「うん」   (真似して作る)  

    J(  'ー`)し「できたね、じゃあ、緑の旗のボタンをクリックしてごらん」   (クリックする)   ('∀`)  「きゃははっなんでこのねこちゃんひなちゃんについてくるの?あははは は!!」     とっても楽しそう!!   つかみはばっちりです。プログラミングの楽しさは分かってもらえたはず。
  9. 座標の説明 J(  'ー`)し「縦がY座標で、横がX座標で、真中が0だよ」   ('∀`)  「うん」   J(  'ー`)し「X座標は右にいくと大きくなって、左にいくと小さくなるよ」  

    ('∀`)  「うん」   J(  'ー`)し「X座標の右端は240だよ。左端はなんだか分かる?」   ('∀`)  「えーと、-­‐240!」     やばいな、この子天才すぎちゃうな…  
  10. チート J(  'ー`)し「バナナを取ったら、点数が100点増えるよ。敵に襲われたら点数が 減るようにしようね。何点減らそうか?」   ('∀`)  「減るのやだ!増やす!兆増やす!!」   J(  'ー`)し「…え?!でも、それじゃ、ゲームバランスが…」

      ('∀`)  「いいの!!あと、ボールも増やすー。それでボールに触ったら兆増や すー」   J(  'ー`)し「工工工エエエエエエェェェェェェ(゚Д゚)ェェェェェェエエエエエエ工工工」     幼稚園児は自分が負けないためにあらゆる汚い手を使う
  11. 夢でうなされる ('∀`)  「ねぇママ、ひなちゃんセーラームーンのゲームが作りたい」   J(  ‘ー`)し「そっかぁ!じゃあセーラームーンが宝石を集めるゲームにしよう か」   ('∀`)  「うん!!それがいい!!あはっ!!」

      J(  'ー`)し「でも今日はもう寝る時間だからまた明日ね」   ('∀`)  「エェ━━━━━(  ゚Å゚;)━━━━━!!?」   ブーイングをなんとかなだめて寝かせましたが。 寝ているはずの娘が突如暴れだす。   ('∀`)  「ちがうの!!ちがうの!!宝石のブロックはそうじゃないの!!!」  
  12. セーラームーンのゲームを作ってみて •  結局ほとんど私が作りました   •  作りたいもののイメージはあっても、それを形にするための表現力が足り ない   •  母親の説明能力に欠陥があるとも言える

      •  一つ一つの処理は問いかければ答えられるが、入れるべき処理を一人では 思いつかない   •  やっぱりチートしようとする   •  ゲームバランス無視   •  懲りずにオーバーフローさせる  
  13. ('∀`)  「ひなちゃんのゲームができたよー!」   ('∀`)  「やったー!わーい!!」   J(  'ー`)し「ゲーム作るの面白い?」   ('∀`)

     「うんー♪」   J(  'ー`)し「よかったー」   ('∀`)  「次は、段ボールでパソコンのゲーム作ろうね!!」   J(  'ー`)し「…結局それですか(・∀・)」
  14. まとめ •  プログラミングを習得したとは言えない   •  サポートなく1人で作るのは無理   •  サンプルを見ながらの作成は可能  

    •  操作できるし、説明すれば必要なブロックを選択することもできるので、 練習次第で出来るようになるのでは?   •  作りたいもののイメージは湧いたらしい   •  今後に期待