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
稲⽥ 和⺒ ● 筑波⼤学⼤学院 博⼠課程 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