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.
味覇で作るパスタが美味い - 20261001_yabaubuki.dev
livesense
PRO
0
110
Rubyはただの⾔語に⾮ず
livesense
PRO
0
570
28新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
0
130
27新卒_総合職採用_会社説明資料
livesense
PRO
0
7.4k
27新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
0
12k
株式会社リブセンス・転職会議 採用候補者様向け資料
livesense
PRO
0
590
株式会社リブセンス 会社説明資料(報道関係者様向け)
livesense
PRO
1
1.8k
データ基盤の負債解消のためのリプレイス
livesense
PRO
0
720
26新卒_総合職採用_会社説明資料
livesense
PRO
0
13k
Other Decks in Technology
See All in Technology
今さら理解するウェブフォントver.2026
takanorip
2
350
LLM機能を自作して分かるSnowflake Cortex AIの強み
nayuts
0
330
"優秀な誰か"の下位互換にならないために
yut0naga1_fa
0
150
実践! SRE × AI - ABEMA における AIOps -
tetsuya28
6
1.2k
LocalStack を使ったサーバーレスアプリケーション開発 / Serverless Development with LocalStack
kakakakakku
1
300
初対面のメンバーがチームを組み、Claude Codeでゼロからサービスをリリース
mkdev10
1
110
ビジネスを止めない技術的負債の返済のための戦略とその手法 - 技術的負債と向き合う / Complexity and Simplicity
soudai
PRO
3
660
AIがコードを書く時代に、エンジニアは何で自分の価値を証明するのか / In an era where AI writes code how do engineers prove their value
carta_engineering
0
400
AI時代だからこそ推したい!Gitコマンド再入門
munakata
0
160
AI時代のAPI開発を加速する品質ガードレール / API Quality Guardrails in the AI Era
yokawasa
0
160
FOSS4Gを活用した自治体業務DXの試み
470715
0
120
DWH の限界突破! AI エージェント向け爆速リアルタイムデータ基盤 ClickHouse
jozono
1
300
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.5k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
320
Writing Fast Ruby
sferik
630
63k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Automating Front-end Workflow
addyosmani
1369
210k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
970
Skip the Path - Find Your Career Trail
mkilby
1
250
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
520
Odyssey Design
rkendrick25
PRO
2
860
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
210
Un-Boring Meetings
codingconduct
0
440
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