プログラミングII

科目基礎情報

学校 沖縄工業高等専門学校 開講年度 平成30年度 (2018年度)
授業科目 プログラミングII
科目番号 3108 科目区分 専門 / 選択
授業形態 授業 単位の種別と単位数 履修科目: 2
開設学科 機械システム工学科 対象学年 3
開設期 通年 週時間数 0
教科書/教材 Fortran90/95プログラミング(培風館)
担当教員 鳥羽 弘康

到達目標

数値シミュレーションや、数値計算を行うプログラミングの基礎となる知識の習得と、代表的な数値計算法のプログラムの作成を科目目標とし、次の項目を達成目標とする。
【V-A-7】情報処理:Fortranの文法を理解し、整数型、実数型、文字型などのデータ型を説明でき、データを入力し、算術演算や比較演算を行い条件判断し、結果を出力したり、繰り返し処理と一次元配列、多次元配列を使うプログラムを作成できる。
【Ⅳ-C-3】アルゴリズム:数値計算の方法を理解し、問題の数値解を求めるプログラムを作製できる。スレッド並列化の概念を理解し、並列処理を行うプログラムを作製できる。
【Ⅰ】数学:数値解に含まれる誤差を説明できる。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1 Fortranの文法を理解し、整数型、実数型、文字型などのデータ型を説明でき、データを入力し、算術演算および比較演算を行って条件判断し、結果を出力したり、繰り返し処理と一次元配列、二次元配列を使ったプログラムを作成できる。 定期試験の代替の左記項目に関するレポートの設問に対して90%の得点をあげることができる。定期試験の代替の左記項目に関するレポートの設問に対して70%の得点をあげることができる。定期試験の代替の左記項目に関するレポートの設問に対して60%の得点をあげることができない。
評価項目2 数値計算の基礎と計算方法を理解し、問題の数値解を求めるプログラムを作製できる。 定期試験の代替の左記項目に関するレポートの設問に対して90%の得点をあげることができる。定期試験の代替の左記項目に関するレポートの設問に対して70%の得点をあげることができる。定期試験の代替の左記項目に関するレポートの設問に対して60%の得点をあげることができない。
評価項目3 数値解に含まれる誤差を説明できる。 定期試験の代替の左記項目に関するレポートの設問に対して90%の得点をあげることができる。定期試験の代替の左記項目に関するレポートの設問に対して70%の得点をあげることができる。定期試験の代替の左記項目に関するレポートの設問に対して60%の得点をあげることができない。
評価項目4 スレッド並列化の概念を理解し、並列処理を行うプログラムを作製できる。 定期試験の代替の左記項目に関するレポートの設問に対して90%の得点をあげることができる。定期試験の代替の左記項目に関するレポートの設問に対して70%の得点をあげることができる。定期試験の代替の左記項目に関するレポートの設問に対して60%の得点をあげることができない。

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

教育方法等

概要:
年間の成績は、全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週

評価割合

試験小テストレポート態度合計
総合評価割合00901000100
基礎的能力002000020
専門的能力007000070
分野横断的能力000100010