模擬授業
『プログラミング実践演習』
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
ご不明な点がありましたら以下にお問い合わせください

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

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