到達目標
1. 工学上よく現れる様々な問題を解決するための数学的な背景を理解し,定式化することができる。
2. 定式化した問題をコンピュータで処理するための数値計算の手法(アルゴリズム)を考案できる。
3. C言語やPythonを用いて必要なアルゴリズムを実現するプログラムを作成し,計算結果が求める結果か判断できる。
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
評価項目1 | 工学上よく現れる様々な問題を解決するための数学的な背景を理解し,自ら定式化することができる。 | 数学上の深い意味は理解できなくても,授業中に示された数式等を理解することが出来る。 | 問題を解決するために必要な数学の知識が足らず,数式等の意味が理解できない。 |
評価項目2 | 定式化した問題をコンピュータで処理するためのアルゴリズムを自ら考案できる。 | 教科書や講義ノート等を参考にして,示されたアルゴリズムを理解できる。 | いかなる資料を利用しても,必要なアルゴリズムを組み立てることができない。 |
評価項目3 | C言語やPythonにより必要なアルゴリズムを実現するプログラムを自らの力で作成し,計算結果を判断できる。 | フローチャート(流れ図)が示されればプログラムを作成でき,結果が適切か判断できる。 | フローチャート(流れ図)が示されてもプログラムを作成できず,結果が得られない。 |
学科の到達目標項目との関係
教育方法等
概要:
工学上よく現れると思われる諸問題を,コンピュータを利用して解くための手法を学ぶ。
授業の進め方・方法:
コンピュータを用いて工学上で良く現れる様々な問題を解決するためには,最初に問題の数学的な背景を学んでその問題を定式化し,次に定式化した問題をコンピュータで処理する数値計算の手法を知ることが重要である。
本科目では,最初に工学に関わる問題の解析を通じて問題を解くための定式化の方法(アルゴリズム)を学ぶ。そのアルゴリズムを実現するためには,フローチャート(流れ図)を書くことが是非とも必要である。フローチャートは与える場合が多いが,最終的には自らの力で作成できることが望ましい。学習期間中に与えられた課題について,C言語を用いて作成したソースプログラムのリストおよび解析結果(数値計算結果・Excel等を用いて作成したグラフ)を提出する。
・「サイバーセキュリティ人材育成事業(K-SEC)」により支援された講演会を実施することがある。
注意点:
・数学的に程度の高い理論はあまりふれないが,問題を解くためには,これ迄に学んだ数学の知識とプログラミング技術が必要である。卒業研究やコンピュータ処理を行う高学年の教科において,本科目の知識が必要となる事が多い。
・教育プログラムの学習・教育到達目標の各項目の割合は,A-2,D-1,D-2とする。
・総時間数45時間(自学自習15時間)
・自学自習時間(15時間)ついては,日常の授業(30時間)のための予習復習,レポート課題の解答作成時間,試験のための学習時間を総合したものとする。
・評価については、合計点数が60点以上で単位修得となる。その場合、各到達目標項目の到達レベルが標準以上であること、教育プログラムの到達目標の各項目を満たしたことが認められる。
授業の属性・履修上の区分
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
数値計算概説 誤差の種類 |
数値計算を行う意義が理解できる。 計算機での数値表現方法や計算過程から生じる誤差の種類について説明できる。
|
2週 |
プログラミング環境の整備 |
プログラミング環境を準備する。適切な変数型や、取り扱いについて説明するプログラムを作成できる。
|
3週 |
非線形方程式(1) ニュートン法 |
ニュートン法により f(x)=0 の解を求める方法を説明でき、プログラムが作成できる。
|
4週 |
非線形方程式(2) 二変数のニュートン法 |
ニュートン法により f(x,y)=0の解を求める方法を説明でき、プログラムが作成できる。
|
5週 |
非線形方程式(3) 二分法 |
二分法を用いてf(x)=0 の解を求める方法を説明でき、プログラムが作成できる。
|
6週 |
線形計画法(1) |
線形計画法問題と解法について説明できる
|
7週 |
線形計画法(2) 次週、中間試験を実施する |
線形計画法を解くプログラムを活用する
|
8週 |
試験答案の確認・解説 連立一次方程式(1) |
試験結果を今後の学習に反映できる。 連立一次方程式の解法の考え方を説明できる。
|
2ndQ |
9週 |
連立一次方程式(2) ガウスの消去法その2 |
ガウスの消去法により連立1次方程式を解くプログラムを作成できる。
|
10週 |
連立一次方程式(3) ガウス・ジョルダン法 |
ガウス・ジョルダン法により連立1次方程式を解く方法を説明でき、プログラムが作成できる。
|
11週 |
連立一次方程式(4) ガウス・ザイデル法 |
ガウス・ザイデル法により連立1次方程式を解く方法を説明でき、プログラムが作成できる。
|
12週 |
行列式 |
ガウスの消去法を応用して行列式を計算する方法を説明でき、プログラムが作成できる。
|
13週 |
逆行列(1) |
ガウス・ジョルダン法を応用して逆行列を計算する方法を説明できる。
|
14週 |
逆行列(2) |
ガウス・ジョルダン法を応用して逆行列を計算するプログラムが作成できる。逆行列の計算精度を検証できる。
|
15週 |
逆行列(3) |
ガウス・ジョルダン法を応用して逆行列を計算するプログラムが作成できる。逆行列の計算精度を検証できる。
|
16週 |
期末試験 |
学んだ知識の確認が出来る。
|
後期 |
3rdQ |
1週 |
情報セキュリティまたは情報通信ネットワークに関する講演会 |
情報セキュリティまたは情報通信ネットワークの実務(現場)での取組状況・対策例を説明できる。 【講演会と講習会は,基本的に連続した4時間で実施する】
|
2週 |
情報セキュリティまたは情報通信ネットワークに関するハンズオン講習会 |
情報セキュリティまたは情報通信ネットワークの実務(現場)での取組状況・対策例を説明できる。
|
3週 |
Python(1) 基礎 |
Pythonにおける変数や文字列の使い方を説明できる。文字列を用いたプログラムを作成できる。
|
4週 |
Python(2) リスト処理 |
Pythonにおけるリストの使い方を説明できる。リストを用いたプログラムを作成できる。
|
5週 |
Python(3) 条件分岐 |
Pythonにおける条件分岐の使い方を説明できる。条件分岐を用いたプログラムを作成できる。
|
6週 |
Python(4) ループ |
Pythonにおけるループの使い方を説明できる。ループを用いたプログラムを作成できる。
|
7週 |
中間試験 |
|
8週 |
Python(7) 関数1 |
Pythonにおける関数の使い方を説明できる。関数を用いたプログラムを作成できる。
|
4thQ |
9週 |
Python(8) 関数2 |
関数を用いたプログラムを作成できる。
|
10週 |
Python(9) クラス1 |
Pythonにおけるクラスの使い方を説明できる。クラスを用いたプログラムを作成できる。
|
11週 |
Python(10) クラス2 |
クラスを用いたプログラムを作成できる。
|
12週 |
台形則とシンプソン則 |
台形則とシンプソン則のプログラムを作成し,分割数や計算方法の違いに起因する計算精度を比較・検討することができる。
|
13週 |
常微分方程式(1) 1階常微分方程式 |
オイラー法とルンゲ・クッタ法を用いて,1階常微分方程式の近似解を求めるプログラムを作成することができる。
|
14週 |
常微分方程式(2) 1階常微分方程式 |
オイラー法とルンゲ・クッタ法の比較から計算精度を検討することができる。
|
15週 |
常微分方程式(3) 高階常微分方程式 |
連立のルンゲ・クッタ法により、高階常微分方程式の近似解を求めるプログラムを作成することができる。
|
16週 |
学年末試験 |
学んだ知識の確認が出来る。
|
モデルコアカリキュラムの学習内容と到達目標
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の専門工学 | 情報系分野 | 情報数学・情報理論 | コンピュータ上での数値の表現方法が誤差に関係することを説明できる。 | 3 | |
コンピュータ上で数値計算を行う際に発生する誤差の影響を説明できる。 | 3 | |
コンピュータ向けの主要な数値計算アルゴリズムの概要や特徴を説明できる。 | 3 | |
評価割合
| 試験 | 課題 | 相互評価 | 態度 | ポートフォリオ | その他 | 合計 |
総合評価割合 | 70 | 30 | 0 | 0 | 0 | 0 | 100 |
基礎的能力 | 30 | 10 | 0 | 0 | 0 | 0 | 40 |
専門的能力 | 40 | 20 | 0 | 0 | 0 | 0 | 60 |
分野横断的能力 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |