アルゴリズムとデータ構造

科目基礎情報

学校 沖縄工業高等専門学校 開講年度 2019
授業科目 アルゴリズムとデータ構造
科目番号 3215 科目区分 専門 / 必修
授業形態 授業 単位の種別と単位数 履修単位: 2
開設学科 情報通信システム工学科 対象学年 3
開設期 通年 週時間数 2
教科書/教材 教員自作のプリント、パワーポイントのプレゼン資料。 「Javaプログラマのためのアルゴリズムとデータ構造」(ソフトバンクパブリッシング) 「アルゴリズムとデータ構造」(SoftBank Creative) (他にも参考図書を探す場合のキーワード:アルゴリズム、データ構造)
担当教員 金城 伊智子

到達目標

基本的なデータ構造の概念および整列、探索などの代表的なアルゴリズムとその設計方法を理解する。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
正しく説明できるか定期試験および講義での演習課題で評価する。授業で学習した内容と関連付けながら基本的なデータ構造の概念および整列、探索などの代表的なアルゴリズムとその設計方法について説明ができる。教科書や資料に従って基本的なデータ構造の概念および整列、探索などの代表的なアルゴリズムとその設計方法について説明ができる。教科書や資料を見ながら基本的なデータ構造の概念および整列、探索などの代表的なアルゴリズムとその設計方法について説明ができる。

学科の到達目標項目との関係

教育方法等

概要:
基本的なデータ構造の概念および整列、探索などの代表的なアルゴリズムとその設計方法を理解する。
・ 基本的なデータ構造である(配列、リスト、スタック、キューなど)の概念に関して理解する。
・ 基本的なデータ構造の実現方法に関して理解を深める。
・ 整列、探索などの代表的なアルゴリズムとその設計を理解する。
・ アルゴリズムの性能を比較するオーダー記法の基礎知識を理解する。
【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週 後期期末試験

評価割合

試験発表相互評価態度ポートフォリオその他合計
総合評価割合80000020100
基礎的能力80000020100
専門的能力0000000
分野横断的能力0000000