( 1 ) 二分探索木,平衡木,ハッシュ法,グラフ探索などのアルゴリズムの考え方やアルゴリズムの設計手法を理解し,それらを説明することができる.
( 2 ) 探索に関するアルゴリズムを,所定の時間内に実装することができる.
概要:
今までのプログラミング授業を通じて,C言語の基本を理解している.本科目では学習をさらに進めて,より高度なプログラミングの技術を学ぶ.3年次の「プログラミング4」に引き続き,優れたアルゴリズムとそれを実装するための技術を習得する.
この科目では,ソート、二分探索木,平衡木,ハッシュ法,グラフ探索などのアルゴリズムの考え方を理解する.
授業の進め方・方法:
到達目標 ( 1 ) ~ ( 2 )の達成度について,
課題 20 %
中間・期末テスト 80 %
の割合で評価を行なう.60点以上を合格とする.
演習課題の答案は,締切日までに指定の方法で提出できるかをみる.遅れた場合は日数に応じて減点する.
注意点:
基本情報処理技術者試験に出題される内容が多いので,その試験対策としても十分に理解しておく.
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の専門工学 | 情報系分野 | プログラミング | 代入や演算子の概念を理解し、式を記述できる。 | 3 | |
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。 | 3 | |
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。 | 3 | |
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。 | 3 | |
主要な計算モデルを説明できる。 | 3 | |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。 | 3 | |
ソフトウェア | アルゴリズムの概念を説明できる。 | 3 | |
与えられたアルゴリズムが問題を解決していく過程を説明できる。 | 3 | |
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。 | 3 | |
整列、探索など、基本的なアルゴリズムについて説明できる。 | 3 | |
時間計算量によってアルゴリズムを比較・評価できることを説明できる。 | 3 | |
領域計算量などによってアルゴリズムを比較・評価できることを説明できる。 | 3 | |
コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。 | 3 | |
同一の問題に対し、選択したデータ構造によってアルゴリズムが変化しうることを説明できる。 | 3 | |
リスト構造、スタック、キュー、木構造などの基本的なデータ構造の概念と操作を説明できる。 | 3 | |
リスト構造、スタック、キュー、木構造などの基本的なデータ構造を実装することができる。 | 3 | |
ソースプログラムを解析することにより、計算量等のさまざまな観点から評価できる。 | 3 | |
同じ問題を解決する複数のプログラムを計算量等の観点から比較できる。 | 3 | |