概要:
この授業の目標を以下に示す.
・各データ構造の特徴とそれらの適用領域の違いを理解できること.
・計算量の概念を応用して各種アルゴリズムの評価,解析を行えるようになること.
・探索やソーティング,文字検索等の基本的なアルゴリズムを理解できること.
・最適化問題の定式化や効率的解を習得すること.
・プログラミング言語実習に必要な基礎知識を習得すること.
授業の進め方・方法:
プレゼンスライドと黒板板書の両方を使った講義形式でおこなう.
小セクションごとに演習問題を与える.
定期試験直前には総合的な演習を行う.
暗記ではなく論理の積み重ねで問題を考える習慣をつける.
成績評価方法:
定期試験2回の成績で行う.
中間試験(50%),期末試験(50%)
合否判定:最終評価(または再試験の素点)≧60%を合格とする.
注意点:
基本的な離散数学の知識が必要である.
手続き型プログラミング言語の知識があること.
講義は基本的にプロジェクタを利用して行う.
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の専門工学 | 情報系分野 | ソフトウェア | アルゴリズムの概念を説明できる。 | 3 | 前1,前2 |
与えられたアルゴリズムが問題を解決していく過程を説明できる。 | 3 | 前1,前2 |
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。 | 3 | 前10,前13 |
整列、探索など、基本的なアルゴリズムについて説明できる。 | 3 | 前7,前9,前10,前11,前12,前13 |
時間計算量によってアルゴリズムを比較・評価できることを説明できる。 | 3 | 前3 |
領域計算量などによってアルゴリズムを比較・評価できることを説明できる。 | 3 | 前2,前3 |
コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。 | 4 | 前4,前5,前6 |
同一の問題に対し、選択したデータ構造によってアルゴリズムが変化しうることを説明できる。 | 4 | 前4,前5,前6 |
リスト構造、スタック、キュー、木構造などの基本的なデータ構造の概念と操作を説明できる。 | 4 | 前4,前5,前6 |
リスト構造、スタック、キュー、木構造などの基本的なデータ構造を実装することができる。 | 4 | 前4,前5,前6 |
情報数学・情報理論 | 離散数学に関する知識をアルゴリズムの設計、解析に利用することができる。 | 4 | 前14,前15 |
コンピュータ向けの主要な数値計算アルゴリズムの概要や特徴を説明できる。 | 4 | 前15 |