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

科目基礎情報

学校 舞鶴工業高等専門学校 開講年度 令和05年度 (2023年度)
授業科目 データ構造とアルゴリズム
科目番号 0054 科目区分 専門 / 選択
授業形態 授業 単位の種別と単位数 学修単位: 2
開設学科 電気情報工学科 対象学年 5
開設期 後期 週時間数 2
教科書/教材 原 隆浩 (著), 水田 智史 (著), 大川 剛直 (著), 西尾 章治郎 (監修)
アルゴリズムとデータ構造 (未来へつなぐ デジタルシリーズ 10)
担当教員 舩木 英岳

到達目標

1 アルゴリズムとデータ構造がプログラミングの要であることを理解する。
2 アルゴリズムと効率、アルゴリズムの複雑さ,オーダの概念を理解し,各種アルゴリズムの計算量を見積もることができる。
3 複数の実用的な探索アルゴリズムを理解し,プログラムを作成できる。また,問題を解決していく過程を説明できる。
4 複数の実用的な整列アルゴリズムを理解し,プログラムを作成できる。また,問題を解決していく過程を説明できる。
5 線形リスト,スタック,キューなどのデータ構造を抽象的に理解し,的確にオブジェクト指向プログラムを作成できる。
6 木構造の一例として,二分探索木をクラス定義し,オブジェクト指向プログラムを作成できる。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1アルゴリズムの概念,および,データ構造のバリエーションを理解し,プログラムとして実現できる。アルゴリズムの概念,および,データ構造のバリエーションを理解している。アルゴリズムの概念,および,データ構造のバリエーションを理解できない。
評価項目2整列,探索など,基本的なアルゴリズムについて説明でき、プログラムとして記述できる。整列、探索など,基本的なアルゴリズムについて説明できる。整列,探索など,基本的なアルゴリズムについて説明できない。
評価項目3リスト構造,スタック,キューなどの基本的なデータ構造の概念と操作を説明でき,プログラムとして記述できる。リスト構造,スタック,キューなどの基本的なデータ構造の概念と操作を説明できる。リスト構造,スタック,キューなどの基本的なデータ構造の概念と操作を説明できない。

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

学習・教育到達度目標 (H) 説明 閉じる

教育方法等

概要:
アルゴリズムとそれを実現するためのデータ構造の学習はコンピュータサイエンスの根幹である。
具体的なC言語などのサンプルプログラムの理解に終始するのではなく,
疑似コードを使用するなどして応用的な事柄や,計算量の求め方などの理論的な内容についても学習する。

授業の進め方・方法:
【授業方法】
・授業は学習内容の予習を前提とした上で,解説や演習を中心に進める(反転授業)。
・毎回、講義時間内にできなかった課題は,次週までの宿題とする。

【学習方法】
・予習を必ず行うこと。
・課題の提出日は厳守すること。

注意点:
【成績の評価方法・評価基準】
到達目標の達成度を基準として,定期試験の成績(70%),課題(30%)を総合評価する。

【備考】
科目専用のノートを必ず用意すること。

【教員の連絡先】
研究室 A棟2階(A-314)
内線電話 8968
e-mail: funakiアットマークmaizuru-ct.ac.jp (アットマークは@に変えること。)

授業の属性・履修上の区分

アクティブラーニング
ICT 利用
遠隔授業対応
実務経験のある教員による授業

授業計画

授業内容 週ごとの到達目標
後期
3rdQ
1週 アルゴリズムとは/アルゴリズムの評価基準
2週 計算量の漸近的評価/アルゴリズムの記述 1,2
3週 アルゴリズムの基本データ構造
(配列/連結リスト/スタックとキュー)
4週 アルゴリズムにおける基本概念
(木/再帰)
5週 探索の定義と簡単な探索アルゴリズム
6週 探索アルゴリズムの実行速度比較
7週 演習
8週 中間試験
4thQ
9週 ソートの定義と基本的なソートアルゴリズム
(挿入ソート/ヒープソート/クイックソート)
10週 ソートアルゴリズムの性能比較
(安定なソート)
11週 アルゴリズムの設計手法
(分割統治法)
12週 アルゴリズムの設計手法
(グリーディ法/動的計画法)
13週 グラフアルゴリズム
14週 アルゴリズムの限界
(問題のクラス/解くことのできない問題)
1,2
15週 演習
16週 (15週目の後に期末試験を実施)
期末試験返却・達成度確認

モデルコアカリキュラムの学習内容と到達目標

分類分野学習内容学習内容の到達目標到達レベル授業週

評価割合

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