情報科教育法A 第6回 情報科学: 情報の科学的な理解 アルゴリズムとプログミングの 指導方法 すがみや けいこ
本日の予定 1.前回の復習 2.情報の科学的な理解(先週の続き) 3.情報科学:アルゴリズムとプログラミングの指導方法 4.本日の課題
本日の予定 1.前回の復習 2.情報の科学的な理解(先週の続き) 3.情報科学:アルゴリズムとプログラミングの指導方法 4.本日の課題
現行学習指導要領の 高校情報科目の3つの観点 情報活用の実践力 情報の科学的な理解 情報社会に参画する態度
情報の科学的な理解とは その1 情報活用の基礎となる情報手段の特性の理解と,情報を適切に扱ったり,自らの情報活用を評価・改善するための基礎的な理論や方法の理解 現行学習指導要領解説 p6
情報の科学的な理解 その2 情報や情報手段を適切に活用するために必要となる基礎的な理論を理解し,方法を習得するとともに,それらを実践する 情報の科学的な理解 その2 情報や情報手段を適切に活用するために必要となる基礎的な理論を理解し,方法を習得するとともに,それらを実践する 理解した情報手段の特性を踏まえて情報手段を適切に選択し活用する 問題解決の手順と結果の評価及び情報を表現するための技法,人間の知覚,記憶,思考などの特性 などについて基礎的な理論を理解し,方法を習得するとともに,それらを実践する
新学習指導要領の 科学的な見方・考え方 事象を,情報とその結び付きとして捉え,情報技術の適切かつ効果的な活用(プログラミング,モデル化とシミュレーションを行ったり情報デザインを適用したりすること等)により,新たな情報に再構成すること より実践的な内容 しかし科学的な知識がないと難しい
情報の科学的な理解 情報科学の分野 コンピュータはある手順で「動く」機械 基礎は数学的なロジック 計算と手続き
なぜ科学的な理解? 知的基盤社会 資源の無い日本 知的な創造により新しい価値 科学的な視野を早くから身に付ける
共通教科情報科目の必要項目 情報のディジタル化 情報通信ネットワーク 2進数、ビット、バイト、ディジタルとアナログ 標本化・量子化(現行学習指導要領) ファイルサイズ(K、M、G、T、P、m、μ、n、p)など 情報通信ネットワーク LAN、WAN クライアント、サーバ ハブ、ルータ プロトコル パケット通信 ファイアウォール など
更に「情報の科学」科目では 文字コード PCと周辺機器との情報のやりとり インターフェイス ネットワークのより詳細な理解 情報システムの機能 接続形態やプロトコルの機能、DNSなど 情報システムの機能 モデル化とシミュレーション などなど
現行専門教科情報科では主として 「情報テクノロジー」 「アルゴリズムとプログラミング」 「ネットワークシステム」 「データベース」 ハードウェア、ソフトウェア、情報システム 「アルゴリズムとプログラミング」 「ネットワークシステム」 設計、構築、保守、運用、安全対策 「データベース」 「情報システム実習」 他の教科でも一部科学的な理解・知識が必要
新専門教科情報科では 「情報テクノロジー」 「情報セキュリティ」 「情報システムのプログラミング」 「ネットワークシステム」 ハードウェア、ソフトウェア、情報システム 「情報セキュリティ」 「情報システムのプログラミング」 「ネットワークシステム」 設計、構築、保守、運用、安全対策 「データベース」 「コンテンツの制作と発信」 「メディアとサービス」などなど
データの基礎知識 データの分類:アンケートや質問で 情報として得られる「質的データ」 数値情報として得られる「量的データ」 質的 満足しましたか? とても満足した 量的 満足度を7段階で 6です
データサイエンス データサイエンティストの基本 AIの基本 X-Techなどの新しい価値を生む 定義があいまい 統計、プログラミング、専門分野の知識など必要
2つの指導法 コンピュータを使わない指導法 コンピュータを使う指導法 ゲーム感覚で身に付ける 教科書・プリント・学習ノートなども利用できる コンピュータが苦手な生徒も楽しんで参加できる PC教室が使えない時間も有るかも コンピュータを使わない指導法 教育サイトを使用する 簡単なプログラムを作る EXCELやWeb、プログラミング言語などを利用 コンピュータを使う指導法
ここで2進数をPCを使わず実習 ビットとバイト 四則演算 ビットシフト n進数(n進法)の考え方
授業用Webよりダウンロードし、問題1を実習 論理演算 2つの数字 AND(論理積) 両方1だと結果1 NAND(否定的論理積) ANDと反対 OR(論理和) 片方でも1だと結果1 NOR(否定的論理和) ORと反対 XOR(排他的論理和) EORとも 両方違うときは1 1と0なら1 両方同じなら0 1つの数字 NOT(否定) 1→0、0→1 授業用Webよりダウンロードし、問題1を実習
情報の科学的な理解2 問題解決(教科書p54~) 日常生活に即した問題を数値化して考えさせることが目的 日常生活に即した問題を数値化して考えさせることが目的 20分から30分で終わる単純な形が理想 説明を含めて1時限 より数学的な問題を取り上げても良い 協働作業しても良い 表・図・ツールの利用 ここで実習用EXCELファイルで実習
情報の科学的な理解2(続き) モデル化とシミュレーション(教科書p56~) 一般的な変数の置き換えが苦手な生徒にも対応 一般的な変数の置き換えが苦手な生徒にも対応 預金額、ローン、コーヒーの温度なども 専門教科なら自然科学的な問題も良い ここで実習用EXCELファイルでローンの計算の実習 大森先生のブログ http://blogs.yahoo.co.jp/ccomori/60930876.html 2019/05/11 佐藤先生のサイト http://hs-joho.net/hyt/13k/ 2019/05/10
モデル化とシミュレーションの例1 円周率を求める(モンテカルロ法) 卒業旅行の旅程と予算 Step1) ゴマを均等に 落として数える。 落として数える。 Step2)乱数に置き換える。
モデル化とシミュレーションの例2 カップケーキとビスケットの売り上げを最大にする 平均太陽光発電量の予測値
情報の科学的な理解3 なぜプログラミングを高校で? しかし就職にはどんな言語? あくまで「理解」「体験」 就職に必要なレベルまでは不要 教えるなら簡単な言語が良い 教科書ではVBA(マクロ)やJava Scriptなど 学校によってはフリーソフトも しかし就職にはどんな言語? Java、Cなどが人気 神奈川県立総合教育センター http://www.edu-ctr.pref.kanagawa.jp/kankoubutu/h21/jouhouweb/jirei/jirei04.html 2019/05/10 プロエンジニア調べ (Indeed社データ) http://proengineer.internous.co.jp/content/columnfeature/5957 2019/5/10
プログラミング言語と年収 ビズリサーチ(スタンバイの親会社) https://www.bizreach.co.jp/pressroom/pressrelease/pdf/2018/0807.pdf (2019/5/10)
実習 ダウンロードした問題を指示に従い解答
4.本日の課題 「情報の科学的な理解」に相当する内容で、自分の知識が足りない分野・内容・項目を1つ選ぶ。 上記について、自分の学習方法と、PCを使わない教育方法を考えなさい。 メール本文に記述して送信 締め切り 5月21日(火)18:00
本日の予定 1.前回の復習 2.情報の科学的な理解(先週の続き) 3.情報科学:アルゴリズムとプログラミングの指導方法 4.本日の課題
パリティビットとは 通信時やハードウェアでの誤り検出ビット このビットのチェックで誤り検出 数学や物理のパリティとは異なる 伝送中に周囲のノイズでエラーが発生 数学や物理のパリティとは異なる エラーによるデータは主に再送される パリティチェックでエラー発生 PC・ハードウェア データ再送 OKです サーバ・ハードウェア
実習 先週、ダウンロードした問題を指示に従い解答
パリティ2 垂直パリティは1個の誤りのみ バースト誤り(2個連続のエラー)は検出できない 水平パリティと組み合わせると 2ビット以上の誤り検出 1ビットの誤り訂正 誤り検出されたら、再送信が多い
教材として 科学的理解を促すのは、ゲームでも可能 苦手意識を払しょくできる 楽しく考えるのが一番! パリティは碁盤や磁石を使ってもできる
センター試験 数学 情報関係基礎にも 平成28年度センター試験 本試験の問題よりhttp://www.dnc.ac.jp/albums/abm.php?f=abm00007100.pdf&n=2801-0603+jouhou.pdf 2019/05/16
本日の予定 1.前回の復習 2.情報の科学的な理解(先週の続き) 3.情報科学:アルゴリズムとプログラミングの指導方法 4.本日の課題
アルゴリズム 解き方、解法、やり方、方法、算法のこと 教科では 「情報の科学」現行学習指導要領解説p27 具体的な問題の解決手順のため コンピュータによる処理手順の自動実行の有用性を理解させる モデル化とシミュレーション 問題を抽象化して作成したモデルに対して解決方法を求める 「アルゴリズムとプログラム」現行学習指導要領解説p66
アルゴリズム2 新学習指導要領では 「情報I」 アルゴリズムを表現する手段・・・について理解し技能を身に付けること 文章,フローチャート,アクティビティ図 アルゴリズムによって処理の結果や効率に違いが出る アルゴリズムを正確に記述することの重要性 目的に応じたアルゴリズムを考え適切な方法で表現し・・
情報Iでの具体例 考える、表現する 単純なアルゴリズム 典型的なアルゴリズム 表現方法 正確に表現することの重要性 効率の違い 数値の合計,平均 最大値,最小値 典型的なアルゴリズム 探索 整列 学習 表現方法 正確に表現することの重要性 効率の違い
指導のポイント ソフトウェアの役割の特徴の理解 コンピュータは勝手に動いているわけでは無い プログラムは単純な構造の組み合わせ 良いプログラムでコンピュータは良い働き 携帯「アプリ」との関連性
プログラムを構成する単純な構成 アルゴリズムをフローチャートで表現 順次処理 分岐処理 反復処理 この3つでプログラムが作成できることを伝える
順次処理の例 朝の行動 顔を洗う 着替える 食事する
分岐と順次の例 銀行ATMのアルゴリズムの一部分 処理を選択 入金なら 出金なら 通帳に記入 入金か出金か 入ってきたお金を数え、残高に足し算 出金なら 金額分を出金し、残高から引き算 通帳に記入
フローチャートは順次と分岐 プログラム名 Y 出金? N 金額を数える 金額を出金 残高←残高 +金額 残高←残高 ー金額
反復処理の例 ・バイトの給与計算 バイトの人数分繰り返す 時数入力 給与←時数×時給 給与出力
アルゴリズムの実習1 次の条件でのアルゴリズムを考えよ。 クラス人数繰り返す 生徒の点数を入力 クラスの合計点を求める =クラスの合計を求める領域に生徒の点数を足しこむ
アルゴリズムの実習2 次の条件でのアルゴリズムを考えよ。 クラス人数繰り返す 生徒の点数を入力 クラスの合計点を求める 30点以上なら何もしない 30点未満なら「追試」と印刷
アルゴリズムの教材例 アルゴロジック ゲーム感覚で楽しめる アルゴロジック ゲーム感覚で楽しめる http://home.jeita.or.jp/is/highschool/algo/index.html 2019/05/17
プログラミング 言語 DNCL センター試験情報関係基礎 Squeak 神奈川県立総合情報センター EXCEL の VBA C,C++ JavaScript など http://www.dnc.ac.jp/albums/abm.php?f=abm00003020.pdf&n=H23_dncl.pdf 2018/05/12 http://www.edu-ctr.pref.kanagawa.jp/kankoubutu/h21/jouhouweb/keikaku/keikaku04.html 2018/05/12
センター試験の例 平成29年度センター試験情報関係基礎問題よりhttp://www.dnc.ac.jp/albums/abm.php?f=abm00009418.pdf&n=情報関係基礎.pdf 2018/05/12
教科書の実例 日本文教出版「情報の科学」
教科書の実例2
教科書の実例3 他に問題解決の自動化で素数表示など
データ構造 データ型 上記を複数集めた型 整数型 -1,0,1,2,3・・ 論理型 0か1、YesかNo 実数型 固定小数点、浮動小数点 整数型 -1,0,1,2,3・・ 論理型 0か1、YesかNo 実数型 固定小数点、浮動小数点 文字型 上記を複数集めた型 配列型 レコード型 ポインタ型 キーバリュー型 5 9 2 4 16 杉並区善福寺 65.9 12 菅宮恵子 5/7 カード -10000 5/5 ATM201 -20000 吉祥寺 中央線
配列型データの使用例 2145 5897 124 457 54 データの足しこみ(全部足す) A TOTAL INDEX TOTAL = TOTAL + A(0) TOTAL = TOTAL + A(1) TOTAL = TOTAL + A(2) TOTAL = TOTAL + A(3) TOTAL = TOTAL + A(4) TOTAL = TOTAL + A(INDEX)
リスト、二分木 リスト 二分木(木構造) 分岐がmax2本 A B C D F C G A B C D A D I A B C D B E H J
整列のアルゴリズム ここでコンピュータを使わないで実習 整列:ある順番で並べ替えること ソート 基本選択法 基本交換法(バブルソート) 整列:ある順番で並べ替えること ソート 基本選択法 最小(最大)を選んで端に入れ替える 基本交換法(バブルソート) 隣と比較して大きければ入れ替える 基本挿入法 比較して適切な位置にデータを挿入する クイックソート 基準値を選び、左に小さい値、右に大きい値を揃える。これを繰り返す。 シェルソート 適当な間隔で数字を選び、ソート。間隔値が1になるまで-1ずつ 減らしソート。1になったら挿入ソートする。 ここでコンピュータを使わないで実習
探索のアルゴリズム 探索:データを探すこと 線形探索 二分探索 ハッシュ法 順番に比較していく 整列済みデータから真ん中の値を取って比較 データ格納時に工夫。ある数で割って余りを利用。
文字列検索のアルゴリズム 文字列照合 文字列置換 文字列圧縮(データ圧縮) 文字列を探す方法 例 AAAABBCCCCC → A4B2C5 例 AAAABBCCCCC → A4B2C5 ランレングス符号化 例 (41 41 41 41 41 42 43 43 43 43 43 43)16 → (04 41 00 42 05 43)16 平成19年度秋期 情報セキュリティアドニミニストレータ 午前より一部抜粋
ファイル処理のアルゴリズム 単一ファイル 集計(足しこみ) 複数ファイル 併合 複数の分類済みファイルのデータを比較、1ファイルにまとめる。
データベースp74 大量のデータの集まり(データの基地) データベースの種類 関係データベース(SQR型) NoSQR型 表の形でデータが整理されている NoSQR型 例)キーバリュー型データベース 識別キーと1つの値のみで構成される 単純なデータ構造や検索に向く そのため速い
関係データベース SQLでデータ 抽出 請求書 日別売上 顧客別売上 品別売上
用語 DBMS:データベースを管理するソフトウェア スキーマ:構造、関係の定義 クエリ:問い合わせ言語。SQLが代表的 インデックス:検索のためのキー 正規化:データを無駄の無いように表に分解
本日の予定 1.前回の復習 2.情報の科学的な理解(先週の続き) 3.情報科学:アルゴリズムとプログラミングの指導方法 4.本日の課題
本日の課題 授業で例示することができそうなアルゴリズムを考えなさい。 順次・分岐・反復の各処理を使う。 フローチャートは作成しない。 締め切り 5月28日(火) 18:00 メールの本文に記述し、sugamiya@lab.twcu.ac.jpまで