$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
幼稚園児はプログラミングを習得できるか #TechLunch
Search
Livesense Inc.
PRO
April 21, 2014
Technology
0
110
幼稚園児はプログラミングを習得できるか #TechLunch
幼稚園児はプログラミングを習得できるか
2013/07/10 (水) @ Livesense TechLunch
発表者:久野 友里
Livesense Inc.
PRO
April 21, 2014
Tweet
Share
More Decks by Livesense Inc.
See All by Livesense Inc.
27新卒_総合職採用_会社説明資料
livesense
PRO
0
1.4k
27新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
0
5.1k
株式会社リブセンス・転職会議 採用候補者様向け資料
livesense
PRO
0
130
株式会社リブセンス 会社説明資料(報道関係者様向け)
livesense
PRO
0
1.6k
データ基盤の負債解消のためのリプレイス
livesense
PRO
0
510
26新卒_総合職採用_会社説明資料
livesense
PRO
0
12k
株式会社リブセンス会社紹介資料 / Invent the next common.
livesense
PRO
2
47k
26新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
1
13k
中途セールス職_会社説明資料
livesense
PRO
0
280
Other Decks in Technology
See All in Technology
AWSセキュリティアップデートとAWSを育てる話
cmusudakeisuke
0
250
OCI Oracle Database Services新機能アップデート(2025/09-2025/11)
oracle4engineer
PRO
1
130
WordPress は終わったのか ~今のWordPress の制作手法ってなにがあんねん?~ / Is WordPress Over? How We Build with WordPress Today
tbshiki
1
710
GitHub Copilotを使いこなす 実例に学ぶAIコーディング活用術
74th
3
2.8k
re:Inventで気になったサービスを10分でいけるところまでお話しします
yama3133
1
120
今年のデータ・ML系アップデートと気になるアプデのご紹介
nayuts
1
300
30分であなたをOmniのファンにしてみせます~分析画面のクリック操作をそのままコード化できるAI-ReadyなBIツール~
sagara
0
130
AWS Security Agentの紹介/introducing-aws-security-agent
tomoki10
0
180
Lessons from Migrating to OpenSearch: Shard Design, Log Ingestion, and UI Decisions
sansantech
PRO
1
120
regrowth_tokyo_2025_securityagent
hiashisan
0
230
チーリンについて
hirotomotaguchi
6
1.9k
【AWS re:Invent 2025速報】AIビルダー向けアップデートをまとめて解説!
minorun365
4
510
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Java REST API Framework Comparison - PWX 2021
mraible
34
9k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Designing Experiences People Love
moore
143
24k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.1k
Leading Effective Engineering Teams in the AI Era
addyosmani
8
1.3k
Being A Developer After 40
akosma
91
590k
We Have a Design System, Now What?
morganepeng
54
7.9k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.2k
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