Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
幼稚園児はプログラミングを習得できるか #TechLunch
Search
Livesense Inc.
PRO
April 21, 2014
Technology
130
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
幼稚園児はプログラミングを習得できるか #TechLunch
幼稚園児はプログラミングを習得できるか
2013/07/10 (水) @ Livesense TechLunch
発表者:久野 友里
Livesense Inc.
PRO
April 21, 2014
More Decks by Livesense Inc.
See All by Livesense Inc.
新規商品の開発におけるAIの活用 〜挑戦は人間にしかできない〜
livesense
PRO
0
29
味覇で作るパスタが美味い - 20261001_yabaubuki.dev
livesense
PRO
0
190
Rubyはただの⾔語に⾮ず
livesense
PRO
0
600
28新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
0
180
27新卒_総合職採用_会社説明資料
livesense
PRO
0
7.8k
27新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
0
13k
株式会社リブセンス・転職会議 採用候補者様向け資料
livesense
PRO
0
620
株式会社リブセンス 会社説明資料(報道関係者様向け)
livesense
PRO
1
1.8k
データ基盤の負債解消のためのリプレイス
livesense
PRO
0
750
Other Decks in Technology
See All in Technology
cdkd (CDK Direct)
gotok365
4
280
セキュリティ専任チームなしで攻撃を先回りするSREが実践したSIEM on Amazon OpenSearch Service
cscengineer
PRO
1
710
AWSを利用する上で知っておきたい名前解決の話 2026
nagisa53
5
3.3k
Kiro 入門 (1 つのエージェントを、どの画面からでも) | 目指せ Kiro マスター 01
inariku
PRO
6
1.3k
AWS Quick 入門 | 目指せ Quick マスター 01
inariku
PRO
2
240
The Author Pays
hiccupps
0
140
「いつか使う」の「いつか」は来ない 〜AI駆動開発における「作らない」判断について〜
ikki0006
0
170
AI時代における医療情報システムのセキュリティ / Security of Healthcare IT Systems in the AI Era
henryofficial
0
120
公共分野での生成AI活用
toru_kubota
1
310
SSFの現在地 ― CAEP/RISCからAI Identityへ
oidfj
0
300
`go get`したらELFが降ってきた件
taiyow
0
190
AIがGISを代替する日:〜すべてをAIが創る時代に、私たちがFOSS4Gに関わる意味〜
lehupa
1
210
Featured
See All Featured
How Software Deployment tools have changed in the past 20 years
geshan
3
35k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.5k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
2
440
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3.1k
Docker and Python
trallard
47
4.3k
How to Ace a Technical Interview
jacobian
280
24k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
60k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1.1k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
2
980
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.9k
The Limits of Empathy - UXLibs8
cassininazir
2
770
Transcript
幼稚園児は プログラミングを 習得できるか メディア開発グループ 木下 友里
ある日の会話 J( 'ー`)し「月では足跡が消えないんだって」 ('∀`) 「うん、そうだよ。」 ('∀`) 「だって月には空気がないから風もないし、それに水もないもん」 J( 'ー`)し「?!」 …やばい、この子は天才だ
よし、そろそろプログラミングを教 えよう。
幼稚園児にプログラミング?
そもそもプログラミングを始めるために 必要なスキルって何だろう?
プログラミングを始めるために必要な スキル? • キーボード入力 • 全角、半角文字の把握 • 構文理解 • 入力ミスの発見
• 数字の概念 • 負の数の概念 • 比較、計算 • etc...
プログラミングを始めるための障壁が、 幼稚園児にとっては案外大きい
Scratch • http://scratch.mit.edu/ • 子供向けビジュアルプログラミング環境 • キーボード入力がほとんどない • ブロックを組み立てる感覚でプログラミング可能 •
アニメーション作りに必要な音や画像も提供
命令ブロック • 命令の種類ごとに色分け、形分けされている • 目で見てつなげられそうな場所が分かる • 色々な言語に対応しており、日本語はひらがなのみの表示も選択できる
これならできそう!
由来 • MITのミッチェル・レズニック博士作 • レゴマインドストームを作った人 • Smalltalkで記述 • 同じくsmalltalkで記述されたアラン・ケイ博士作のSqueakを参考に開発 •
Computational Thinkingを養うためのもの • 物事を論理的に考えるプロセス、技術のこと • 21世紀中盤には読み、書きと同様にプログラミングも必須のスキルになるという 思想 • http://www.cs.cmu.edu/~CompThink/
特徴 • オブジェクト指向 • クラスの概念がない • メッセージの送信は自分自身またはブロードキャストのみ
• 属性にオブジェクトを持てない • 並列処理が基本 • 停止ボタンは一時停止
クラスの概念がない • もちろん継承なんてない • インスタンスベース • インスタンスの複製は可能
• プログラム動作中、リアルタイムにインスタンス複製ができる • http://scratch.mit.edu/projects/2029742/#editor • プログラム中で動的にインスタンスを作成することができない
メッセージの送信は自分自身 またはブロードキャストのみ • インスタンスを指定してのメッセージ送信ができない • 他のオブジェクトから取得できるデータは基本的に座標のみ •
関数の作成は向かない • 関数を呼び出しているつもりが、メッセージがブロードキャストされてしまうの で思わぬ動作に結びつくことがあり得る
並列処理が基本 • すべてのオブジェクトを制御するmainメソッドのよう なものがない • それぞれのオブジェクトが独立して動作する • 1つのオブジェクト内にスクリプトを複数書くと、そ
のまま並列処理になる • スクリプトとは命令ブロックの1つの塊のこと
停止ボタンは一時停止 • プロジェクトが開かれている間常にプログラムが走っているような状態 • 記述中のスクリプトの動作をすぐに確認できる • プログラム動作中にリアルタイムに編集可能
• 停止ボタンを押しただけでは変数がリセットされない • 停止ボタン押下後もタイマーが動き続けているのが分かる
教科書 • ScratchEdで、様々なレベルに応じたテキストが共有されている • http://scratched.media.mit.edu/ • 今回はこのテキストに沿って教えてみる
• http://scratched.media.mit.edu/resources/bees-‐and-‐bananas-‐game-‐scratch-‐beginners-‐ suitable-‐ages-‐5 • 5歳から!
やってみた
J( 'ー`)し「ねぇねぇひなちゃん」 ('∀`) 「なに?」 J( 'ー`)し「パソコンでゲーム作ってみない?」 ('∀`)
「うん、作る作る!!」 ('∀`) 「段ボールで!!」 J( 'ー`)し「うん、作ろう段ボー…え?!Σ(゜Д゜)」 プログラムとか、手で触れないものを作るという感覚にピンとこないらしい
気を取り直して。
ジャンル分けされたブロックがあって、それを組み合わせることでねこちゃ んが動く、とか説明 J( 'ー`)し「じゃあ、これと同じようにブロックを組み合わせてみてね」 見本の画像を見せる ('∀`) 「分かった」
………… ('∀`) 「できなあああぁぁああぁぁぁぁいいい!!!」 ('∀`) 「ぎゃーーーーーーーーーー!!!!」 ドラッグアンドドロップができなかったらしいorz
• ボタンを押したまま移動する、という動作が難しいらしい • トラックパッドならできた • 左手でボタンを押しながら、右手で移動という動作
マウスポインタについてくる J( 'ー`)し「まずは、ずっとマウスポインタにむけて動くプログラムを書いてみよう ね。」 ('∀`) 「うん」 (真似して作る)
J( 'ー`)し「できたね、じゃあ、緑の旗のボタンをクリックしてごらん」 (クリックする) ('∀`) 「きゃははっなんでこのねこちゃんひなちゃんについてくるの?あははは は!!」 とっても楽しそう!! つかみはばっちりです。プログラミングの楽しさは分かってもらえたはず。
座標の説明 J( 'ー`)し「縦がY座標で、横がX座標で、真中が0だよ」 ('∀`) 「うん」 J( 'ー`)し「X座標は右にいくと大きくなって、左にいくと小さくなるよ」
('∀`) 「うん」 J( 'ー`)し「X座標の右端は240だよ。左端はなんだか分かる?」 ('∀`) 「えーと、-‐240!」 やばいな、この子天才すぎちゃうな…
チート J( 'ー`)し「バナナを取ったら、点数が100点増えるよ。敵に襲われたら点数が 減るようにしようね。何点減らそうか?」 ('∀`) 「減るのやだ!増やす!兆増やす!!」 J( 'ー`)し「…え?!でも、それじゃ、ゲームバランスが…」
('∀`) 「いいの!!あと、ボールも増やすー。それでボールに触ったら兆増や すー」 J( 'ー`)し「工工工エエエエエエェェェェェェ(゚Д゚)ェェェェェェエエエエエエ工工工」 幼稚園児は自分が負けないためにあらゆる汚い手を使う
さすがに兆足してばっかりだと オーバーフローしてどうしようもなくなっ たので 常識的な数字に変えさせました。
そこからわりと自由にいじりだして カオスなゲームが誕生。
夢でうなされる ('∀`) 「ねぇママ、ひなちゃんセーラームーンのゲームが作りたい」 J( ‘ー`)し「そっかぁ!じゃあセーラームーンが宝石を集めるゲームにしよう か」 ('∀`) 「うん!!それがいい!!あはっ!!」
J( 'ー`)し「でも今日はもう寝る時間だからまた明日ね」 ('∀`) 「エェ━━━━━( ゚Å゚;)━━━━━!!?」 ブーイングをなんとかなだめて寝かせましたが。 寝ているはずの娘が突如暴れだす。 ('∀`) 「ちがうの!!ちがうの!!宝石のブロックはそうじゃないの!!!」
セーラームーンのゲームを作ってみて • 結局ほとんど私が作りました • 作りたいもののイメージはあっても、それを形にするための表現力が足り ない • 母親の説明能力に欠陥があるとも言える
• 一つ一つの処理は問いかければ答えられるが、入れるべき処理を一人では 思いつかない • やっぱりチートしようとする • ゲームバランス無視 • 懲りずにオーバーフローさせる
('∀`) 「ひなちゃんのゲームができたよー!」 ('∀`) 「やったー!わーい!!」 J( 'ー`)し「ゲーム作るの面白い?」 ('∀`)
「うんー♪」 J( 'ー`)し「よかったー」 ('∀`) 「次は、段ボールでパソコンのゲーム作ろうね!!」 J( 'ー`)し「…結局それですか(・∀・)」
まとめ • プログラミングを習得したとは言えない • サポートなく1人で作るのは無理 • サンプルを見ながらの作成は可能
• 操作できるし、説明すれば必要なブロックを選択することもできるので、 練習次第で出来るようになるのでは? • 作りたいもののイメージは湧いたらしい • 今後に期待
おまけ • 開発者モード • 左上ロゴ「SCRATCH」の「R」部分をShiftキーを押しながらクリック • ネットワークを介した分散プログラミング機能
• WEDOに対応 • レゴマインドストームの低年齢版 • http://www.mdstorm.com/wedo/index.html