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

科目基礎情報

学校 茨城工業高等専門学校 開講年度 令和03年度 (2021年度)
授業科目 データ構造とアルゴリズムⅠ
科目番号 0044 科目区分 専門 / 必修
授業形態 講義 単位の種別と単位数 履修単位: 2
開設学科 国際創造工学科 情報系 対象学年 3
開設期 通年 週時間数 2
教科書/教材 配布資料
担当教員 弘畑 和秀

到達目標

1. アルゴリズムの概念が説明でき、整列、探索などの基本的なアルゴリズムが問題を解決してゆく過程を説明できる。
2. 同一の問題に対してその解決のためのアルゴリズムが複数存在することを説明でき、時間計算量や領域計算量によってアルゴリズムを比較・評価できることを説明できる。
3. 同一の問題に対してコンピュータ内部でのデータ表現方法は複数存在することを説明でき、データ構造に依存してアルゴリズムが変化しうることを説明できる。
4. リスト構造、スタック、キュー、木構造などの基本的なデータ構造の概念と操作を説明でき、実装することができる。
5. 離散数学に関する知識を利用したアルゴリズムの設計や解析ができる。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
基本的なアルゴリズムに関する説明・比較・評価基本的なアルゴリズムについて説明できるとともに、それらを比較・評価できる基本的なアルゴリズムについて説明できる基本的なアルゴリズムについて説明できない
基本的なデータ構造の概念と操作に関する説明・評価基本的なデータ構造の概念と操作について説明できるとともに、その選択がアルゴリズムに与える影響について説明・評価できる基本的なデータ構造の概念と操作について説明できる基本的なデータ構造の概念と操作について説明できない
データ構造とアルゴリズムの実装に関する説明・設計基本的なデータ構造とアルゴリズムの実装方法を説明でき、それらを用いた設計ができる基本的なデータ構造とアルゴリズムの実装方法を説明できる基本的なデータ構造とアルゴリズムの実装方法を説明できない

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

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

教育方法等

概要:
アルゴリズムの設計と解析に必要なデータ構造とアルゴリズムの基礎について学ぶ。
授業の進め方・方法:
アルゴリズムとデータ構造の役割と基本を学びます。本科目で学習する内容は、より適切なプログラムを作るために必要な考え方ですので、本講義や演習から積極的に学びとってください。
注意点:

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

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

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 アルゴリズムの表現方法(1) アルゴリズム処理手順の表現方法を理解する
2週 アルゴリズムの表現方法(2) フローチャートで処理手順を表現できる
3週 アルゴリズムの計算量 時間計算量と領域計算量を理解する
4週 内部表現 数値や文字の表現方法とビット演算について理解する
5週 配列 配列を用いたデータ構造を理解し、実装できる
6週 整列(1) 単純挿入法、ビンソートを理解し、実装できる
7週 (中間試験)
8週 整列(2) バブルソートを理解し、実装できる
2ndQ
9週 整列(3) クイックソートを理解し、実装できる
10週 整列(4) マージソートを理解する
11週 整列(5) ヒープソートを理解する
12週 構造体とポインタ 構造体とポインタを理解する
13週 様々なデータ構造(1) 線形リストや循環リストなどの連結リストを理解する
14週 演習① 連結リストのアルゴリズムを実装できる
15週 (期末試験)
16週 総復習
後期
3rdQ
1週 様々なデータ構造(2) スタックを理解する
2週 演習② スタックのアルゴリズムを実装できる
3週 様々なデータ構造(3) キューを理解する
4週 演習③ キューのアルゴリズムを実装できる
5週 探索(1) 線形探索と二分探索を理解する
6週 演習④ 線形探索と二分探索のアルゴリズムを実装できる
7週 (中間試験)
8週 探索(2) ハッシュとハッシュテーブルを用いた探索を理解し実装できる
4thQ
9週 探索(3) 深さ優先探索を理解する
10週 演習⑤ 深さ優先探索のアルゴリズムを実装できる
11週 探索(4) 幅優先探索を理解する
12週 演習⑥ 幅優先探索のアルゴリズムを実装できる
13週 様々なデータ構造(4) グラフの表現方法を理解する
14週 実世界におけるデータ構造とアルゴリズム データ構造とアルゴリズムの実例を理解する
15週 (期末試験)
16週 総復習

評価割合

試験課題合計
総合評価割合8020100
基礎的能力000
専門的能力8020100
分野横断的能力000