プログラミング応用Ⅱ

科目基礎情報

学校 仙台高等専門学校 開講年度 2017
授業科目 プログラミング応用Ⅱ
科目番号 0294 科目区分 専門 / 必修
授業形態 授業 単位の種別と単位数 履修単位: 1
開設学科 知能エレクトロニクス工学科 対象学年 4
開設期 前期 週時間数 2
教科書/教材 教員作成教材,ザ・数値計算リテラシ(戸川隼人・サイエンス社)
担当教員 佐久間 実緒,園田 潤

到達目標

コンピュータ上で数値を表現したり計算したりする際に発生する誤差が処理結果に悪影響を与えることを理解していること。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1各種数値計算手法の原理を理解し,誤差と計算量を考慮したプログラムが一人で書ける。各種数値計算手法の原理を理解し,誤差と計算量を考慮したプログラムが教員の補助などがあれば書ける。各種数値計算手法の原理を理解し,誤差と計算量を考慮したプログラムが一人で書けない。
評価項目2
評価項目3

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

教育方法等

概要:
 コンピュータを用いて数値計算を行なう場合に注意しなくてはならない誤差と限界について学ぶ。続いて、ニュートン法による非線形方程式の解法,矩形近似・台形近似・二次曲線近似(シンプソンの公式)等による数値積分,最小二乗法による関数の近似,モンテカルロシミュレーション等について,講義と実習により学習する。ソフトウェアを設計し実現する際の基礎技術を,数値計算のためのプログラミング実習を通して身に付けることを目標とする。
授業の進め方・方法:
本科目は,コンピュータリテラシ,プログラミング基礎,プログラミング応用Iと関連する。
・既に学習したLinuxの基本操作やC言語の基礎は,習得していることを前提に講義を進める。
・授業は講義と演習からなり,講義後に演習問題(レポートにまとめて提出)を課す。
・レポートの提出期限は厳守すること。提出期限を過ぎて提出されたレポートは評価対象とせず0点とする。なお,未提出レポートがある場合には単位認定しない(不合格)ので注意すること。
注意点:
・「数値計算法」戸川隼人著(コロナ社)
・「C 言語による数値計算入門」皆本晃弥著(サイエンス社)
・「数値計算の常識」伊理正夫・藤野和建著(共立出版)など

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 「0. ガイダンス」,「1. 数値計算における誤差」(講義と演習) ・浮動小数点数(IEEE 754) による数の表現を理解できる。
・丸め誤差,打ち切り誤差,アンダーフロー,オーバーフローなどの数値計算における誤差を理解でき,誤差の発生原因とその対処を考えることができる。
2週 「1. 数値計算における誤差」(演習) 同上
3週 「1. 数値計算における誤差」(演習) 同上
4週 「2. 数値微分と数値積分」(講義と演習) ・数値微分を計算でき,打ち切り誤差と丸め誤差の特性や桁落ちによる計算精度低下を理解できる。
・台形公式やシンプソンの公式による数値積分を計算でき,その精度を理解できる。
5週 「2. 数値微分と数値積分」(演習) 同上
6週 「2. 数値微分と数値積分」(演習) 同上
7週 中間試験
8週 「3. 非線形方程式と関数近似」(講義と演習) ・線形補間,多項式補間,最小二乗法による関数近似の解法を理解し,実際に計算できる。
・二分法やニュートン法による非線形方程式の解法を理解し,実際に計算できる。
2ndQ
9週 「3. 非線形方程式と関数近似」(演習) 同上
10週 「3. 非線形方程式と関数近似」(演習) 同上
11週 「4. 連立方程式と微分方程式の数値解法」(講義と演習) ・直接解法(ガウスの消去法)や反復解法(ヤコビ法)による連立方程式の解法を理解し,実際に計算できる。
・オイラー法やルンゲ・クッタ法による微分方程式の解法を理解し,実際に計算できる。
12週 「4. 連立方程式と微分方程式の数値解法」(演習) 同上
13週 「4. 連立方程式と微分方程式の数値解法」(演習) 同上
14週 「5. 偏微分方程式の差分解法と確率論的数値計算」(講義と演習) ・偏微分方程式の差分法による解法を理解し,実際に計算できる。
・モンテカルロ法の原理を理解し,実際に計算できる。
15週 期末試験
16週 答案返却・解説,「5. 偏微分方程式の差分解法と確率論的数値計算」(演習) ・偏微分方程式の差分法による解法を理解し,実際に計算できる。
・モンテカルロ法の原理を理解し,実際に計算できる。

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

分類分野学習内容学習内容の到達目標到達レベル授業週

評価割合

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