数値計算法その他の基本アルゴリズムおよびそれを用いた問題解決能力を身につけるとともに,実践的なプログラミング技術を身につける.以下に具体的な学習・教育目標を示す.
① 数値計算のアルゴリズムを理解しプログラミング技術を身につける
② ソート・サーチのアルゴリズムを理解しプログラミング技術を身につける
③ 再帰のアルゴリズムを理解しプログラミング技術を身につける
④ データ構造のアルゴリズムを理解しプログラミング技術を身につける
⑤ 木のアルゴリズムを理解しプログラミング技術を身につける
⑥ グラフのアルゴリズムを理解しプログラミング技術を身につける
概要:
数値計算法その他の基本アルゴリズムおよびそれを用いた問題解決能力を身につけるとともに,実践的なプログラミング技術を身につける
授業の進め方・方法:
基本アルゴリズム学習は教科書に沿った説明及び演習を行う.
応用プログラムの作成は各自が計画を立てて自主的に行う.
英語導入計画:Technical terms
注意点:
C言語の知識が前提となるので,事前に理解を深めておく必要がある.
学習・教育目標:(D-1)30%、(E)70%
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
アルゴリズム入門(ALのレベル:C) |
初歩的なアルゴリズムの理解とプログラミング (教室外学修)アルゴリズムの課題プログラミング
|
2週 |
数値計算(数値積分)(ALのレベル:C) |
数値積分の理解とプログラミング (教室外学修)数値積分の課題プログラミング
|
3週 |
数値計算(数値積分)(ALのレベル:C) |
数値積分の理解とプログラミング (教室外学修)数値積分の課題プログラミング
|
4週 |
数値計算(テイラー展開)(ALのレベル:C) |
テイラー展開の理解とプログラミング (教室外学修)テイラー展開の課題プログラミング
|
5週 |
数値計算(非線形方程式の解法)(ALのレベル:C) |
非線型方程式の解法の理解とプログラミング (教室外学修)非線型方程式の解法の課題プログラミング
|
6週 |
数値計算(連立方程式の解法)(ALのレベル:C) |
連立方程式の解法の理解とプログラミング (教室外学修)連立方程式の解法の課題プログラミング
|
7週 |
数値計算(連立方程式の解法)(ALのレベル:C) |
連立方程式の解法の理解とプログラミング (教室外学修)連立方程式の解法の課題プログラミング
|
8週 |
ソートとサーチ(基本ソート)(ALのレベル:C) |
ソートの理解とプログラミング (教室外学修)ソートの課題プログラミング
|
2ndQ |
9週 |
ソートとサーチ(シェルソート)(ALのレベル:C) |
ソートの理解とプログラミング (教室外学修)ソートの課題プログラミング
|
10週 |
ソートとサーチ(パターンマッチング)(ALのレベル:C) |
サーチの理解とプログラミング (教室外学修)サーチの課題プログラミング
|
11週 |
再帰(ハノイの塔)(ALのレベル:C) |
再帰の理解とプログラミング (教室外学修)再帰の課題プログラミング
|
12週 |
再帰(迷路) (ALのレベル:C) |
再帰の理解とプログラミング (教室外学修)再帰の課題プログラミング
|
13週 |
再帰(クイックソート)(ALのレベル:C) |
再帰の理解とプログラミング (教室外学修)再帰の課題プログラミング
|
14週 |
データ構造(スタック)(ALのレベル:C) |
スタックの理解とプログラミング (教室外学修)スタックの課題プログラミング
|
15週 |
前期のまとめ |
前期の分かりにくかったアルゴリズムなどへの質問・再解説等 (教室外学修)前期の学修内容についての意見・質問等
|
16週 |
|
|
後期 |
3rdQ |
1週 |
データ構造(キュー):小テスト(ALのレベル:C) |
キューの理解とプログラミング (教室外学修)キューの課題プログラミング
|
2週 |
データ構造(リスト):小テスト(ALのレベル:C) |
リストの理解とプログラミング (教室外学修)リストの課題プログラミング
|
3週 |
データ構造(リスト):小テスト(ALのレベル:C) |
リストの理解とプログラミング (教室外学修)リストの課題プログラミング
|
4週 |
木(2分探索木):小テスト(ALのレベル:C) |
2分探索木の理解とプログラミング (教室外学修)2分探索木の課題プログラミング
|
5週 |
木(2分探索木):小テスト(ALのレベル:C) |
2分探索木の理解とプログラミング (教室外学修)2分探索木の課題プログラミング
|
6週 |
木(ヒープソート):小テスト(ALのレベル:C) |
ヒープソートの理解とプログラミング (教室外学修)ヒープソートの課題プログラミング
|
7週 |
木(データベース):小テスト(ALのレベル:C) |
データベースの理解とプログラミング (教室外学修)データベースの課題プログラミング
|
8週 |
中間試験 |
|
4thQ |
9週 |
グラフ(グラフ探索):小テスト(ALのレベル:C) |
グラフ探索の理解とプログラミング (教室外学修)グラフ探索の課題プログラミング
|
10週 |
グラフ(トポロジカルソート):小テスト(ALのレベル:C) |
トポロジカルソートの理解とプログラミング (教室外学修)トポロジカルソートの課題プログラミング
|
11週 |
グラフ(最短路問題):小テスト(ALのレベル:C) |
最短路問題の理解とプログラミング (教室外学修)最短路問題の課題プログラミング
|
12週 |
応用プログラム作成(ALのレベル:C) |
基礎学習に成果に基づく応用プログラムの作成 (教室外学修)応用プログラムの作成
|
13週 |
応用プログラム作成(ALのレベル:C) |
基礎学習に成果に基づく応用プログラムの作成 (教室外学修)応用プログラムの作成
|
14週 |
応用プログラム作成(ALのレベル:C) |
基礎学習に成果に基づく応用プログラムの作成 (教室外学修)応用プログラムの作成
|
15週 |
情報処理Ⅲのまとめ |
アルゴリズムの概要の理解
|
16週 |
|
|
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
基礎的能力 | 工学基礎 | 情報リテラシー | 情報リテラシー | 同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。 | 3 | 前1 |
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。 | 3 | 後12 |
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。 | 3 | 後12 |
専門的能力 | 分野別の専門工学 | 機械系分野 | 情報処理 | プログラムを実行するための手順を理解し、操作できる。 | 4 | 後12 |
定数と変数を説明できる。 | 4 | 後12 |
整数型、実数型、文字型などのデータ型を説明できる。 | 4 | 後12 |
演算子の種類と優先順位を理解し、適用できる。 | 3 | 後12 |
算術演算および比較演算のプログラムを作成できる。 | 4 | 後12 |
データを入力し、結果を出力するプログラムを作成できる。 | 4 | 後12 |
条件判断プログラムを作成できる。 | 4 | 後12 |
繰り返し処理プログラムを作成できる。 | 4 | 後12 |
一次元配列を使ったプログラムを作成できる。 | 4 | 前9 |
情報系分野 | プログラミング | 代入や演算子の概念を理解し、式を記述できる。 | 3 | 後12 |
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。 | 3 | 後12 |
変数の概念を説明できる。 | 4 | 後12 |
データ型の概念を説明できる。 | 4 | 後12 |
制御構造の概念を理解し、条件分岐を記述できる。 | 4 | 後12 |
制御構造の概念を理解し、反復処理を記述できる。 | 4 | 後12 |
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。 | 3 | 後12 |
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。 | 3 | 後12 |
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。 | 3 | 後12 |
ソフトウェア | アルゴリズムの概念を説明できる。 | 3 | |
与えられたアルゴリズムが問題を解決していく過程を説明できる。 | 3 | |
分野別の工学実験・実習能力 | 情報系分野【実験・実習能力】 | 情報系【実験・実習】 | 与えられた問題に対してそれを解決するためのソースプログラムを、標準的な開発ツールや開発環境を利用して記述できる。 | 3 | 後12 |
ソフトウェア生成に利用される標準的なツールや環境を使い、ソースプログラムをロードモジュールに変換して実行できる。 | 3 | 後12 |
ソフトウェア開発の現場において標準的とされるツールを使い、生成したロードモジュールの動作を確認できる。 | 2 | 後12 |
フローチャートなどを用いて、作成するプログラムの設計図を作成することができる。 | 2 | 後12 |
問題を解決するために、与えられたアルゴリズムを用いてソースプログラムを記述し、得られた実行結果を確認できる。 | 2 | 後12 |