到達目標
(科目コード: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ならコードがどうあるべきかということにも適宜言及するので、どういうコードを書けば他人に分かってもらえるかを意識して欲しい。
授業の属性・履修上の区分
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
後期 |
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 | |
評価割合
| レポート | 小テスト | 合計 |
総合評価割合 | 60 | 40 | 100 |
基礎的能力 | 20 | 40 | 60 |
専門的能力 | 20 | 0 | 20 |
分野横断的能力 | 20 | 0 | 20 |