Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
並木中等教育学校「はじめてのプログラミング入門」
Search
Fushimi Ryohei
July 03, 2013
Education
0
460
並木中等教育学校「はじめてのプログラミング入門」
2013年7月3日に開催した「はじめてのプログラミング入門」講義資料です。
Fushimi Ryohei
July 03, 2013
Tweet
Share
More Decks by Fushimi Ryohei
See All by Fushimi Ryohei
Sight: "知覚旅行"のための視覚代行デバイス
sidestepism
0
550
Sight: "知覚旅行"のための視覚代行デバイス
sidestepism
0
140
Sight by 200 OK
sidestepism
2
22k
"Mirror Mirror" [SIGGRAPH ASIA 2014] Review
sidestepism
0
100
Bag-of-visual-words を用いた 2クラスの画像識別器の実装 + ハンズオン
sidestepism
2
400
SPAJAM2014 "nani-colle?"
sidestepism
0
280
プレゼンの話
sidestepism
0
250
ノンプログラマーのためのプログラミング講座 第4回「JavaScriptでゲーム開発」
sidestepism
0
200
いばらき総文連2014 コンピュータ部会 プログラミング研修会
sidestepism
0
140
Other Decks in Education
See All in Education
Use Cases and Course Review - Lecture 8 - Human-Computer Interaction (1023841ANR)
signer
PRO
0
1.4k
KBS新事業創造体験2025_科目説明会
yasuchikawakayama
0
160
XML and Related Technologies - Lecture 7 - Web Technologies (1019888BNR)
signer
PRO
0
3.2k
1202
cbtlibrary
0
210
TypeScript初心者向け完全ガイド
mickey_kubo
1
130
焦りと不安を、技術力に変える方法 - 新卒iOSエンジニアの失敗談と成長のフレームワーク
hypebeans
1
660
外国籍エンジニアの挑戦・新卒半年後、気づきと成長の物語
hypebeans
0
740
Generative AI Leader 認定試験範囲の解説
cloudace
0
100
俺と地方勉強会 - KomeKaigi・地方勉強会への期待 -
pharaohkj
1
1.6k
Security, Privacy and Trust - Lecture 11 - Web Technologies (1019888BNR)
signer
PRO
0
3.2k
The browser strikes back
jonoalderson
0
420
Introduction - Lecture 1 - Information Visualisation (4019538FNR)
signer
PRO
0
5.1k
Featured
See All Featured
Abbi's Birthday
coloredviolet
1
4.8k
Chasing Engaging Ingredients in Design
codingconduct
0
120
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.9k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
250
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
270
Optimizing for Happiness
mojombo
379
71k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
280
Music & Morning Musume
bryan
47
7.1k
Docker and Python
trallard
47
3.7k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
120
Transcript
茨城県立並木中等教育学校 はじめてのプログラミング入門 (株)ユビキタスエンターテインメント enchant.js 開発チームリーダー 東京大学工学部 伏見遼平
ࠓͷఔ ߨٛ ࣮शͦͷ લాϒϩοΫ ࣮शͦͷ FODIBOUKT ߨٛ ߨٛ
ࣗݾհ
෬ݟྒྷฏ ౦ژେֶֶ෦ ใֶڭҭ෦ גࣜձࣾϢϏΩλε ΤϯλʔςΠϯϝϯτ
ࣗݾհ ෬ݟྒྷฏ !TJEFTUFQJTN גࣜձࣾϢϏΩλεΤϯλʔςΠϯϝϯτ ळ༿ݪϦαʔνηϯλʔॴଐ FODIBOUKT։ൃνʔϜϦʔμʔ MFBQϓϩδΣΫτϦʔμʔ ౦ژେֶֶ෦ɾେֶӃใֶॴଐ
ࣗݾհ ੜ ɹେֶೖֶ ɹגࣜձࣾϢϏΩλεΤϯλʔςΠϯϝϯτೖࣾ ɹɹɹFODIBOUKT MFBQͷ։ൃ ɹDPEFMFBQͷ։ൃ ɹɹɹɹ౦ژେֶେֶӃใֶڭҭ෦ೖֶ ɹ౦ژେֶֶ෦ਐֶ
౦ژେֶ ڭཆֶ෦ ֶ෦ ཧֶ෦ ֶ෦ ༀֶ෦ จֶ෦ ܦࡁֶ෦ ڭҭֶ෦ ๏ֶ෦
લظ՝ఔ ޙظ՝ఔ
ʮϓϩάϥϛϯάڭҭʯͷ ͨΊͷϓϩδΣΫτ
ήʔϜΛ༡Ϳͷ໘ന͍
୯७ͳϧʔϧͰ໘ന͍
ࣗͷήʔϜΛ࡞Δͷʜ໘ന͍
ήʔϜΛ࡞Δͷͬͱ໘ന͍
લాϒϩοΫ
ϓϩάϥϚ اը ϓϩδΣΫτϚωʔδϟ ։ൃνʔϜϦʔμʔ
None
None
͜͜ͰΞϯέʔτ
தֶੜ
ߴߍੜ
େֶੜ
ઌੜ
ֶߍΛ͢Ͱʹଔۀͨ͠ํ
͕ࣗࣗ༝ʹ͑Δ ύιίϯΛ͍࣋ͬͯΔ
ͦΕ8JOEPXT
ͦΕ.BD
ՈͷύιίϯԿ࣌·Ͱ ͑Δ͔ܾ·͍ͬͯΔ
ՈͷύιίϯͰɺ ͍͍ͯ͜͠ͱɺ ͍͚ͯ͠ͳ͍͜ͱ͕ ܾ·͍ͬͯΔ
ʹɺ࣌ؒҎ্ύιίϯΛ͏ਓ
ʹɺ࣌ؒҎ্ύιίϯΛ͏ਓ
ϓϩάϥϜΛॻ͍ͨ͜ͱ͕͋Δਓ
ϓϩάϥϜΛॻ͍ͨ͜ͱ͕ͳ͍ਓ
िؒʹɺ ࣌ؒҎ্ϓϩάϥϜΛॻ͍͍ͯΔਓ
िؒʹɺ ࣌ؒҎ্ϓϩάϥϜΛॻ͍͍ͯΔਓ
ͦͦϓϩάϥϜͬͯ Կ͔͍ͬͯΔਓ
ϓϩάϥϛϯάͨ͜͠ͱ͋Δਓ
ʮϓϩάϥϛϯάʯͷఆٛΛݴ͑Δਓ
ϓϩάϥϛϯάͬͯԿ͔ͩ Α͔͘Βͳ͍͚Ͳ ͬͨ͜ͱ͋Δਓ
·ͣͷճΓʹ͋ΔʮϓϩάϥϜʯΛ ࢥ͍ු͔ͯԼ͍͞
ۙʹ͋ΔϓϩάϥϜ
ۙʹ͋ΔϓϩάϥϜ
ۙʹ͋ΔϓϩάϥϜ
ۙʹ͋ΔϓϩάϥϜ
ۙʹ͋ΔϓϩάϥϜ
ۙʹ͋ΔϓϩάϥϜ
৽ӳதࣙయ ୈ̒൛ ʢݚڀࣾʣΑΓҾ༻ http://www.excite.co.jp/dictionary/english_japanese/?search=program&match=beginswith&dictionary=NEW_EJJE&block=41438&offset=1206
Hackers’ Cafe ϓϩάϥϜͱ͍͑ɾɾɾ ήʔϜϓϩάϥϜ ӡಈձͷϓϩάϥϜ ݁ࠗࣜͷࣜ࣍ୈ ςϨϏ൪ ӳޠͰ571SPHSBN ΧϦΩϡϥϜ ڭҭϓϩάϥϜͳͲ
ϓϩάϥϜۙʹᷓΕͯΔ
ܚጯٛक़େֶͷ૿Ҫढ़೭ઌੜʹΑΕɺ ͜ΜͳͷϓϩάϥϜʹͳΔͦ͏Ͱ͢ ֮·࣌͠ܭͷઃఆ ϏσΦσοΩͷը༧ ࣗಈυΞͷ։ൃ
Hackers’ Cafe ӳࣙయΛҾ͖·͠ΐ͏ ৽ӳதࣙయ ୈ̒൛ ʢݚڀࣾʣΑΓҾ༻ http://www.excite.co.jp/dictionary/english_japanese/?search=program&match=beginswith&dictionary=NEW_EJJE&block=41438&offset=1206
ʲిࢉʳ ϓϩάϥϜ ʬిࢉػʹࢦྩ͢Δ ࡞ۀखॱͷਫ਼ີͳهड़ʭ
ϓϩάϥϜ࡞ۀͷखॱͷৄ͍͠هड़
Hackers’ Cafe ϓϩάϥϜͷ͍Ζ͍Ζ ӡಈձͷϓϩάϥϜ ݁ࠗࣜͷࣜ࣍ୈ ΧϦΩϡϥϜ ։ձࣜ ۄೖΕ N ٍഅઓ
େۄૹΓ ΨΠμϯε ϓϩάϥϛϯά֓ ܭࢉػՊֶͷجૅ ΞϧΰϦζϜͱσʔλߏ ϓϩάϥϛϯά࣮श ։ ৽৽්ೖ ओෂѫࡰɾסഋ έʔΩೖ ͓৭͠ ΩϟϯυϧαʔϏε ༑ਓʹΑΔ༨ڵ ՖՇ͔Βͷखࢴ ดձ ·͞ʹखॱΛهड़ͯ͠Δ
૿Ҫढ़೭ઌੜͷྫࣔΛ࡞ۀखॱʹͯ͠ΈΔ ֮·࣌͠ܭͷઃఆ ɹˠɹ".ʹͳͬͨΒԻΛ໐Βͤ ϏσΦσοΩͷը༧ ɹˠɹ༵ʹͳͬͨΒ ɹɹɹνϟϯωϧʹ͋Θͤͯ ɹ࣌ؒը͠Ζ ࣗಈυΞͷ։ൃ ɹˠɹυΞͷલʹਓཱ͕ͬͨΒ ɹɹɹυΞΛ։͚
ɹɹɹਓཱ͕ͪڈͬͨΒ ɹɹɹυΞΛด͡Ζ
࣌ʹɺίϯϐϡʔλͱ
࣮ɺલɺίϯϐϡʔλɺ৬ۀͰͨ͠
/"$"ͷܭࢉख ίϯϐϡʔλ ͷํʑ ग़యϑϦʔඦՊࣄయɹ8JLJQFEJB
ୈೋ࣍ੈքେઓͷظ ిࢠίϯϐϡʔλ͕࢈·Ε·ͨ͠
δϣϯɾϑΥϯɾϊΠϚϯ ग़యϑϦʔඦՊࣄయɹ8JLJQFEJB ϋϯΨϦʔग़ͷΞϝϦΧͷֶऀ ֶɺཧֶɺؾֶɺܦࡁֶɺܭࢉػՊֶʹ େͳӨڹΛ༩͑ͨɻ ݪരͷ։ൃऀͷҰਓͰ͋Δɻ ͦͯ͠ిࢠίϯϐϡʔλൃ໌ऀͷҰਓ
ίϯϐϡʔλΛൃ໌ͨ͠ͱ͖ɺ ϊΠϚϯ͜͏ݴ͍·ͨ͠ ग़యϑϦʔඦՊࣄయɹ8JLJQFEJB Զͷ࣍ʹ಄ͷౕ͍͍͕Ͱ͖ͨ ࣮ࡍɺίϯϐϡʔλΑΓ ܭࢉ͕͔ͬͨΒ͍͠
&/*"$ถ܉ͷಓܭࢉ༻ίϯϐϡʔλ ग़యϑϦʔඦՊࣄయɹ8JLJQFEJB
ίϩοαεӳࠃւ܉ใ෦ͷ։ൃͨ͠҉߸ղಡػ ग़యϑϦʔඦՊࣄయɹ8JLJQFEJB
;VTF;υΠπਓՊֶऀπʔθ͕։ൃͨ͠ίϯϐϡʔλ ग़యϑϦʔඦՊࣄయɹ8JLJQFEJB
࣮࠷ॳͷίϯϐϡʔλΛ ୭͕ൃ໌ͨ͠ͷ͔ਖ਼֬ͳ ͱ͜ΖΘ͔͍ͬͯ·ͤΜ ग़యϑϦʔඦՊࣄయɹ8JLJQFEJB ΞϨɺΦϨ͕ߟ͑ͨΜͩ ͱɺϊΠϚϯ͕ݴ͍࢝ΊͨͷͰ ํͳ͘ɺͦͷޙͷίϯϐϡʔλ ͜͏ݺΕΔΑ͏ʹͳΓ·ͨ͠
ʮϊΠϚϯܕίϯϐϡʔλʯ ͦͯ͜͠ͷ࣌ͦ͜ɺ ίϯϐϡλʔϓϩάϥϜੜͷॠؒͳͷͰ͢
ϓϩάϥϛϯάݴޠͷ͍Ζ͍Ζ
࣮ɺίϯϐϡʔλ͕ཧղͰ͖Δݴޠ $16ʹΑͬͯҧ͍·͢ *OUFM "3.
ίϯϐϡʔλ͕ཧղͰ͖ΔݴޠΛ ʮػցޠ Ϛγϯޠ ʯͱݺͼ·͢
Ϛγϯޠͬͯ͜Μͳײ͡Ͱ͢
͜ΕͲ͏ͬͯॻ͘ͷ ;ͭ͏ͷਓؒʹແཧͰ͢ ͔ͩΒੲͷϓϩάϥϚʔ ੌ͍ਓ͔͍͠ͳ͔ͬͨͷͰ͢ ˣ
ͬͱ؆୯ʹϓϩάϥϜ͢ΔͨΊʹ ϚγϯޠҎ֎ͷϓϩάϥϛϯάݴޠ͕ ͨ͘͞Μ࢈·Ε·ͨ͠
FORTRAN ʹ*#.Ͱ։ൃ͞Εͨखଓ͖ܕݴޠ 'PSNVMB5SBOTMBUJPO ࣜ༁ ʹ ༝དྷ͢ΔɺՊֶٕज़ܭࢉ༻ݴޠ εʔύʔίϯϐϡʔλͳͲͰ ࠓݱࡏΘΕ͍ͯΔ
LISP ੜ·Εͷؔܕݴޠ -JTU1SPDFTTPS͕༝དྷͰɺू߹ॲཧ͕ಘҙ +BWB4DSJQUͷܥͷઌ
Cݴޠ ੜ·Εͷखଓ͖ܕݴޠ ߏԽϓϩάϥϛϯάΛಋೖ͠ɺ։ൃޮ͕Ξοϓ ݱࡏͰ෯͘ΘΕ͍ͯΔݴޠͷͻͱͭͰ͋Δ
Smalltalk ʹެ։͞ΕͨΦϒδΣΫτࢦݴޠ ͕ؔଞݴޠͷ-*41-0(0ʹӨڹΛड͚ͨ ΞϥϯɾέΠ͕ઃܭͨ͠04ͷࢥʹ·Ͱٴ͢Δ ݴޠͰɺͦͷޙͷݴޠઃܭʹઈେͳӨڹΛ༩͑Δ
C++ ʹ։ൃ͞ΕͨΦϒδΣΫτࢦݴޠ खଓ͖ܕݴޠͷ$ݴޠΛϕʔεͱͯ͠ΦϒδΣΫτ ࢦػೳΛՃͨ͠
Objective-C $ݴޠΛϕʔεͱͯ͠4NBMMUBML෩ͷΦϒδΣΫτࢦ ػೳΛՃͨ͠ͷɻ J04.BDͳͲͰ༻͞Ε͍ͯΔ
Java $ Λϕʔεͱͯ͠ચ࿅ͤͨ͞ͷɻߴͳϝϞϦ ཧػߏιϑτΣΞίϯϙʔωϯτͳͲΛ࣮ݱ
Ruby ʹ·ͭͱΏ͖ͻΖࢯ͕ൃදͨ͠ࠃ࢈ϓϩ άϥϛϯάݴޠɻʮଟ༷ੑળʯͷεϩʔΨϯͷ ͱ։ൃ͕ਐΊΒΕͨɻੈքͰ࠷ਐΜͩݴޠͷͻͱ ͭͰɺϑΝϯଟ͍ɻ
JavaScript ʹ։ൃ͞Εͨ8FCϒϥβ༻ϓϩάϥϛϯ άݴޠɻ-*41ͷྲྀΕΛΉؔܕݴޠͰ͋Γͳ͕ Βɺ+BWBʹࣅͤͨจ๏ͷ࠾༻ͰղΓཱ྆͢͞͞ ͤΔɻ)5.-Ͱ༻͞ΕΔࣄ্࣮ͷඪ४ݴޠ
enchant.js ʹ։ൃ͞Εͨࠃ࢈+BWB4DSJQU༻ΞϓϦέʔ γϣϯΤϯδϯɻಠࣗͷΫϥεΠϕϯτػߏΛΓ ࠐΈɺॳ৺ऀ͔Β্ڃऀ·Ͱ͍͘͢վྑͨ͠
લాϒϩοΫ ʹ։ൃ͞ΕͨϏδϡΞϧݴޠ FODIBOUKTΛϕʔεͱͨ͠ΫϩεϓϥοτϑΥʔϜ ͱɺ༮ࣇ͔Βେਓ·Ͱ͑ΔݴޠΛࢦͯ͠։ൃ͞ Ε͍ͯΔɻ
今日学ぶのは… 前田ブロック と enchant.js
実習その1 前田ブロック編
(PPHMF$ISPNFͰ։͍ͯΈΑ͏ IUUQNBFEBCMPDLKQ
(PPHMF$ISPNFͰ։͍ͯΈΑ͏ IUUQNBFEBCMPDLKQ
͜ͷϓϩάϥϛϯάڥͷओ
FODIBOUKTͷެࣜΩϟϥΫλʔ γʔϧͳͲͷ άοζਐग़Λܦͯ ͍ͭʹண͙ΔΈԽ
͍ͭʹөըσϏϡʔΛՌͨ͢ ʜ
ʮ͜ͷΫϚΛಈ͔͢खॱʯ ΛϓϩάϥϜ͠·͠ΐ͏
͜ͷதͰಈ͖·͢ ࣮ߦϘλϯ
ʮύϖοτʯͷശ
ύϖοτϒϩοΫ ΛऔΓग़͢
͜ͷͭͷϒϩοΫΛ औΓग़͍ͯͩ͘͠͞
·ͬͨ
͕ͬͨ
ԼஈͷɹɹɹΛԡ͢ͱʜ ӈ্ͷը໘͕มΘΓ·͢
ΫϦοΫ͢Δͱɺ ग़ݱํ๏͕มΘΔ ʮͨ͘͞ΜͰΔʯ ʮ্͔Βग़ͯ͘Δʯ ʹม͑ͯɹɹɹͯ͠Έ·͠ΐ͏
͜ͷϒϩοΫΛग़ͯ͜͠Α͏
՝ ͦͷ
͜ͷಈ͖Λ࡞ͬͯΈΑ͏
ώϯτ͏ϒϩοΫ͜ͷछྨ
ώϯτ͜ͷϒϩοΫΛෳ͏
ώϯτ͜ͷϒϩοΫΛෳ͏
λςͱϤίͷ δάβάΛՃ͑Δ
ը૾ΛΫϦοΫ͢Δͱ ը૾Λม͑ΒΕ·͢
ࠓ࡞Δͷ ʮγϡʔςΟϯάήʔϜʯ
γϡʔςΟϯάήʔϜʹԿ͕ඞཁ
ࣗػ
ఢ
ࣗͷ
ఢͷ
ύϖοτ͕ͭ͋Ε࡞ΕΔ
՝ ͦͷ
͜͏͍͏ϒϩοΫΛ࡞ͬͯΈ͍ͯͩ͘͞
͜͏͍͏ϒϩοΫΛ࡞ͬͯΈ͍ͯͩ͘͞ ͜ͷϒϩοΫͷ ׂʹ
৽͍͠ϒϩοΫΛհ ΠϕϯτϦεφ ϒϩοΫ ύϖοτग़ݱ ϒϩοΫ ͋Δ݅Ͱ Կ͔ͷखॱΛߦ͏ ύϖοτΛ ग़ݱͤ͞Δ
·ͣʮʙͷͱ͖ʯ ϒϩοΫΛՃ ύϖοτग़ݱ ϒϩοΫΛՃ ૣͬͯΈΑ͏
·ͣʮʙͷͱ͖ʯ ϒϩοΫΛՃ ύϖοτग़ݱ ϒϩοΫΛՃ ͳΜ͔͍͜ͱʹˠ
৽͍͠ϒϩοΫΛհ JGϒϩοΫ ݅ϒϩοΫ
JGϒϩοΫͱ݅ϒϩοΫΛ Έ߹Θͤͯ͏ ඵʹίϚͳͷͰɺඵʹ
தʹύϖοτग़ݱ ϒϩοΫΛೖΕΔ
͜ͷΧλϚϦΛதʹ ͍ΕͯΈΔ
͜ͷΧλϚϦΛதʹ ͍ΕͯΈΔ εϥΠϜͷग़ݱස͕ݮΓ·ͨ͠
ͳΜ͔ͩΒ લʹਐΜͰ΄͍͠
ʮࣗͷʯύϖοτʹ ʮಈ͖ʯϏϔΠϏΞΛՃ
ʮఢʯύϖοτʹ ʮ͋ͨΔʯϏϔΠϏΞΛՃ
͍ͩͿγϡʔςΟϯάήʔϜ
͋ͱɺఢΛଧͬͯɺ ఢͷʹͨΔͱήʔϜΦʔόʔ ࠓ·ͰशͬͨϒϩοΫ ͜ͷϒϩοΫͰ0,
ϓϩάϥϛϯά ʮ෦ΛΈ߹ΘͤΔʯ͚ͩͰͰ͖Δ ͲΜͳݴޠͰ جຊతʹಉ͡
実習その2 enchant.js 編
IUUQDPEFMFBQOFU
IUUQDPEFMFBQOFU ͔Β͡ΊΑ͏
注意点 赤い ×が出ていたら 「文法エラー」です。 赤い ×にカーソルを合わせると、 文法ミスの内容がわかります。 この場合は、「)」 閉じカッコが足りません。 (閉じカッコのあるべきところに、「game」
があります)
注意点 • プログラムはすべて半角で打ち込みます。 • “”() + - = などの記号や、スペースも すべて半角です。
• 全角を使うと、たとえばこんな文法エラーが 出ます
注意点 • 文法エラーがなくても、スペルミスや、必要な命令 が足りないなどでうまく動かない場合があります。 • 今回は、どうしようもなくなったら、焦らずに、 もう一度「Fork」してやり直しましょう。 • 「enchant.js」は発展編ですが、続きは家に帰って ぜひ頑張ってチャレンジしてみてください。
プログラミングをなぜ学ぶのか?
1つは「複雑な現象を理解する」のため
ࣗ ఢ ࣗͷ ఢͷ ੑ࣭Λड͚ܧ͙ લʹਐΉ ఢͱͿ͔ͭΔ ৭੨ ࣗͱͿ͔ͭΔ
৭ ੑ࣭Λ֦ு͢Δ
ڞ௨͢Δ ϏϔΠϏΞ͕ଟ͍
ʮࣅͨͷΛ͘͘Γɺੑ࣭Λఆٛ͢Δʯ ʮڞ௨͢Δੑ࣭ΛऔΓग़͢ʯ ʮΫϥεͷؒͷ૬ޓ࡞༻Λఆٛ͢Δʯ ʮϞσϦϯάೳྗʯ
すごく大きなプログラムをつくる時…
すごく大きなプログラムをつくる時…
461&3."3*0
ϚϦΦ ΫϦϘʔ ϒϩοΫ ʁϒϩοΫ Ωϊί
461&3."3*0 ϚϦΦ ΫϦϘʔ ϒϩοΫ ʁϒϩοΫ είΞ ίΠϯ ϫʔϧυ λΠϜ ԡͨ͠ޙͷ
ʁϒϩοΫ Ωϊί େϚϦΦ ϑϥϫʔ ϑΝΠΞ ϚϦΦ
ϚϦΦ ΫϦϘʔ ϒϩοΫ ʁϒϩοΫ είΞ ίΠϯ ϫʔϧυ λΠϜ ԡͨ͠ޙͷ ʁϒϩοΫ
Ωϊί େϚϦΦ ϑϥϫʔ ϑΝΠΞ ϚϦΦ
ϚϦΦ ΫϦϘʔ ϒϩοΫ ʁϒϩοΫ είΞ ίΠϯ ϫʔϧυ λΠϜ ԡͨ͠ޙͷ ʁϒϩοΫ
Ωϊί େϚϦΦ ϑϥϫʔ ϑΝΠΞ ϚϦΦ
࿈བྷσʔλϕʔε
ਓΫϥε ࿈བྷΫϥε ࢯ໊ɾి൪߸Λ͍ͬͯΔ ࿈བྷݩɾ࿈བྷઌͷਓΛ͍ͬͯΔ
ਓ ࿈བྷ ࿈བྷ ਓ ਓ ࿈བྷ ਓ
࿈བྷݩ ࿈བྷઌ Ώ͏͡ ·ΏΈ Ώ͏͡ ͱΑ ·ΏΈ Α͏͚͢ Α͏͚͢ ͨ͘
Α͏͚͢ Έ͞ͱ ͱΑ ͻΖ͠ ͱΑ ΏΈ͜ ࢯ໊ ి൪߸ ·ΏΈ YYYYYYYYY ͱΑ YYYYYYYYY Α͏͚͢ YYYYYYYYY ͨ͘ YYYYYYYYY Έ͞ͱ YYYYYYYYY ͻΖ͠ YYYYYYYYY ΏΈ͜ YYYYYYYYY
࿈བྷͷߏʹண ਓɺਓͷਓ͔ΒͷΈ࿈བྷΛड͚Δ
࿈བྷݩ ࿈བྷઌ Ώ͏͡ ·ΏΈ Ώ͏͡ ͱΑ ·ΏΈ Α͏͚͢ Α͏͚͢ ͨ͘
Α͏͚͢ Έ͞ͱ ͱΑ ͻΖ͠ ͱΑ ΏΈ͜ ࢯ໊ ి൪߸ ·ΏΈ YYYYYYYYY ͱΑ YYYYYYYYY Α͏͚͢ YYYYYYYYY ͨ͘ YYYYYYYYY Έ͞ͱ YYYYYYYYY ͻΖ͠ YYYYYYYYY ΏΈ͜ YYYYYYYYY
ࢯ໊ ి൪߸ ࿈བྷݩ ·ΏΈ YYYYYYYYY Ώ͏͡ ͱΑ YYYYYYYYY Ώ͏͡ Α͏͚͢
YYYYYYYYY ·ΏΈ ͨ͘ YYYYYYYYY Α͏͚͢ Έ͞ͱ YYYYYYYYY Α͏͚͢ ͻΖ͠ YYYYYYYYY ͱΑ ΏΈ͜ YYYYYYYYY ͱΑ
ਓΫϥε ࢯ໊ɾి൪߸ɾ࿈བྷΛड͚Δਓ Λ͍ͬͯΔ ࿈བྷΫϥε
ਓ ਓ ਓ ਓ ॲཧ͕؆୯ʹͳΔ σʔλ༰ྔ͕খ͘͞ͳΔ
ʮϞσϦϯάೳྗʯ ͜Ε
プログラミングの「モデリング」は、 科学の考え方と同じ。
1つは「コンピュータを使えるようになる」ため
数学
掛け算しよう ※ 解ける人は手を挙げて
2 ×6 = ?
12222 ×1666 = ?
2 ×6 = ?
12 ×6 = ?
122 ×6 = ?
122 ×16 = ?
筆算ならできる? 1 2 2 × 1 6 7 3 2
1 2 2 0 1 9 5 2
12222 ×1666 = ?
頑張れば、解ける 1 2 2 2 2 × 1 6 6
6
(たぶん) 頑張れば、解ける 1 2 2 2 2 2 2 ×
1 6 6 6 6 6
もし、筆算を知らなかったら… 「どう解いていいかわからない」 1 2 2 2 2 2 2 ×
1 6 6 6 6 6
どう解いていいのか 分からない問題 頑張れば、時間はかかるけど 解ける問題 問題の答え 12222 ×1666 たくさんの 九九と足し算の組み合わせに 分解
20,321,852 1 2 2 2 2 2 2 × 1 6 6 6 6 6
「大きな問題を、小さな問題に分けて考える」のは 科学の考え方と同じ。
どう解いていいのか 分からない問題 問題の答え
どう解いていいのか 分からない問題 問題の答え
どう解いていいのか 分からない問題 頑張れば、時間はかかるけど 解ける問題 問題の答え
どう解いていいのか 分からない問題 頑張れば、時間はかかるけど 解ける問題 問題の答え
どう解いていいのか 分からない問題 頑張れば、時間はかかるけど 解ける問題 問題の答え コンピュータの力 数学の力、 プログラミングの力
プログラミングが できるようになりたい! ならば… 今習っている「数学」を きちんと勉強しよう
58888 ×6411 = ? 将来、こんな難しい問題が出てきても…
58888 ×6411 = ? 1 2 2 × 1 6
7 3 2 1 2 2 0 1 9 5 2 122 ×16 = ? 小さな問題に分割すれば、大丈夫
なぜプログラミングを学ぶのか 1. 複雑な現象を理解できる 2. 大きな問題を、小さく分けて解ける 「科学の考え方」を 自然に身につけられる
• 自分で考えたものを、作って動かすのは楽しい! • 複雑なアプリケーションが、自分の思い通りに動 くともっと楽しい! なぜプログラミングを学ぶのか
プログラミングに、 興味を持ってもらえましたか?
ͬͱֶͼ͍ͨਓ͚ IUUQEPUJOTUBMMDPN
ͬͱֶͼ͍ͨਓ͚ νϡʔτϦΞϧ IUUQFODIBOUKTDPN 3FTPVSDFʹղઆ͋Γ ຊޠ
ͬͱֶͼ͍ͨਓ͚ IUUQMFBQOFU
ͬͱֶͼ͍ͨਓ͚ IUUQMFBQOFU
ͬͱֶͼ͍ͨਓ͚ IUUQXXXDPEFBDBEFNZDPN ӳޠ
今日学んだことは、 プログラミングにおける 「はじめの一歩」
プログラミングに関しては、 「はじめの一歩」を踏み出せない人のほうが 多いのです
実は、この講座と同じ内容を オトナの社会人向けにすでに教えています 「学生・社会人なんて関係ない!」 のがプログラミングの世界
プログラムを書いて、 面白いゲームを作ったら、 その後 どうすればいいの…?
まずは、今日作ったプログラムを 友達と共有してみよう 率直な意見を聞ける友達・先生は とても大切です!
「enchant.js」を使った ゲーム開発コンテスト 「9leap」
「9leap」に ぜひ投稿してみてください! 「優秀賞」「最優秀賞」に選ばれれば 最新ノートパソコンがもらえる & シリコンバレーに行けるチャンス!!
「9leap」本戦はちょっとハイレベルなので… 2013年・夏から高校生以下限定 「9leap youth」がスタートします。
2014年・夏には、 茨城で開催される全国総合文化祭で プログラミングが正式種目採用。 「9leap」本戦はちょっとハイレベルなので… 2013年・夏から高校生以下限定 「9leap youth」がスタートします。
2014年・夏には、 茨城で開催される全国総合文化祭で プログラミングが正式種目採用。
質疑応答