到達目標
数値シミュレーションや、数値計算を行うプログラミングの基礎となる知識の習得と、代表的な数値計算法のプログラムの作成を科目目標とし、次の項目を達成目標とする。
【V-A-7】情報処理:Fortranの文法を理解し、整数型、実数型、文字型などのデータ型を説明でき、データを入力し、算術演算や比較演算を行い条件判断し、結果を出力したり、繰り返し処理と一次元配列、多次元配列を使うプログラムを作成できる。
【Ⅳ-C-3】アルゴリズム:数値計算の方法を理解し、問題の数値解を求めるプログラムを作製できる。スレッド並列化の概念を理解し、並列処理を行うプログラムを作製できる。
【Ⅰ】数学:数値解に含まれる誤差を説明できる。
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
評価項目1
Fortranの文法を理解し、整数型、実数型、文字型などのデータ型を説明でき、データを入力し、算術演算および比較演算を行って条件判断し、結果を出力したり、繰り返し処理と一次元配列、二次元配列を使ったプログラムを作成できる。
| 定期試験の代替の左記項目に関するレポートの設問に対して90%の得点をあげることができる。 | 定期試験の代替の左記項目に関するレポートの設問に対して70%の得点をあげることができる。 | 定期試験の代替の左記項目に関するレポートの設問に対して60%の得点をあげることができない。 |
評価項目2
数値計算の基礎と計算方法を理解し、問題の数値解を求めるプログラムを作製できる。
| 定期試験の代替の左記項目に関するレポートの設問に対して90%の得点をあげることができる。 | 定期試験の代替の左記項目に関するレポートの設問に対して70%の得点をあげることができる。 | 定期試験の代替の左記項目に関するレポートの設問に対して60%の得点をあげることができない。 |
評価項目3
数値解に含まれる誤差を説明できる。
| 定期試験の代替の左記項目に関するレポートの設問に対して90%の得点をあげることができる。 | 定期試験の代替の左記項目に関するレポートの設問に対して70%の得点をあげることができる。 | 定期試験の代替の左記項目に関するレポートの設問に対して60%の得点をあげることができない。 |
評価項目4
スレッド並列化の概念を理解し、並列処理を行うプログラムを作製できる。 | 定期試験の代替の左記項目に関するレポートの設問に対して90%の得点をあげることができる。 | 定期試験の代替の左記項目に関するレポートの設問に対して70%の得点をあげることができる。 | 定期試験の代替の左記項目に関するレポートの設問に対して60%の得点をあげることができない。 |
学科の到達目標項目との関係
教育目標 (1)
説明
閉じる
教育目標 (3)
説明
閉じる
教育方法等
概要:
年間の成績は、全17回の課題レポートの総得点を90%、講義での学習への取り組みの姿勢を10%として評価する。総得点の60%以上で単位を認定する。中間・期末テストは行わない。 居眠り、テキストやノートPC等の忘れ物、は学習への取り組みの姿勢の評価で減点の対象とする。総得点の60%以上で単位を認定する。
授業の進め方・方法:
授業は講義と演習を併用して進める。具体的には、(1)前期に数値シミュレーション向けプログラミング言語Fortranの文法の解説を行い、(2)後期に数値シミュレーションの基礎となる代表的な数値計算法の解説を行う。前期、後期共に、(3)ノートPCでのFortranプログラミング演習を通して、Fortranによる数値計算プログラミングの理解を深める。
注意点:
(JABEE関連共通記述)
・ この科目はJABEE非対応科目である。その他必要事項は各コースで定める。
(各科目個別記述)
・ この科目の主たる関連科目はプログラミングⅠ(2年)、制御工学(4年)、CAE(5年)である。
(モデルコアカリキュラム)
・ 対応するモデルコアカリキュラム(MCC)の学習到達目標、学習内容およびその到達目標を【】内の記号・番号で示す。
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
講義ガイダンス、Fortran概要
|
講義概要、Fortran概要、統合開発環境eclipseの使い方
|
2週 |
Fortranプログラミングの基礎
|
Fortranプログラムの作成法と実行法
|
3週 |
データ型
|
データ型の宣言文、暗黙の型定義
|
4週 |
演算子と式
|
演算子の使い方と優先順位、式の評価方法、並列処理Ⅰ
|
5週 |
数値シミュレーション活用事例
|
第53回GODACセミナー「シミュレーションの未来」の聴講
|
6週 |
条件判断と組み込み関数
|
条件判断、組み込み関数や文関数の宣言法、並列処理Ⅱ
|
7週 |
繰り返し
|
DO文、DO WHILE文による繰り返し、、並列処理Ⅲ
|
8週 |
配列データ(1)、演習(1)
|
1次元配列と配列の演算、並列処理Ⅳ、1.~8.の演習
|
2ndQ |
9週 |
配列データ(2)
|
配列の動的割付けおよび多次元配列、並列処理Ⅴ
|
10週 |
文字列データ
|
文字列データの宣言文と文字関数
|
11週 |
ファイルを用いた入出力
|
入出力文およびファイルを用いた入出力
|
12週 |
副プログラム(1)
|
サブルーチン副プログラムの定義と使い方
|
13週 |
副プログラム(2)
|
関数副プログラムの定義と使い方
|
14週 |
副プログラム(3)
|
内部手続きと副プログラムの再帰呼び出し
|
15週 |
構造型とモジュール
|
構造型の宣言法とモジュールの使い方、並列処理Ⅵ
|
16週 |
|
|
後期 |
3rdQ |
1週 |
数値計算の基礎
|
数値の表現と誤差、数値計算における誤差の発生
|
2週 |
方程式の解(1)
|
Newton-Raphson法、Regula false法による方程式の解法
|
3週 |
方程式の解(2)
|
2分法(Bisection法)と2変数2分法による方程式の解法
|
4週 |
連立1次方程式(1)
|
Gauss法、Gauss-Jordan法の直接解法
|
5週 |
連立1次方程式(2)
|
Gauss-Jordan法の直接解法のプログラミング
|
6週 |
連立1次方程式(3)
|
LU分解法の直接解法のプログラミング
|
7週 |
連立1次方程式(4)
|
Gauss-Seidel法の間接解法のプログラミング
|
8週 |
連立1次方程式(5)
|
連立1次方程式のスレッド並列化プログラミング
|
4thQ |
9週 |
逆行列
|
LU分解法による逆行列解法のプログラミング
|
10週 |
補間法
|
Newtonの補間法のプログラミング
|
11週 |
数値積分
|
NewtonCotes型公式による数値積分法、Romberg積分
|
12週 |
最小2乗法
|
最小2乗法による点集合近似法とプログラム作成
|
13週 |
常微分方程式(1)
|
Runge-Kutta法による1階常微分方程式の解法
|
14週 |
常微分方程式(2)
|
Runge-Kutta法による連立1階常微分方程式の解法
|
15週 |
常微分方程式(3)
|
Runge-Kutta法による連立多階常微分方程式の解法
|
16週 |
|
|
評価割合
| 試験 | 小テスト | レポート | 態度 | | | 合計 |
総合評価割合 | 0 | 0 | 90 | 10 | 0 | 0 | 100 |
基礎的能力 | 0 | 0 | 20 | 0 | 0 | 0 | 20 |
専門的能力 | 0 | 0 | 70 | 0 | 0 | 0 | 70 |
分野横断的能力 | 0 | 0 | 0 | 10 | 0 | 0 | 10 |