SlideShare a Scribd company logo
模擬授業
『プログラミング実践演習』
2018年7月24日(火)
総合情報学科 ゲーム・アプリケーション研究室
河野義広
東京情報大学 模擬授業 2018.7.24
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
目次
 自己紹介
 プログラミングの基本要素
 プログラミングの基礎知識
 プログラミング体験
 プログラミング応用
 まとめ
2
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
自己紹介
 名前:河野 義広(かわの よしひろ)
 所属:ゲーム・アプリケーション研究室
 専門:情報工学、社会情報学
 社会的課題をシステムで解決する!
 実生活すべてが研究対象
 ソーシャルメディアを「いかに人生に活かすか!」
 研究テーマ:サイバーワールド
 分散仮想環境におけるヒューマンコミュニケーション
 仮想化技術を用いた自律分散協調型Webクローラの開発
 なりたい自分でつながるソーシャルメディア開発
 地域活動を通じた学生の主体性向上と情報発信Webサイト
3
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
使っているアプリは?
 普段使っているアプリはいくつある?
4
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
プログラミングってなんだろう?
1. プログラムと聞いて、思い付くのは?
 ゲーム、アプリ、AI
 センサ、ロボット
 インターネット、Webサイト、SNS
 買い物、チケット予約、ATM、自動改札、Suica、自販機
 家電、車、etc…
2. プログラミングができると何が便利だろうか?
 論理的思考が身に付く、物事の仕組みが分かるようになる
 面倒な処理をプログラムに任せて手間を減らす
 自動化して人間はやらなくてもよくする
 データを保管しプログラムで解析して、生活を便利に! 5
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
プログラムの例
 概要
 アンケートの選択によって結果が変化するWebページ
6
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
プログラミングの基本要素
 3大要素
 逐次処理:書かれた順に処理が進む
 条件分岐:条件により処理が分かれる
 繰り返し:同じ処理を何度も繰り返す(ループ)
※ 処理の流れを書いたもの=ソースコード(単にコード)
 格言の紹介
 プログラムは思った通りには動かない
書いたとおりに動くのだ
7
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
逐次処理
 書かれた順に処理が進む
8
Scratchの場合 Rubyの場合
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
逐次処理(Scratchの場合)
9
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
条件分岐
 条件により処理が分かれる
10
Scratchの場合 Rubyの場合
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
条件分岐(Scratchの場合)
11
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
繰り返し
 同じ処理を何度も繰り返す
12
Scratchの場合 Rubyの場合
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
繰り返し(Scratchの場合)
13
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
プログラミングの基礎知識
 基本的な用語
 変数:データを覚えておく箱
 配列:複数のデータを覚えておく箱セット(リスト)
 関数:特定の処理をまとめて定義したもの
 数学との関連
 変数は方程式や関数における変量(xとかyとか)と同じ
 配列は変数をリスト化したもの(x1, x2, x3, …, xnとか)
 関数は数学の関数と同じ
 数学関数:ある変数を決めたら別の値が決まる式のこと
 x を決めたら y が決まる ※ y = 2x + 5 とか y = 3/x とか
 プログラムの関数:入力を与えたら出力が決まる
14
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
関数の基本
 和を求める関数 add の定義
 入力:a と b の2つの値
 出力:2つの値を足した結果(return文の箇所)
15
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
プログラミング体験
簡単なプログラムを
作ってみよう
16
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
Paiza.ioでプログラム体験
 Webブラウザを開いて、「paiza.io」で検索
17
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
Rubyで合計値を求めるプログラム
 下記のコードを入力してみよう:15分
 コメント部分(# 以降の文字)は入力しなくてよい
 全角と半角に注意する ※英数字・記号は半角で書く
18
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
応用:平均値を求めるプログラム
 空欄を埋めてプログラムを完成させよう:10分
 Hint 1. 合計値を求める関数 sum を活用する
 Hint 2. 配列の要素数を出力する関数 list.length を活用する
 関数 list.lengthを使って、平均はどうやって求められるか考える
 関数 average の入力:list(得点リスト)、出力:平均値
19
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
配列の要素数を求める関数
 関数 length を活用する
 「配列名.length」で要素数を取得できる
20
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
解答例:平均値を求めるプログラム
 合計値の関数をうまく使って簡単に書ける
 関数として“定義”しておけば、他の箇所でも使える
 関数 sum を使って、たった1行で書ける→できた人?
21
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
まとめ
 やったこと
 プログラムができると何が便利か
 プログラミング体験
 プログラミングの応用
 皆さんに期待すること
 自分でプログラムを作ってみましょう
 勉強会やセミナーに行ってみましょう
22
TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES
終わり
 ご質問・コメントなどありましたらお願いします
23
東京情報大学 総合情報学部 総合情報学科
ゲーム・アプリケーション研究室
河野 義広
Tel:043-236-1149
E-mail:ykawano@rsch.tuis.ac.jp
ご不明な点がありましたら以下にお問い合わせください

More Related Content

PPTX
高大連携授業20190730(抜粋)
PPTX
高大連携授業20190730
PPTX
河野ゼミ研究紹介20180702
PPTX
河野ゼミ研究紹介20211020
PPTX
教員免許状更新講習20160803
PPTX
東京情報大学キャンパス体験会20130921
PPTX
プレゼンの作り方2019
PPTX
東京情報大・香取市地域連携フォーラム20150228
高大連携授業20190730(抜粋)
高大連携授業20190730
河野ゼミ研究紹介20180702
河野ゼミ研究紹介20211020
教員免許状更新講習20160803
東京情報大学キャンパス体験会20130921
プレゼンの作り方2019
東京情報大・香取市地域連携フォーラム20150228

What's hot (20)

PPTX
河野ゼミ紹介2014
PPTX
2017年度 河野ゼミ スタートアップ資料
PPTX
専門演習_河野ゼミ説明会20191120
PDF
オンライン文化学術展2020「河野ゼミ研究紹介」
PPTX
河野ゼミ紹介20201118
PPTX
専門演習説明会『河野ゼミの紹介2019』
PPTX
専門演習_河野ゼミ紹介20191023
PPTX
深層学習を用いたコンピュータビジョン技術と運転行動モニタリングへの応用
PPTX
河野ゼミ紹介2013
PPTX
基礎演習V 河野ゼミ紹介20161025
PPTX
ビジュアルプログラミング20161118
PPTX
教員免許状更新講習20140807
PPTX
高大連携授業20140730
PPTX
教員免許状更新講習20150730
PPTX
出張講義 東京女学館高校20140528
PPTX
私が考える教科「情報」像と教科「情報」の課題
PPTX
教育システム情報学会 2014年度第1回研究会20140510
PPTX
情報の科学的な理解に関する授業実践の紹介
PPTX
深層学習を用いたコンピュータビジョン技術とスマートショップの実現
PPTX
コミュニティカレッジさくら20190825
河野ゼミ紹介2014
2017年度 河野ゼミ スタートアップ資料
専門演習_河野ゼミ説明会20191120
オンライン文化学術展2020「河野ゼミ研究紹介」
河野ゼミ紹介20201118
専門演習説明会『河野ゼミの紹介2019』
専門演習_河野ゼミ紹介20191023
深層学習を用いたコンピュータビジョン技術と運転行動モニタリングへの応用
河野ゼミ紹介2013
基礎演習V 河野ゼミ紹介20161025
ビジュアルプログラミング20161118
教員免許状更新講習20140807
高大連携授業20140730
教員免許状更新講習20150730
出張講義 東京女学館高校20140528
私が考える教科「情報」像と教科「情報」の課題
教育システム情報学会 2014年度第1回研究会20140510
情報の科学的な理解に関する授業実践の紹介
深層学習を用いたコンピュータビジョン技術とスマートショップの実現
コミュニティカレッジさくら20190825
Ad

Similar to プログラミング模擬授業20180724 (20)

PPTX
高大連携授業20180803
PDF
〔第27回日本高等教育学会年会発表〕IRにおける教務概念のオントロジー化 − 情報科学からのアプローチ −
PPTX
Webシステムプログラミング20161003
PDF
CMSI計算科学技術特論C (2015) ソフトウェア工学の視点から(前編)
PPTX
Python基礎その2
PDF
2023_freshman
PPTX
Ym20121122
PPTX
Webシステムプログラミング20170527
PDF
DS Exercise Course 3
PDF
StatGenSummerSchool2023_Rsoftware.pdf
PDF
[Basic 1] ブロックチェーンと計算機科学 / ブール代数 / 情報理論
PDF
Panel 3: JST Project to Realize Society 5.0
PDF
東京大学2021年度深層学習(Deep learning基礎講座2021) 第8回「深層学習と自然言語処理」
PPTX
Webシステムプログラミング20150413
PPTX
Moocsの利用
PDF
20170806 Discriminative Optimization
PDF
Presentation oct-2018-tokyo r
PDF
Curiosity driven exploration
PDF
相互運用可能な作文計測システムの設計 - リアルタイムモニタリングに向けて -
PDF
東京大学2020年度深層学習(Deep learning基礎講座) 第9回「深層学習と自然言語処理」(一部文字が欠けてます)
高大連携授業20180803
〔第27回日本高等教育学会年会発表〕IRにおける教務概念のオントロジー化 − 情報科学からのアプローチ −
Webシステムプログラミング20161003
CMSI計算科学技術特論C (2015) ソフトウェア工学の視点から(前編)
Python基礎その2
2023_freshman
Ym20121122
Webシステムプログラミング20170527
DS Exercise Course 3
StatGenSummerSchool2023_Rsoftware.pdf
[Basic 1] ブロックチェーンと計算機科学 / ブール代数 / 情報理論
Panel 3: JST Project to Realize Society 5.0
東京大学2021年度深層学習(Deep learning基礎講座2021) 第8回「深層学習と自然言語処理」
Webシステムプログラミング20150413
Moocsの利用
20170806 Discriminative Optimization
Presentation oct-2018-tokyo r
Curiosity driven exploration
相互運用可能な作文計測システムの設計 - リアルタイムモニタリングに向けて -
東京大学2020年度深層学習(Deep learning基礎講座) 第9回「深層学習と自然言語処理」(一部文字が欠けてます)
Ad

More from 義広 河野 (15)

PPTX
河野ゼミ説明会20221116
PPTX
河野ゼミ研究紹介20221019
PPTX
千葉市若葉区共催市民公開講座_20190711
PPTX
プレゼン勉強会_若葉区公開講座_20190620
PPTX
ソーシャルメディアを活用した地域の情報発信_02_20190616
PPTX
教育システム情報学会(JSiSE) 2018年度第6回研究会_20190316
PPTX
卒業論文ルーブリック_20181217
PPTX
プログラミング応用b 長期課題(2)
PPTX
教員免許状更新講習20180821
PPTX
コミュニティカレッジさくら20180526
PPTX
第37回サイバーワールド研究会20171217
PPTX
教員免許状更新講習20170804
PPTX
高大連携授業20170801
PPTX
社会情報学の実践研究への挑戦20170530
PPTX
第34回サイバーワールド研究会20161216
河野ゼミ説明会20221116
河野ゼミ研究紹介20221019
千葉市若葉区共催市民公開講座_20190711
プレゼン勉強会_若葉区公開講座_20190620
ソーシャルメディアを活用した地域の情報発信_02_20190616
教育システム情報学会(JSiSE) 2018年度第6回研究会_20190316
卒業論文ルーブリック_20181217
プログラミング応用b 長期課題(2)
教員免許状更新講習20180821
コミュニティカレッジさくら20180526
第37回サイバーワールド研究会20171217
教員免許状更新講習20170804
高大連携授業20170801
社会情報学の実践研究への挑戦20170530
第34回サイバーワールド研究会20161216

プログラミング模擬授業20180724

  • 2. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 目次  自己紹介  プログラミングの基本要素  プログラミングの基礎知識  プログラミング体験  プログラミング応用  まとめ 2
  • 3. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 自己紹介  名前:河野 義広(かわの よしひろ)  所属:ゲーム・アプリケーション研究室  専門:情報工学、社会情報学  社会的課題をシステムで解決する!  実生活すべてが研究対象  ソーシャルメディアを「いかに人生に活かすか!」  研究テーマ:サイバーワールド  分散仮想環境におけるヒューマンコミュニケーション  仮想化技術を用いた自律分散協調型Webクローラの開発  なりたい自分でつながるソーシャルメディア開発  地域活動を通じた学生の主体性向上と情報発信Webサイト 3
  • 4. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 使っているアプリは?  普段使っているアプリはいくつある? 4
  • 5. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES プログラミングってなんだろう? 1. プログラムと聞いて、思い付くのは?  ゲーム、アプリ、AI  センサ、ロボット  インターネット、Webサイト、SNS  買い物、チケット予約、ATM、自動改札、Suica、自販機  家電、車、etc… 2. プログラミングができると何が便利だろうか?  論理的思考が身に付く、物事の仕組みが分かるようになる  面倒な処理をプログラムに任せて手間を減らす  自動化して人間はやらなくてもよくする  データを保管しプログラムで解析して、生活を便利に! 5
  • 6. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES プログラムの例  概要  アンケートの選択によって結果が変化するWebページ 6
  • 7. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES プログラミングの基本要素  3大要素  逐次処理:書かれた順に処理が進む  条件分岐:条件により処理が分かれる  繰り返し:同じ処理を何度も繰り返す(ループ) ※ 処理の流れを書いたもの=ソースコード(単にコード)  格言の紹介  プログラムは思った通りには動かない 書いたとおりに動くのだ 7
  • 8. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 逐次処理  書かれた順に処理が進む 8 Scratchの場合 Rubyの場合
  • 9. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 逐次処理(Scratchの場合) 9
  • 10. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 条件分岐  条件により処理が分かれる 10 Scratchの場合 Rubyの場合
  • 11. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 条件分岐(Scratchの場合) 11
  • 12. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 繰り返し  同じ処理を何度も繰り返す 12 Scratchの場合 Rubyの場合
  • 13. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 繰り返し(Scratchの場合) 13
  • 14. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES プログラミングの基礎知識  基本的な用語  変数:データを覚えておく箱  配列:複数のデータを覚えておく箱セット(リスト)  関数:特定の処理をまとめて定義したもの  数学との関連  変数は方程式や関数における変量(xとかyとか)と同じ  配列は変数をリスト化したもの(x1, x2, x3, …, xnとか)  関数は数学の関数と同じ  数学関数:ある変数を決めたら別の値が決まる式のこと  x を決めたら y が決まる ※ y = 2x + 5 とか y = 3/x とか  プログラムの関数:入力を与えたら出力が決まる 14
  • 15. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 関数の基本  和を求める関数 add の定義  入力:a と b の2つの値  出力:2つの値を足した結果(return文の箇所) 15
  • 16. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES プログラミング体験 簡単なプログラムを 作ってみよう 16
  • 17. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES Paiza.ioでプログラム体験  Webブラウザを開いて、「paiza.io」で検索 17
  • 18. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES Rubyで合計値を求めるプログラム  下記のコードを入力してみよう:15分  コメント部分(# 以降の文字)は入力しなくてよい  全角と半角に注意する ※英数字・記号は半角で書く 18
  • 19. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 応用:平均値を求めるプログラム  空欄を埋めてプログラムを完成させよう:10分  Hint 1. 合計値を求める関数 sum を活用する  Hint 2. 配列の要素数を出力する関数 list.length を活用する  関数 list.lengthを使って、平均はどうやって求められるか考える  関数 average の入力:list(得点リスト)、出力:平均値 19
  • 20. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 配列の要素数を求める関数  関数 length を活用する  「配列名.length」で要素数を取得できる 20
  • 21. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 解答例:平均値を求めるプログラム  合計値の関数をうまく使って簡単に書ける  関数として“定義”しておけば、他の箇所でも使える  関数 sum を使って、たった1行で書ける→できた人? 21
  • 22. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES まとめ  やったこと  プログラムができると何が便利か  プログラミング体験  プログラミングの応用  皆さんに期待すること  自分でプログラムを作ってみましょう  勉強会やセミナーに行ってみましょう 22
  • 23. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 終わり  ご質問・コメントなどありましたらお願いします 23 東京情報大学 総合情報学部 総合情報学科 ゲーム・アプリケーション研究室 河野 義広 Tel:043-236-1149 E-mail:[email protected] ご不明な点がありましたら以下にお問い合わせください