Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
プログラミング実習 事前講義 稲⽥和⺒ @筑波⼤学⼤学院 1
Slide 2
Slide 2 text
稲⽥ 和⺒ ● 筑波⼤学⼤学院 博⼠課程 1年 ● 1997年⽣まれ、⼤阪出⾝ ● メディアアート‧メディア表現 ● つくばエキスポセンター(アルバイト) 2 作ってるものや研究のことは https://www.nandenjin.com を みてください
Slide 3
Slide 3 text
3
Slide 4
Slide 4 text
本⽇のおしながき ● 「プログラム」って何? ● プログラミングを使った研究あれこれ ● 宿題の振り返り 4 このスライドはあとで⾒返せるように配布します。 メモを取るときは「画⾯に書いてないことだけ」でOKです
Slide 5
Slide 5 text
「プログラム」って何? 5
Slide 6
Slide 6 text
「プログラム」って何? 6 プログラム 物事の進⾏について、 順序⽴てて説明した「⼿順」 プログラミング プログラムをつくる作業のこと え?コンピュータは?
Slide 7
Slide 7 text
「プログラム」って何? コンピュータを使わなくても 「プログラム」 ● 運動会や学芸会とか 7 プログラム 物事の進⾏について、順序⽴てて説明した「⼿順」 どんなときに、なにが、 どんな順番で起こるか?
Slide 8
Slide 8 text
コンピュータを使わないプログラム:鉄道ダイヤ どのように運転すれば 滞りなく、安全に⾛れるか? 予め設計し、それに従って 操縦する 8 画像出典:Wikimedia Commons(Author: K.Kitaguchi、運動会プロテインパワー)
Slide 9
Slide 9 text
コンピュータを使わないプログラム:郵便配達 どんな⼿順(道順)で配達すると 無駄なく早く届けられる? 表にしてまとめている 9 出典:NHK「テキシコー」#1 https://www.nhk.or.jp/school/sougou/texico/onair/
Slide 10
Slide 10 text
では、コンピュータとは何? 10 プログラム 物事の進⾏について、 順序⽴てて説明した「⼿順」 コンピュータ ⼿順に従って、計算を⾃動でおこなう機械 = (計算をする)プログラムを 実⾏する機械
Slide 11
Slide 11 text
初期のコンピュータは、⼈⼒の計算を肩代わりさせるために作られた 11 バベッジの階差機関、イギリス・ 1840年頃 ENIAC、アメリカ・1940年頃 画像出典:Wikimedia Common(File:Difference_engine.JPG, Glen_Beck_and_Betty_Snyder_program_the_ENIAC_in_building_328_at_the_Ballistic_Research_Laboratory.jpg)
Slide 12
Slide 12 text
コンピュータを使ったプログラミングの強み 12 ⾃動化 できる シミュレー ション できる ⾃分で 「つくる」 ができる
Slide 13
Slide 13 text
コンピュータを使ったプログラミング:⾃動化 複雑なことや退屈なこと、 プログラムにしてしまえば 何度でも同じように動かせる 13 ⾃動列⾞運転装置 ATO(Automatic Train Operation) 発⾞して停⾞するまでの動きをプログラムし 電⾞を⾃動的に⾛らせる https://youtu.be/K_Wuthvin3M?t=50
Slide 14
Slide 14 text
コンピュータを使ったプログラミング:シミュレーション 実際にできないことでも、 コンピュータと データを使って正確に試せる 14 NTTドコモ 「検証 全員歩きスマホ in 渋⾕スクランブル交差点」 交差点を渡る⼈が全員歩きスマホ! どうなるのか確かめてみる https://youtu.be/6Pkzjm75KnU
Slide 15
Slide 15 text
さまざまなテクノロジーで、 ⾃分の考えたことを すぐに「作って試す」できる コンピュータを使ったプログラミング:⾃分で作る 15 “The Floppotron” コンピュータの周辺機器を使って(?) ⾳楽を奏でることができる システムを作った https://youtu.be/Oym7B7YidKs?t=15
Slide 16
Slide 16 text
プログラミングを使った研究あれこれ 16 じゃあ、研究では どうやって使うの?
Slide 17
Slide 17 text
プログラミングを使った研究あれこれ ● 宮本知世 ○ みやもと‧ちせ ○ ⼤学院 博⼠前期課程1年 ⽣物系 ● 岡村美紀 ○ おかむら‧みき ○ ⼤学院 博⼠前期課程1年 情報系 17
Slide 18
Slide 18 text
宮本知世 18 情報科学が⽣物学でどのように活躍しているか?
Slide 19
Slide 19 text
l ( ) l : ( ) l : lSKIP 2 1 :
Slide 20
Slide 20 text
l : l ( ) ( ) 2
Slide 21
Slide 21 text
3
Slide 22
Slide 22 text
DNA : l l4 (A, T, G, C) l 4 DNA
Slide 23
Slide 23 text
: l : DNA (A, T, G, C) 5
Slide 24
Slide 24 text
6 DNA DNA
Slide 25
Slide 25 text
岡村美紀 19 オノマトペからダンスを⽣成
Slide 26
Slide 26 text
ΦϊϚτϖ͔ΒμϯεΛੜ ʻμϯεੜʼ
Slide 27
Slide 27 text
ࣗݾհ ஜେใܥ. ԬଜඒلʢΈ͖͓ʣ
Slide 28
Slide 28 text
ΦϊϚτϖͱײ֮ؒڠԠ എܠ
Slide 29
Slide 29 text
ΦϊϚτϖͱײ֮ؒڠԠ എܠ
Slide 30
Slide 30 text
ΦϊϚτϖͱײ֮ؒڠԠ എܠ
Slide 31
Slide 31 text
ҿΈ৺ ৮ײ ॻ͖৺ ͷ࣭ײ ͞Β͞Β ΦϊϚτϖ ײ֮ؒڠԠ ϞʔμϧؒΛ݁ͿΠϝʔδ େխو, ԣᖒҰ, and ໐ւࢤ. "ଟײ֮ͷ౷߹తೝͷجૅͱײ֮ఏࣔΠϯλϑΣʔεͷԠ༻Մೳੑ." ຊόʔνϟϧϦΞϦςΟֶձจࢽ 27.1 (2022): 18-28. ΦϊϚτϖͱײ֮ؒڠԠ എܠ
Slide 32
Slide 32 text
ɹ ײ֮ؒڠԠ … ಈ࡞ɾ༷ଶ ײɾಈ ੑɾࡐ࣭ ɹ ɹ ଟ༷ͳϞʔμϧ ΦϊϚτϖ େխو, ԣᖒҰ, and ໐ւࢤ. "ଟײ֮ͷ౷߹తೝͷجૅͱײ֮ఏࣔΠϯλϑΣʔεͷԠ༻Մೳੑ." ຊόʔνϟϧϦΞϦςΟֶձจࢽ 27.1 (2022): 18-28. ΦϊϚτϖͱײ֮ؒڠԠ എܠ
Slide 33
Slide 33 text
ɹ ײ֮ؒڠԠ … ಈ࡞ɾ༷ଶ ײɾಈ ੑɾࡐ࣭ ɹ ɹ ଟ༷ͳϞʔμϧ ΦϊϚτϖ Իੑ ͜ͱͱΠϝʔδ͕݁ͼͭ͘ݱ େխو, ԣᖒҰ, and ໐ւࢤ. "ଟײ֮ͷ౷߹తೝͷجૅͱײ֮ఏࣔΠϯλϑΣʔεͷԠ༻Մೳੑ." ຊόʔνϟϧϦΞϦςΟֶձจࢽ 27.1 (2022): 18-28. ΦϊϚτϖͱײ֮ؒڠԠ എܠ
Slide 34
Slide 34 text
ͲͪΒ͕ϒʔόʁɹͲͪΒ͕ΩΩʁ ΦϊϚτϖͱײ֮ؒڠԠ എܠ
Slide 35
Slide 35 text
ͲͪΒ͕ϒʔόʁɹͲͪΒ͕ΩΩʁ ͻͱ͜ͱͰײతʹঢ়ଶҹΛදݱͰ͖ΔͨΊɺ ෯͘׆༻͞Ε͍ͯΔ ΦϊϚτϖͱײ֮ؒڠԠ എܠ
Slide 36
Slide 36 text
ΦϊϚτϖ͔ΒμϯεΛੜ ʻμϯεੜʼ ԻੑΛԽ Իӆͱμϯεಈ࡞ͷؔΛਂֶश ΦϊϚτϖ͔Βμϯεಈ࡞Λੜʂ
Slide 37
Slide 37 text
ΦϊϚτϖ͔ΒμϯεΛੜ ʻμϯεੜʼ ԻੑΛԽ Իӆͱμϯεಈ࡞ͷؔΛਂֶश ΦϊϚτϖ͔Βμϯεಈ࡞Λੜʂ ˢϓϩάϥϛϯάΛ༻͍Δʂ ˢϓϩάϥϛϯάΛ༻͍Δʂ ˢϓϩάϥϛϯάΛ༻͍Δʂ
Slide 38
Slide 38 text
ΦϊϚτϖ͔ΒμϯεΛੜ ʻμϯεੜʼ
Slide 39
Slide 39 text
ΦϊϚτϖ͔ΒμϯεΛੜ ʻμϯεੜʼ
Slide 40
Slide 40 text
ΦϊϚτϖ͔ΒμϯεΛੜ ʻμϯεੜʼ ϓϩάϥϛϯά͕͋Εɺ ΦϊϚτϖ͔Βμϯεಈ࡞ΛੜͰ͖Δʂ
Slide 41
Slide 41 text
⾼校⽣向け勉強会(先週やった) ● 情報学って何ができるの? ● コンピュータを使った アート作品 もっと知りたい:情報学とメディアアート 20 興味のある⼈はこちらもどうぞ! https://speakerdeck.com/nandenjin/intro duction-to-informatics-and-media-arts-fo r-highschool-students
Slide 42
Slide 42 text
事前課題のフィードバック 21
Slide 43
Slide 43 text
問題を⾒返してみましょう コンピュータになにかをしてもらうためには、ただ「◯◯をし てほしい」と伝えるのではなく、「どのような動きをどう組み 合わせるか」を論理的に伝えなければいけません。 課題ではその練習として、「⽇常のある場⾯を、動作に分解す る」ことに取り組んでもらいます。 22
Slide 44
Slide 44 text
問題を⾒返してみましょう 23 1. 「図書館で本を探して借りる」動作を分解してください。 ただし、借りる本は決まっているものとします。 2. ⽣活の中にあるものごとを⾃由にひとつ選び、 動作に分解してください。 (なにを選んだかも書いてください)
Slide 45
Slide 45 text
これの何が難しいのか 誰がやっても同じになるように するのはすごく難しい。 でも、プログラミングは そういう⾔葉でしかできないように なっている…… 24 Josh Darnit “Exact Instructions Challenge” ジョナとエヴァンは、パパにサンドイッチの作り⽅を 「正確に」教えられるだろうか? https://youtu.be/cDA3_5982h8
Slide 46
Slide 46 text
問1: 図書館で本を探して借りる 25 探す 歩き回る 借りる みんなの答え
Slide 47
Slide 47 text
問1: 図書館で本を探して借りる 26 1、図書館に⾏く 2、借りる本がどこにあるか検索をする 3、検索した結果の場所に⾏く 4、探していた本をとる 5、借りるために受付に⾏く 6、受付で借りる 7、家に帰る みんなの答え
Slide 48
Slide 48 text
問1: 図書館で本を探して借りる 27 ①借りたい本のジャンルのコーナーに⾏く ②借りたい本の筆者名もしくは作品名のコーナーに⾏く ③本を⼿に取る ④借りたい本か確認する ⑤③〜④を借りたい本の確認が取れるまで繰り返す ⑥借りる ⑦⾒つからない ⑧司書さんに聞く みんなの答え
Slide 49
Slide 49 text
問1: 図書館で本を探して借りる 28 ①図書館にいるか [はいの場合→] ②借りる本を探す ③借りる本が⾒つかったか [はいの場合②→] ④図書カードを持って 職員のところに⾏く ⑤本と図書カードを渡して 本を借りる みんなの答え [いいえの場合②→] ④ʻ②に戻る [いいえの場合→] ②’図書館に⾏く ③ʻ①に戻る
Slide 50
Slide 50 text
問2: 新しく発売された本を図書館で借りる 29 新しい本が発売されたかを調べる 予約する 図書館に借りに⾏く みんなの答え 「発売された = 図書館にある」でOK? なかったときどうしよう?
Slide 51
Slide 51 text
問2: 部活を始めるまでの動作 30 更⾐室に⾏く 鍵が空いている→更⾐室の中で着替える 鍵が空いていない→トイレに⾏って着替える グラウンドに出る コーチがいる→挨拶をする コーチがいない→コーチが来たら挨拶をする グラウンドに挨拶をする みんなの答え コーチがいないとき、 コーチが来るまで なにしてよう……
Slide 52
Slide 52 text
問2: ⻭磨き 31 ①⻭ブラシを⼿に取る。 ②⻭磨き粉はある? [はいの場合→] ③⻭磨き粉を⻭ブラシにつける。 [いいえの場合→] ③’⽔を⻭ブラシにかける。 ④右上を磨く。 ⑤左上を磨く。 ⑥左下を磨く。 ⑦右下を磨く。 みんなの答え ⻭ブラシやタオルの 有無もチェックすると どんどん複雑になる ⑧コップはある? [はいの場合→] ⑨コップに⽔を⼊れる ⑩⼝に⽔を⼊れる [いいえの場合→] ⑨’⼿に⽔をためる ⑩’⼝に⽔を⼊れる ⑪⼝をゆすぐ ⑫⽔を吐き捨てる。 ⑬タオルで⼝を拭く。
Slide 53
Slide 53 text
プログラムの3つの制御構造 32 順次 順番に次を実⾏する 繰り返し 何度も戻って繰り返す 分岐 条件によって枝分かれ
Slide 54
Slide 54 text
まとめ ● 「プログラム」はものごとを進める⼿順のこと。 コンピュータ以外もアリ ● 「どういうふうに動いてほしいのか」を きちんと説明できることが重要そう。 ● 指⽰を組み合わせて作る。 条件で分かれ道を作ったり、繰り返したりできる 33
Slide 55
Slide 55 text
実習に続く。 34
Slide 56
Slide 56 text
去年の様⼦ 35
Slide 57
Slide 57 text
実習で使う機材「マイクロビット」 36 https://microbit.org/ja/get-started/features/overview/
Slide 58
Slide 58 text
実習課題 micro:bitを使って ⼩さなプログラム(アプリケーション)をつくる ● たのしいものならなんでもOK ● 研究や⽣活の役に⽴つものならGood👍 ● ボタン‧コンパス‧温度計‧LED‧スピーカなどなど 37 何が作れるか考えてみよう