計算工学Ⅱ

科目基礎情報

学校 富山高等専門学校 開講年度 令和05年度 (2023年度)
授業科目 計算工学Ⅱ
科目番号 0143 科目区分 専門 / 選択
授業形態 授業 単位の種別と単位数 履修単位: 1
開設学科 電子情報工学科 対象学年 5
開設期 後期 週時間数 2
教科書/教材 教科書:幸谷智紀、Python数値計算プログラミング(講談社)
参考書籍:堀之内、酒井、榎園、Cによる数値計算法入門第2版(森北出版)
担当教員 古山 彰一

到達目標

連立一次方程式の解法、行列の固有値・固有ベクトルの計算に必要なアルゴリズムの理解(c3)
数値計算に必要なプログラミング技術の習得(d)
JABEEの評価基準に達するには60点以上が必要

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
補間と最小二乗法、微分方程式の解法基礎理論を理解し説明できつつ、実際に計算もできる。学んだ解法を用いて計算ができる。学んだ解法を用いて計算を行う事ができない。
補間と最小二乗法、微分方程式の解法の理論解法の理論を理解し、それをコンピュータプログラムで表現でき計算できる。解法のアルゴリズムを理解できる。解法のアルゴリズムが理解できない。
補間と最小二乗法、微分方程式の解法の理論の実装実際にコンピュータ上で解法を用いた計算ができ、その結果の妥当性を理論を理解したうえで議論できる。実際にコンピュータ上で解法を用いた計算ができ、その結果の妥当性をおおよそ示すことができる。実際にコンピュータ上で解法を用いた計算はできるが結果の妥当性は議論できない。

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

教育方法等

概要:
コンピュータによる数値計算は、自然科学、工学、社会科学、その他の幅広い分野で使用されている。この科目では、数値計算に必要な様々なアルゴリズムについて学習する(c3)。 また、C言語による数値計算プログラムの作成方法を習得する(d)。
授業の進め方・方法:
数学的な理論よりも具体的な計算方法に重点をおいて理解を深める。
事前に行う準備学習:前回の講義の復習を行ってから授業に臨むこと
(授業外学習・事後)授業内容に関する課題を解く。
評価が60点に満たない者は、定期試験を受験していることを条件に、願い出により追認試験を受けることができる。追認試験の評価基準は本試験に準ずる。追認試験で単位修得が認められた者は、その評価を60点とする。
注意点:
期末試験(70%)、プログラミング演習とレポート(30%)で総合評価

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

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

授業計画

授業内容 週ごとの到達目標
後期
3rdQ
1週 非線形方程式の解法 方程式の分類、縮小写像、1次元1変数方程式に対するニュートン法を理解する。
2週 非線形方程式の解法 n次元n変数方程式に対するニュートン法を理解する。
3週 非線形方程式の解法 代数方程式の解導出、コンパニオン行列の固有値問題として代数方程式を解く方法を理解する。
4週 補間と最小二乗法 補間と最小二乗法、連立一次方程式によるn-1次補間多項式の導出、を理解する。
5週 補間と最小二乗法 ラグランジュ補間、ニュートン補間、を理解する。
6週 補間と最小二乗法 最小二乗法、自然な3時スプライン補間を理解する。
7週 関数の微分と積分 微分と差分商、高次の中央差分商による数値微分、自動微分について理解する。
8週 関数の微分と積分 定積分を求めるSciPyのintegrateパッケージの使い方、ニュートン・コーツ型積分公式、を理解する。
4thQ
9週 関数の微分と積分 ガウス型積分公式、を理解する。
10週 常微分方程式の数値解法 常微分方程式、初期問題とリプシッツ条件、を理解する。
11週 常微分方程式の数値解法 差分からの導出(オイラー法、中点法、古典的ルンゲクッタ法)、一般のルンゲクッタ法、陽的・陰的ルンゲクッタ法の比較、を理解する。
12週 常微分方程式の数値解法 2階線形常微分方程式の境界値問題、を理解する。
13週 偏微分方程式の数値解法 偏微分方程式の分類、差分法による偏微分方程式(波動方程式、熱伝導方程式)の数値解導出、を理解する。
14週 偏微分方程式の数値解法 差分法による偏微分方程式(2次元ポアソン方程式)の数値解導出、を理解する。
15週 期末試験 期末試験
16週 期末試験の解答 試験返却

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

分類分野学習内容学習内容の到達目標到達レベル授業週
基礎的能力工学基礎情報リテラシー情報リテラシー与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。4後1,後2,後3,後4,後5,後6,後7,後8,後9,後10,後11,後12
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。4後1,後3,後4,後5,後6,後7,後8
専門的能力分野別の専門工学情報系分野プログラミング代入や演算子の概念を理解し、式を記述できる。4後1,後5,後6,後7,後8
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。4後1,後2,後5,後6,後7,後8
制御構造の概念を理解し、条件分岐を記述できる。4後1,後5,後6,後7,後8,後9,後10,後11,後12
制御構造の概念を理解し、反復処理を記述できる。4後1,後3,後5,後6,後7,後8,後9,後10,後11,後12
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。4後1,後2,後3,後4,後5,後6,後7,後8,後9,後10,後11,後12
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。4後1,後3,後4,後5,後6,後7,後8
要求仕様に従って、いずれかの手法により動作するプログラムを設計することができる。4後1,後3,後4,後5,後6,後7,後8
要求仕様に従って、いずれかの手法により動作するプログラムを実装することができる。4後1,後3,後4,後5,後6,後7,後8,後9,後10,後11,後12
ソフトウェアアルゴリズムの概念を説明できる。4後1,後2,後3,後4
与えられたアルゴリズムが問題を解決していく過程を説明できる。4後1,後3,後4,後9,後10,後11,後12,後13,後14
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。4後1,後3,後4
整列、探索など、基本的なアルゴリズムについて説明できる。4後1,後3
時間計算量によってアルゴリズムを比較・評価できることを説明できる。4後4,後5,後6,後7,後8,後15,後16
領域計算量などによってアルゴリズムを比較・評価できることを説明できる。4後4,後5,後6,後7,後8,後15,後16
コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。4後1,後2
同一の問題に対し、選択したデータ構造によってアルゴリズムが変化しうることを説明できる。4後1,後9
リスト構造、スタック、キュー、木構造などの基本的なデータ構造の概念と操作を説明できる。4後5,後6,後7,後8
リスト構造、スタック、キュー、木構造などの基本的なデータ構造を実装することができる。4後5,後6,後7,後8
ソースプログラムを解析することにより、計算量等のさまざまな観点から評価できる。4後3,後4,後5,後6,後7,後8,後15,後16
同じ問題を解決する複数のプログラムを計算量等の観点から比較できる。4後3,後4,後5,後6,後7,後8,後15,後16

評価割合

試験発表相互評価態度ポートフォリオその他合計
総合評価割合70300000100
基礎的能力350000035
専門的能力3530000065
分野横断的能力0000000