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

科目基礎情報

学校 茨城工業高等専門学校 開講年度 令和04年度 (2022年度)
授業科目 アルゴリズムとデータ構造
科目番号 0096 科目区分 専門 / 選択
授業形態 講義 単位の種別と単位数 履修単位: 1
開設学科 国際創造工学科 機械・制御系(制御コース) 対象学年 4
開設期 後期 週時間数 2
教科書/教材 浅野 哲夫他著「アルゴリズム論」(Ohmsha)、長谷 篤拓他著「Androidプログラミング入門」(コロナ社)
担当教員 飛田 敏光

到達目標

1.アルゴリズムの評価方法などの基礎知識を理解する。
2.アルゴリズム設計に必要な代表的なデータ構造について理解する。
3.整列、探索などの代表的なアルゴリズムを理解する。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1アルゴリズムの評価方法などの基礎知識を理解し、その知識を問題解決に適用できる。アルゴリズムの評価方法などの基礎知識を理解し、その知識を使用できる。アルゴリズムの評価方法などの基礎知識を理解できない。
評価項目2アルゴリズム設計に必要な代表的なデータ構造について理解し、その知識を問題解決に適用できる。アルゴリズム設計に必要な代表的なデータ構造について理解し、その知識を使用できる。アルゴリズム設計に必要な代表的なデータ構造について理解できない。
評価項目3整列、探索などの代表的なアルゴリズムを理解し、その知識を問題解決に適用できる。整列、探索などの代表的なアルゴリズムを理解し、その知識を使用できる。整列、探索などの代表的なアルゴリズムを理解できない。

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

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

教育方法等

概要:
プログラム設計を行う際に必要となるアルゴリズムとデータ構造に関する知識と、代表的なアルゴリズムを理解し、習得する。メーカーでソフトウェア開発を行っていた経験を活かし、アルゴリズムの基本と設計技法などについて講義する。
授業の進め方・方法:
パワーポイントで授業を進めるが、アルゴリズムの理解のために、そのアルゴリズムを用いたプログラミングの課題を課す。
注意点:
ここで勉強するデータ構造やアルゴリズムは、プログラム設計の際に使用する部品となるものです。よく理解し、これらの部品を使いこなせるようにしてください。特に予習は必要ありませんが、授業中配布するプリントで指示する演習問題等をしっかり解いて授業の復習をしてください。
また、アルゴリズムの演習をJavaを用いて行います。

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

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

授業計画

授業内容 週ごとの到達目標
後期
3rdQ
1週 アルゴリズムとは アルゴリズムの歴史、意味について理解する。
2週 基本的なデータ構造1 ポインタ型、列挙型、配列型、レコード型等のデータ構造について理解する。
3週 基本的なデータ構造2 線形リスト、木構造、スタックとキュー等のデータ構造について理解する。
4週 データの整列1 バブルソート、セレクションソート、シェルソート等について理解する。
5週 データの整列2 ヒープソート、クイックソート、マージソート等について理解する。
6週 計算の複雑さ 計算の複雑さについて理解する。
7週 (中間試験)
8週 探索問題 探索問題について理解する。
4thQ
9週 探索問題 探索問題について理解する。
10週 グラフアルゴリズム グラフアルゴリズムについて理解する。
11週 文字列のアルゴリズム 文字列照合のアルゴリズムについて理解する。
12週 基本的な数値計算のアルゴリズム 基本的な数値計算のアルゴリズムについて理解する。
13週 アルゴリズムの設計手法、いろいろなアルゴリズム アルゴリズムの設計手法といろいろなアルゴリズムについて理解する。
14週 ファイル処理、データベースのアルゴリズム ファイル処理、データベースのアルゴリズムについて理解する。
15週 (期末試験)
16週 総復習 これまでの総復習とまとめを行う。

評価割合

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