到達目標
基本的なデータ構造の概念および整列、探索などの代表的なアルゴリズムとその設計方法を理解する。
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
正しく説明できるか定期試験および講義での演習課題で評価する。 | 授業で学習した内容と関連付けながら基本的なデータ構造の概念および整列、探索などの代表的なアルゴリズムとその設計方法について説明ができる。 | 教科書や資料に従って基本的なデータ構造の概念および整列、探索などの代表的なアルゴリズムとその設計方法について説明ができる。 | 教科書や資料を見ながら基本的なデータ構造の概念および整列、探索などの代表的なアルゴリズムとその設計方法について説明ができる。 |
| | | |
学科の到達目標項目との関係
教育方法等
概要:
基本的なデータ構造の概念および整列、探索などの代表的なアルゴリズムとその設計方法を理解する。
・ 基本的なデータ構造である(配列、リスト、スタック、キューなど)の概念に関して理解する。
・ 基本的なデータ構造の実現方法に関して理解を深める。
・ 整列、探索などの代表的なアルゴリズムとその設計を理解する。
・ アルゴリズムの性能を比較するオーダー記法の基礎知識を理解する。
【V-D】ソフトウェアの分野では、アルゴリズムとデータ構造に関する基礎的な概念や、ソフトウェアを実際に作成する標準的なプロセスについて理解している。
授業の進め方・方法:
前期・後期評価:小テストの平均の80%+課題演習20%
学年末評価は前期評価と後期評価の平均で行い、60%以上を合格とする。
注意点:
定期試験の他に、プログラムの演習課題で各自達成度を確認すること。
授業の属性・履修上の区分
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
ガイダンス、アルゴリズムとデータ構造の概念 |
1年間の授業の進め方や課題の提出の方法を説明する。アルゴリズムとデータ構造の概念と学習する意義を理解する。
|
2週 |
配列 |
配列のデータ構造について学習し、プログラミングの演習により理解を深める。
|
3週 |
構造体 |
構造体のデータ構造について学習し、プログラミングの演習により理解を深める。
|
4週 |
直接探索と計算量 |
直接探索のアルゴリズムに関して学習し、計算量(オーダー記法)に関する概念を理解する。
|
5週 |
線形探索 |
探索するアルゴリズムの基本である線形探索の概念について理解する。
|
6週 |
二分探索 |
効率よく探索するための手法である二分探索の概念について理解する。
|
7週 |
配列、構造体、直接探索、計算量、線形探索、二分探索の演習及び小テスト |
配列、構造体、直接探索法、計算量、線形探索、二分探索の演習問題に取り組むことによって理解を深める。また、小テストにより理解度を確認する。
|
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 |