情報処理Ⅱ

科目基礎情報

学校 長岡工業高等専門学校 開講年度 令和04年度 (2022年度)
授業科目 情報処理Ⅱ
科目番号 0083 科目区分 専門 / 必修
授業形態 講義 単位の種別と単位数 履修単位: 1
開設学科 物質工学科 対象学年 4
開設期 後期 週時間数 2
教科書/教材 教科書:Bill Lubanovic・入門Python3(オライリージャパン)、適宜必要な資料を配布する。
担当教員 熱海 良輔

到達目標

(科目コード:41510、英語名:Date ProcessingⅡ)
この科目は長岡高専の教育目標の(C)と主体的に関わる。この科目の到達目標と、各到達目標と長岡高専の学習・教育到達目標との関連を、到達目標、評価の重み、学習・教育目標との関連の順に示す。
①C1(60%):Pythonにより科学技術計算のためのコードを適切に書き、数理モデル・工学モデルの数値解を適切に求めることができる。 ②C2(40%):Scikit-learn、SciPy、NumPy、Pandasなど科学技術計算・機械学習に必要なパッケージを使うことができる。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安最低限の到達レベルの目安未到達レベルの目安
評価項目1仕様に沿った形でPythonのコードが記述できる。Pythonのコードが記述できる。Pythonの基本的な文法について理解している。左記に達していない。
評価項目2数値計算方法について理解し、数理モデルに基づいて常微分方程式の数値解を求めることができる。数理モデルに基づいて数値計算ができる。数理モデルを理解できる。左記に達していない。
評価項目3適切な前処理を行い、適切な機械学習モデルで機械学習のコードを書ける。データの前処理方法および機械学習のコードが書ける。機械学習の大まかな流れについて理解している。左記に達していない。

学科の到達目標項目との関係

教育方法等

概要:
Pythonの基本的なコーディングについて学び、数理モデル(工学モデル)についてPythonにより数値解を求めるコードを学習する。また、NumPy、Pandasによるデータ前処理方法を習得し、Scikit-learnを用いた機械学習のコーディングができる。
授業の進め方・方法:
教科書および授業資料に基づいて講義を進めていく。指定されたプログラミング課題により評価する。
注意点:
講義を聴いているだけでPythonの基本的な文法が分かるとか、初学者が短期間でコーディングできるようになるということは有り得ない。プログラミングの学習では、何より実際に手を動かしてコードを書くことが重要である。また、エラーは必ず出る。エラーが出ても修正して、最終的に適切に動作するコードが書ければそれでよい。エラーコードを読み取り、一つずつ修正することが重要である。
また、プログラムは動けば良いというものでもない。Readableならコードがどうあるべきかということにも適宜言及するので、どういうコードを書けば他人に分かってもらえるかを意識して欲しい。

授業の属性・履修上の区分

アクティブラーニング
ICT 利用
遠隔授業対応
実務経験のある教員による授業

授業計画

授業内容 週ごとの到達目標
後期
3rdQ
1週 Pythonの基本文法(1)
四則演算方法および数学関数用モジュールによる簡単な計算を習得する。
2週 Pythonの基本文法(2)
データの型について理解し、int型とfloat型において2進数でどのように数が表されているか記述できる。また、丸め誤差について見積もることができる。
3週 制御構造(1) if文について理解し、条件式を適切にコーディングし、指定された条件で正しいコードを実行できる。
4週 制御構造(2) while文およびfor文について理解し、指定された条件範囲・回数で繰り返し処理を行うコードが書ける。
5週 Matplotlibによるグラフの描画 NumPy、SciPy、Matplotlibなど種々のモジュールについて紹介する。また、Matplotlibでグラフが描画できる。
6週 関数 関数について理解し、長いコードを関数内に適切に記述できる。
7週 NumPy 様々なndarrayの操作方法について理解し、コーディングできる。
8週 常微分方程式の数値解法 常微分方程式について、Euler法、修正Euler法、Runge-Kutta法について理解し、常微分方程式の数値解を計算するコードが書ける。
4thQ
9週 SciPy SciPyパッケージについて紹介する。scypi.integrate.solve_ivpの仕様について理解し、常微分方程式の数値解を求めるソルバーを使うことができる。
10週 種々の数理モデルにおける数値解(1) 感染症や生存競争における数理モデルを紹介する。数理モデルに基づいて、数値解を導くコードが記述できる。
11週 種々の数理モデルにおける数値解(2) 化学反応に関する数理モデルを説明する。速度式・反応器の設計方程式に基づいて、数値解を導くコードが記述できる。
12週 NumPy、Pandasによるデータ処理方法 NumPy、Pandasによるデータ処理方法について説明する。データを適切に処理するコードが記述できる。
13週 Scikit-learによる機械学習(1)
k最近傍法に関して説明する。データの前処理およびk最近傍法による機械学習のコードが適切に記述できる。
14週 Scikit-learによる機械学習(2)
サポートベクターマシンに関して説明する。データの前処理およびサポートベクターマシンによる機械学習のコードが適切に記述できる。
15週 Scikit-learによる機械学習(3)
多層パーセプトロンに関して説明する。データの前処理および多層パーセプトロンによる機械学習のコードが適切に記述できる。
16週 総合演習 数理モデルの数値解法について俯瞰する。

モデルコアカリキュラムの学習内容と到達目標

分類分野学習内容学習内容の到達目標到達レベル授業週
基礎的能力工学基礎情報リテラシー情報リテラシー論理演算と進数変換の仕組みを用いて基本的な演算ができる。3
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。3
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。3
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。3

評価割合

レポート小テスト合計
総合評価割合6040100
基礎的能力204060
専門的能力20020
分野横断的能力20020