概要:
数値計算の代表的なアルゴリズムについて学習する.
今までに学んだプログラミング技術をもとにして,多くの課題をこなすことで,より実践的な問題解決能力,プログラミング能力を身に付ける.
Java言語を通してオブジェクト指向によるプログラミング手法の基本を学ぶ.
授業の進め方・方法:
原則として,毎回の授業で課題の説明を行い,残りの時間はプログラムを作成する演習時間とする.ただし,数値計算アルゴリズムやアルゴリズムの習得に関わる周辺知識に関する理解度の確認や実行結果の正しさを確認するため,一部の課題ではプログラムの実装に加えてレポートの提出を求める.
注意点:
原則として授業の後半でJavaによるプログラミング演習を行う.課題が授業時間内に終わらないことも予想されるので,自宅にプログラム開発環境を構築することが望ましい.
|
|
週 |
授業内容 |
週ごとの到達目標 |
後期 |
3rdQ |
1週 |
ガイダンス Java入門(1) オブジェクト指向プログラミングとは |
オブジェクト指向プログラミングの基本を理解し、簡単なJavaプログラムを作成できる
|
2週 |
Java入門(1)
|
オブジェクト指向プログラミングの基本を理解し、簡単なJavaプログラムを作成できる
|
3週 |
Java入門(2) メソッドのオーバーロード ファイル入出力 |
メソッドのオーバーロードの概念を理解し、ファイル入出力機能を活用したプログラムを作成できる
|
4週 |
行列演算(1) |
行列の基本演算を実現するプログラムを作成できる
|
5週 |
行列演算(2) |
行列の転置処理、ベクトルの回転処理について理解し、これらを実現するプログラムを作成できる
|
6週 |
行列演算(3) 連立方程式の解法(1) |
掃出し法のアルゴリズムを理解し、当該アルゴリズムを実装できる
|
7週 |
連立方程式の解法(2) |
ガウスの消去法のアルゴリズムを理解し、当該アルゴリズムを実装できる
|
8週 |
連立方程式の解法(3) |
ガウスの消去法におけるピボット選択処理を理解し、当該処理を実装できる
|
4thQ |
9週 |
非線形方程式の解法(1) |
非線形方程式の反復解法の概要を理解し、その一つである線形反復法のアルゴリズムを理解した上で、当該アルゴリズムを実装できる
|
10週 |
非線形方程式の解法(2) |
二分法のアルゴリズムを理解し、当該アルゴリズムを実装できる
|
11週 |
非線形方程式の解法(3) |
はさみうち法のアルゴリズムを理解し、当該アルゴリズムを実装できる
|
12週 |
非線形方程式の解法(4) |
ニュートン法のアルゴリズムを理解し、当該アルゴリズムを実装できる
|
13週 |
組合せ最適化問題の解法 |
組合せ最適化問題の一つであるTSPを対象に、当該問題の準最適解を求めるプログラムを実装できる
|
14週 |
課題の総まとめ |
後期これまで実施した課題のうち、未完成のものを完成させる
|
15週 |
定期試験 |
|
16週 |
|
|
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の専門工学 | 情報系 | プログラミング | 変数とデータ型の概念を説明できる。 | 3 | 後1,後2 |
代入や演算子の概念を理解し、式を記述できる。 | 3 | 後1,後2,後3 |
制御構造の概念を理解し、条件分岐や反復処理を記述できる。 | 3 | 後1,後2 |
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。 | 3 | 後1,後2,後3 |
与えられた簡単な問題に対して、それを解決するためのソースプログラムを記述できる。 | 3 | 後1,後2 |
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。 | 3 | 後1,後2 |
主要な言語処理プロセッサの種類と特徴を説明できる。 | 2 | 後1 |
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。 | 1 | 後2 |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。 | 1 | 後4 |
ソフトウェア | アルゴリズムの概念を説明できる。 | 3 | 後6,後7,後8,後9,後10,後11,後12,後13 |
与えられたアルゴリズムが問題を解決していく過程を説明できる。 | 3 | 後6,後7,後8,後9,後10,後11,後12,後13 |
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを理解している。 | 3 | 後4,後6,後7,後8,後9,後10,後11,後12 |
時間計算量や領域計算量などによってアルゴリズムを比較・評価できることを理解している。 | 2 | 後6,後9 |
コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを理解している。 | 3 | 後1,後6,後7,後8,後9,後10,後11,後12 |
同一の問題に対し、選択したデータ構造によってアルゴリズムが変化しうることを理解している。 | 1 | 後4,後6,後7,後8,後9,後10,後11,後12,後13 |
情報数学・情報理論 | コンピュータ上での数値の表現方法が誤差に関係することを理解している。 | 2 | 後6,後7,後8 |
コンピュータ上で数値計算を行う際に発生する誤差の影響を理解している。 | 2 | 後6,後7,後8 |
コンピュータ向けの主要な数値計算アルゴリズムの概要や特徴を説明できる。 | 3 | 後6,後7,後8,後9,後10,後11,後12 |
その他の学習内容 | 少なくとも一つのメールツールとWebブラウザを使って、メールの送受信とWebブラウジングを行うことができる。 | 3 | 後5,後9,後11,後13 |