到達目標
基本的なデータ構造の概念および整列、探索などの代表的なアルゴリズムとその設計方法を理解する。
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
正しく説明できるか定期試験および講義での演習課題で評価する。 | 授業で学習した内容と関連付けながら基本的なデータ構造の概念および整列、探索などの代表的なアルゴリズムとその設計方法について説明ができる。 | 教科書や資料に従って基本的なデータ構造の概念および整列、探索などの代表的なアルゴリズムとその設計方法について説明ができる。 | 教科書や資料を見ながら基本的なデータ構造の概念および整列、探索などの代表的なアルゴリズムとその設計方法について説明ができる。 |
| | | |
| | | |
学科の到達目標項目との関係
教育方法等
概要:
基本的なデータ構造の概念および整列、探索などの代表的なアルゴリズムとその設計方法を理解する。
・ 基本的なデータ構造である(配列、リスト、スタック、キューなど)の概念に関して理解する。
・ 基本的なデータ構造の実現方法に関して理解を深める。
・ 整列、探索などの代表的なアルゴリズムとその設計を理解する。
・ アルゴリズムの性能を比較するオーダー記法の基礎知識を理解する。
【V-D】ソフトウェアの分野では、アルゴリズムとデータ構造に関する基礎的な概念や、ソフトウェアを実際に作成する標準的なプロセスについて理解している。
授業の進め方・方法:
前期・後期評価:定期試験(中間・期末)の平均の80%+課題演習20%
学年末評価は前期評価と後期評価の平均で行い、60%以上を合格とする。
注意点:
定期試験の他に、プログラムの演習課題で各自達成度を確認すること。
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
ガイダンス、アルゴリズムとデータ構造 |
1年間の授業の進め方や課題の提出の方法を説明する。アルゴリズムとデータ構造の概念と学習する意義を理解する。アルゴリズムに関する演習を行う。
|
2週 |
配列 |
配列のデータ構造について学習し、データの挿入などの演習を行う。
|
3週 |
直接探索とオーダー |
直接探索のアルゴリズムに関して学習し、計算量(オーダー)に関する概念を理解する。
|
4週 |
配列と直接探索の演習 |
配列と直接探索法に関してプログラミングの演習により理解を深める。
|
5週 |
線形探索と線形探索の学習 |
探索するアルゴリズムの基本である線形探索の概念について理解する。
|
6週 |
2分探索 |
効率よく探索するための手法である2分探索法の概念について理解する。
|
7週 |
2分探索の演習 |
2分探索とハッシュ法に関してプログラミングの演習により理解を深める。
|
8週 |
前期中間試験 |
|
2ndQ |
9週 |
スタック |
データ構造のスタックに関して概念を理解する。
|
10週 |
スタックの演習 |
スタックに関して演習により理解を深める。
|
11週 |
キュー |
データ構造の待ち行列(キュー)に関して概念を理解する。
|
12週 |
キューの演習 |
キュー構造に関して概念を理解する。
|
13週 |
リスト |
リスト構造に関して概念を理解する。
|
14週 |
双方向連結リスト |
双方向連結リスト構造に関して概念を理解する。
|
15週 |
リストの演習 |
リスト構造に関して概念を理解する。
|
16週 |
前期期末試験 |
|
後期 |
3rdQ |
1週 |
木構造とニ分木 |
木構造と二分木と二分探索に関して概念を理解する。
|
2週 |
木の走査 |
行きがけ順、通りがけ順、帰りがけ順などの走査方法の概念を理解する。
|
3週 |
二分探索木のノードの挿入と削除、二分木探索の演習 |
二分探索木におけるノードの挿入方法と削除方法を子を持たない場合などの概念を理解する。
|
4週 |
ハッシュ法 |
ハッシュテーブルのデータ構造に関しての概念を理解する。
|
5週 |
衝突 |
ハッシュ法の計算量や欠点などの概念を理解する。
|
6週 |
バブルソート |
整列のアルゴリズムであるバブルソートに関しての概念を理解する。
|
7週 |
選択ソート |
選択ソートの概念に関して理解する。
|
8週 |
後期中間試験 |
|
4thQ |
9週 |
挿入ソート |
挿入ソートの概念に関して理解する。
|
10週 |
バブルソート、選択ソート、挿入ソートの演習 |
バブルソート、選択ソート、挿入ソートに関してプログラミングの演習により理解を深める。
|
11週 |
シェルソート |
シェルソートの概念に関して理解する。
|
12週 |
クイックソート |
クイックソートの概念に関して理解する。
|
13週 |
ヒープソート |
ヒープソートの概念に関して理解する。
|
14週 |
マージソート |
マージソートの概念に関して理解する。
|
15週 |
バブルソートと選択ソートの演習 |
シェルソート、クイックソート、ヒープソート、マージソートに関してプログラミングの演習により理解を深める。
|
16週 |
後期期末試験 |
|
評価割合
| 試験 | 発表 | 相互評価 | 態度 | ポートフォリオ | その他 | 合計 |
総合評価割合 | 80 | 0 | 0 | 0 | 0 | 20 | 100 |
基礎的能力 | 80 | 0 | 0 | 0 | 0 | 20 | 100 |
専門的能力 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
分野横断的能力 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |