Slide 1

Slide 1 text

プログラミング実習 事前講義 稲⽥和⺒ @筑波⼤学⼤学院 1

Slide 2

Slide 2 text

稲⽥ 和⺒ ● 筑波⼤学⼤学院 博⼠課程 2年 ● 1997年⽣まれ、⼤阪出⾝ ● メディアアート‧メディア表現 ● つくばエキスポセンター(アルバイト) 2 作ってるものや研究のことは https://www.nandenjin.com を みてください

Slide 3

Slide 3 text

本⽇のおしながき ● 「プログラム」って何? ● プログラミングを使った研究あれこれ ● 宿題の振り返り 3 このスライドはあとで⾒返せるように配布します。 メモを取るときは「画⾯に書いてないことだけ」でOKです

Slide 4

Slide 4 text

「プログラム」って何? 4

Slide 5

Slide 5 text

「プログラム」って何? 5 プログラム 物事の進⾏について、 順序⽴てて説明した「⼿順」 プログラミング プログラムをつくる作業のこと え?コンピュータは?

Slide 6

Slide 6 text

「プログラム」って何? コンピュータを使わなくても 「プログラム」 ● 運動会や学芸会とか 6 プログラム 物事の進⾏について、順序⽴てて説明した「⼿順」 どんなときに、なにが、 どんな順番で起こるか?

Slide 7

Slide 7 text

では、コンピュータとは何? 7 プログラム 物事の進⾏について、 順序⽴てて説明した「⼿順」 コンピュータ ⼿順に従って、計算を⾃動でおこなう機械 = (計算をする)プログラムを 実⾏する機械

Slide 8

Slide 8 text

初期のコンピュータは、⼈⼒の計算を肩代わりさせるために作られた 8 バベッジの階差機関、イギリス・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 9

Slide 9 text

コンピュータを使ったプログラミングの強み 9 ⾃動化 できる シミュレー ション できる ⾃分で 「つくる」 ができる

Slide 10

Slide 10 text

コンピュータを使ったプログラミング:⾃動化 複雑なことや退屈なこと、 プログラムにしてしまえば 何度でも同じように動かせる 10 ⾃動列⾞運転装置 ATO(Automatic Train Operation) 発⾞して停⾞するまでの動きをプログラムし 電⾞を⾃動的に⾛らせる https://youtu.be/K_Wuthvin3M?t=50

Slide 11

Slide 11 text

コンピュータを使ったプログラミング:シミュレーション 実際にできないことでも、 コンピュータと データを使って正確に試せる 11 NTTドコモ 「検証 全員歩きスマホ in 渋⾕スクランブル交差点」 交差点を渡る⼈が全員歩きスマホ! どうなるのか確かめてみる https://youtu.be/6Pkzjm75KnU

Slide 12

Slide 12 text

さまざまなテクノロジーで、 ⾃分の考えたことを 「作って試す」ができる コンピュータを使ったプログラミング:⾃分で作る 12 “The Floppotron” コンピュータの周辺機器を使って(?) ⾳楽を奏でることができる システムを作った https://youtu.be/Oym7B7YidKs?t=15

Slide 13

Slide 13 text

プログラム‧コンピュータで「つくる」ということ 橋本⻨&ノガミカツキによるgroup_inou『eye』ミュージックビデオ 13 https://youtu.be/WSFeje8-4Vc

Slide 14

Slide 14 text

https://baku89.com/making-of/eye 14

Slide 15

Slide 15 text

https://baku89.com/making-of/eye 15 プログラミングは道具。まだ⾒たこともない景⾊にたどり着く⼿段になるかもしれない

Slide 16

Slide 16 text

プログラミングを使った研究あれこれ 16 じゃあ、研究では どうやって使うの?

Slide 17

Slide 17 text

プログラミングはさまざまな分野と関わり続けている 17 ――情報学は数学や統計学と同様に、独⽴した学問であると同時に メタサイエンス(諸科学全体を覆うサイエンス)の側⾯を 有している。 メタサイエンス:他の分野にも組み合わせて活⽤できる学問のこと ――常に他の専⾨分野との接点において 新しい領域情報学が⽣まれている。 ⽇本学術会議 - ⼤学教育の分野別質保証のための教育課程編成上の参照基準(情報学分野) どんな分野の研究でも、プログラミングを使ったあたらしい⼯夫ができる

Slide 18

Slide 18 text

宮本知世 18 ⼤学院 博⼠前期課程2年 ⽣物系 情報科学が⽣物学でどのように活躍しているか?

Slide 19

Slide 19 text

自己紹介 ⚫宮本 知世 (みやもと ちせ) ⚫専攻 : 微生物分子進化学 (生物学) ⚫研究内容 : 海洋シアノバクテリアの多様性調査 みたいな... ⚫SKIPプログラミングプログラムは3年目 ⚫SKIPではTA、試験監督や実習のお手伝いなど 1 今日話すこと : 情報科学が生物学でどのように活躍しているか?

Slide 20

Slide 20 text

自己紹介 ⚫宮本 知世 (みやもと ちせ) ⚫専攻 : 微生物分子進化学 (生物学) ⚫研究内容 : 海洋シアノバクテリアの多様性調査 みたいな... ⚫SKIPプログラミングプログラムは3年目 ⚫SKIPではTA、試験監督や実習のお手伝いなど 2 今日話すこと : 情報科学が生物学でどのように活躍しているか?

Slide 21

Slide 21 text

ヒトとサルの違いって? | 進化 ⚫進化とは : ある種の子孫に、その種と遺伝子が異なる新しい種が現れるこ と ⚫遺伝子は小さな変化 (突然変異) を繰り返しているが、変化しすぎて 子孫が作れなくなると別種になる (種分化) 3 進化には遺伝子の変化が大きく関係している

Slide 22

Slide 22 text

地球上には多くの生物がいる 4 地球上の生物はどのような進化をたどったのか?

Slide 23

Slide 23 text

DNA : 生物の「設計図」 ⚫遺伝子の本体 ⚫4種類 (A, T, G, C) の塩基からなる二重の鎖 →遺伝子の情報を文字列で表すことができる! ⚫地球上のほとんどの生物が持つ 5 多くの生物種間でDNAを比べれば、 地球上の生物の進化を明らかにできるのではないか? … 分子進化学

Slide 24

Slide 24 text

生物情報学 : 生物が持つ情報を計算機で解析する ⚫例 : DNAの塩基 (A, T, G, C) の並び方の並び方を比較したい 6 人の目で比べるのは大変… 計算機にやらせよう!!

Slide 25

Slide 25 text

分子系統解析 7 DNAの抽出 塩基配列に翻訳 うまく整列 系統解析 系統樹 DNA配列を計算機で解析することで進化を解き明かすことができる!

Slide 26

Slide 26 text

実際には ⚫分子系統解析 ⚫デカいデータをいじるためにpythonを使ったり... ⚫解析環境がLinux (OS) なのでシェルスクリプトを使ったり... ⚫来年からは社会人ですがシステムエンジニアみたいなことをやります 8

Slide 27

Slide 27 text

⾼校⽣向け勉強会(去年の資料) ● 情報学って何ができるの? ● コンピュータを使った アート作品 もっと知りたい:情報学とメディアアート 19 興味のある⼈はこちらもどうぞ! https://speakerdeck.com/nandenjin/intro duction-to-informatics-and-media-arts-fo r-highschool-students

Slide 28

Slide 28 text

事前課題のフィードバック 20

Slide 29

Slide 29 text

問題を⾒返してみましょう コンピュータになにかをしてもらうためには、ただ「◯◯をし てほしい」と伝えるのではなく、「どのような動きをどう組み 合わせるか」を論理的に伝えなければいけません。 課題ではその練習として、「⽇常のある場⾯を、動作に分解す る」ことに取り組んでもらいます。 21

Slide 30

Slide 30 text

問題を⾒返してみましょう 22 1. 「図書館で本を探して借りる」動作を分解してください。 ただし、借りる本は決まっているものとします。 2. ⽣活の中にあるものごとを⾃由にひとつ選び、 動作に分解してください。 (なにを選んだかも書いてください)

Slide 31

Slide 31 text

これの何が難しいのか 誰がやっても同じになるように するのはすごく難しい。 でも、プログラミングは そういう⾔葉でしかできないように なっている…… 23 Josh Darnit “Exact Instructions Challenge” ジョナとエヴァンは、パパにサンドイッチの作り⽅を 「正確に」教えられるだろうか? https://youtu.be/cDA3_5982h8

Slide 32

Slide 32 text

問1: 図書館で本を探して借りる 24 図書館に⾏く 本を探す 本を借りる みんなの答え

Slide 33

Slide 33 text

問1: 図書館で本を探して借りる 25 ①図書館へ⾏く ②借りる本を探す ③本を抜く ④カウンターへ持って⾏く ⑤利⽤者カードを出す ⑥本を受け取る ⑦袋に⼊れる ⑧持ち帰る みんなの答え

Slide 34

Slide 34 text

問1: 図書館で本を探して借りる 26 ①借りたい本のジャンルのコーナーに⾏く ②借りたい本の筆者名もしくは作品名のコーナーに⾏く ③本を⼿に取る ④借りたい本か確認する ⑤③〜④を借りたい本の確認が取れるまで繰り返す ⑥借りる    ⑦⾒つからない         ⑧司書さんに聞く みんなの答え

Slide 35

Slide 35 text

問1: 図書館で本を探して借りる 27 1 地図を⾒る 2 ⽬的の本がある場所を⾒つける(⾒つ かるまで探す) 3その場所へ向かう 4 ⽬的の本を探し、⾒つけたら⼿に取る 5 ⽬的の本か確認する  ⽬的の本である ⼯程6へ  ⽬的の本ではない その本を戻して⼯ 程4に戻る みんなの答え 6 受付に本を持っていく 7 図書カードと借りたい本を渡す 8 貸出の処理をしてもらい、本と図書 カードを返してもらう 9完了

Slide 36

Slide 36 text

問2: ⽔を飲む 28 コップを⾒つける ペットボトルを探して持ってくる キャップを開けて、机に置く ペットボトルを傾けて⽔をコップに⼊ れる キャップをとって閉める コップを持つ ⽔を飲む みんなの答え コップが机の上にあるか やや不安になってきた……

Slide 37

Slide 37 text

問2: 登校する 29 家を出る エレベーターまで歩く エレベーターの下⽮印のボタンを押す エレベーターを待つ エレベーターに乗る ⼀階のボタンを押す ⼀階に着いたらエレベーターから降りる マンションを出る バス停まで歩く バスを待つ みんなの答え バスに乗る 定期を読み取り機械にかざす 席に座るまたは⽴っている 降りるボタンを押す 停⾞したら読み取り機械に定期をかざす バスから降りる 学校まで歩く 「いつやるのか」が あると良いね

Slide 38

Slide 38 text

問2: 地図と測量の科学館」から移動して、研究学園駅で快 速秋葉原⾏きの電⾞に乗る 30 ①「地図と測量の科学館」を出る ②「地図と測量の科学館」正⾨から向かって正⾯の 横断歩道を渡る ③セブンイレブンつくば⻄平塚店の脇を直進し、⾃ 動⾞道「取⼿つくば線」の横の歩道を、道なりに歩 き続ける ④正⾯に、スーパーマーケット「トリセン研究学園 店」が⾒えたか? [いいえの場合]  ⑤そのまま道なりに歩き続ける [はいの場合]  ⑤^右に曲がり、新都市中央通りを⻄⽅向に歩く みんなの答え ⑥交差点「研究学園駅⼊⼝」に到着したか? [いいえの場合]  ⑦⑤を続ける [はいの場合]  ⑦左に曲がる  ⑧道なりに進む  ⑨研究学園駅の北出⼝から構内に⼊る  ⑩券売機の前に進む  ⑪秋葉原までの切符を選択する  ⑫券売機に1000円札を1枚、100円⽟を 1枚、50円⽟を1枚、10円⽟を1枚投⼊する  ⑫券売機に1000円札を1枚、100円⽟を 1枚、50円⽟を1枚、10円⽟を1枚投⼊する  ⑬受渡⼝から切符を抜き取る  ⑭改札に向かう  ⑮切符⼊れに切符を⼊れる  ⑯5歩歩いて改札を通る  ⑰切符を抜き取る  ⑱直進し、2番線ホームに向かうエスカレー ターに乗る  ⑲2番線のホームで電⾞を待つ  ⑳到着した電⾞は、快速秋葉原⾏きか?  [いいえの場合]   ㉑⑳に戻る  [はいの場合]   ㉑電⾞に乗る 「道案内」はシンプルかつ意外と難しい プログラミングのひとつ。何を⽬印にするのがよいんだろう

Slide 39

Slide 39 text

プログラムの3つの制御構造 31 順次 順番に次を実⾏する 繰り返し 何度も戻って繰り返す 分岐 条件によって枝分かれ

Slide 40

Slide 40 text

まとめ ● 「プログラム」はものごとを進める⼿順のこと。 コンピュータ以外もアリ ● 「どういうふうに動いてほしいのか」を きちんと説明できることが重要そう。 ● 指⽰を組み合わせて作る。 条件で分かれ道を作ったり、繰り返したりできる 32

Slide 41

Slide 41 text

実習に続く。 33

Slide 42

Slide 42 text

去年までの様⼦ 34

Slide 43

Slide 43 text

実習で使う機材「マイクロビット」 36 今年からmicro:bit v2になりました! https://microbit.org/ja/get-started/features/overview/

Slide 44

Slide 44 text

実習課題 micro:bitを使って ⼩さなプログラム(アプリケーション)をつくる ● たのしいものならなんでもOK ● 研究や⽣活の役に⽴つものならGood👍 ● ボタン‧コンパス‧温度計‧LED‧スピーカなどなど 37 何が作れるか考えてみよう

Slide 45

Slide 45 text

おまけ:つくばエキスポセンター 38 実習場所 徒歩2分!

Slide 46

Slide 46 text

プラネタリウムの番組もプログラムで進⾏しています 39 https://www.expocenter.or.jp/planetarium/about/

Slide 47

Slide 47 text

プログラムを使った研究を探せ! 40