到達目標
(科目コード:41510、英語名:Inorganic Materials Engineering)
この科目は長岡高専の教育目標の(D)と主体的に関わる。この科目の到達目標と、各到達目標と長岡高専の学習・教育到達目標との関連を、到達目標、評価の重み、学習・教育目標との関連の順に示す。①工学的問題に対する数値計算の重要性を理解し、適切な方法・実行環境により数値計算を実行することができる(d1)20%。②表計算ソフトウェアを用いた数値計算により、最適値問題および常微分方程式の初期値問題を解くことができる。(d1)20%。③Pythonの基本的な文法を理解し、最適値問題および常微分方程式の初期値問題を解くことができ、さらに繰り返し処理を実行することができる。(d2)20%。④回分反応器の設計において、表計算ソフトまたはPythonにより設計方程式を解くことができる。(d1)40%。
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 最低限の到達レベルの目安 | 未到達レベルの目安 |
評価項目1 | 数値計算において適切な手法を選択することができ、繰り返し処理や誤差の適切な取り扱いができる。 | 数値計算において適切な手法を選択することができる。 | 基本的な数値計算手法を表計算ソフトで実行することができる。 | 左記に達していない。 |
評価項目2 | 表計算ソフトを用いた最適値計算および常微分方程式の初期値問題を解くことができる。 | 表計算ソフトを用いた最適値計算を実行することができる。 | 表計算ソフトを用いたデータの取り扱いができる。 | 左記に達していない。 |
評価項目3 | Python実行環境により、最適値計算、常微分方程式の初期値問題等を解くことができ、繰り返し処理ができる。 | Python実行環境により、最適値計算および常微分方程式の初期値問題を解くことができる。 | Pythonの基本的な文法を理解することができる。 | 左記に達していない。 |
評価項目4 | Python実行環境および表計算ソフトにおいて、反応器の設計方程式を解き、反応器設計ができる。 | Python実行環境または表計算ソフトのどちらかにおいて、反応器の設計方程式を解くことができる。 | 反応器の設計方程式を熱・物質収支から導くことができる。 | 左記に達していない。 |
学科の到達目標項目との関係
教育方法等
概要:
工学の基本的な問題について、Pythonまたは表計算ソフトにより数値計算手法を用いて、基本的な工学設計について学習する。
○ 関連する科目:情報処理Ⅰ(2学年後期履修)、化学システム制御(5学年前期履修)
授業の進め方・方法:
授業資料に基づいて、工学的問題をPythonまたは表計算ソフトにより計算する方法について講義を行うが、実際に自分でコーディングしたり表計算シートを組むことが重要である。表計算ソフトにより、いわゆる「ホワイトボックス」として計算問題を解くため、必ず表計算ソフトのセルを1つずつ吟味して、どのように計算が進行しているのか理解してほしい。また、数値計算の例題として反応プロセスの設計方程式問題を解き、実際の設計または研究の現場で数値計算を使用するつもりで学習してほしい。
注意点:
本講義で解説するコードを「写経」してもプログラムを動かすことができるが、実行環境や実際の問題で使用するパラメータに対して必ずしも適切に動作するわけではない。プログラムをどのように構築するか解説するが、自分でPythonの文法や数値計算の手法について積極的に調査し、理解することが重要である。また、本講義で解説するプログラムを適宜書き換えながら、動作確認し(単体テスト)、プログラムの特性を理解することが重要である。
授業の属性・履修上の区分
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
後期 |
3rdQ |
1週 |
Pythonの基本文法(1) |
データ型、Pythonにおける四則演算について解説する。
|
2週 |
Pythonの基本文法(2) |
標準ライブラリについて解説する。また、化学工学計算におけるリスト、タプルの実用的な使い方についても解説する。
|
3週 |
If文による条件分岐 |
If文の構文およびコード構造について解説する。
|
4週 |
for文・while文による繰り返し処理 |
for文、while文の構文について解説する。また、for文(while文)とif文を組み合わせたコードについて解説する。
|
5週 |
関数の使い方 |
関数の定義について解説する。
|
6週 |
各物理量を計算する関数のコーディング |
平均定圧モル熱容量、反応速度など、反応工学で利用する関数を定義する方法を解説する。
|
7週 |
NumPy・SciPyの基礎 |
NumPyおよびSciPyについて解説する。また、ndarrayの基本的な使い方について解説する。
|
8週 |
微分方程式の数値解法(1) |
微分方程式の数値解法について、基本的な概念を解説する。
|
4thQ |
9週 |
微分方程式の数値解法(2) |
オイラー法およびRunge-Kutta法について解説する。
|
10週 |
回分反応器の設計方法(1) |
回分反応器の数理モデルについて、Excelシミュレータを用いて作成する。
|
11週 |
回分反応器の設計方法(2) |
回分反応器の数理モデルを用いて、オイラー法を使ったPythonシミュレータを作成する。
|
12週 |
回分反応器の設計方法(3) |
SciPyの常微分方程式ソルバーを使ったPythonシミュレータを作成する。
|
13週 |
Matplotlibによるグラフ作成方法 |
Matplotlibの基本的な使い方について解説する。
|
14週 |
Pythonによる反応器シミュレーション技術の解説 |
連続攪拌槽および管型反応器の数理モデルおよびPythonシミュレータについて解説する。
|
15週 |
Pythonにおける機械学習の紹介 |
Pythonにおける機械学習ライブラリScikit learnを紹介する。
|
16週 |
これからPythonistaになるために |
本授業の課題について解説する。また、これからPythonプログラミングの学習を継続するためのアドバイスを与える。
|
モデルコアカリキュラムの学習内容と到達目標
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
基礎的能力 | 工学基礎 | 情報リテラシー | 情報リテラシー | 情報を適切に収集・処理・発信するための基礎的な知識を活用できる。 | 3 | |
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。 | 3 | |
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。 | 3 | |
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。 | 3 | |
評価割合
| レポート | 合計 |
総合評価割合 | 100 | 100 |
基礎的能力 | 60 | 60 |
専門的能力 | 20 | 20 |
分野横断的能力 | 20 | 20 |