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

科目基礎情報

学校 津山工業高等専門学校 開講年度 2017
授業科目 アルゴリズムとデータ構造
科目番号 0053 科目区分 専門 / 必修
授業形態 講義 単位の種別と単位数 学修単位: 4
開設学科 情報工学科 対象学年 4
開設期 通年 週時間数 2
教科書/教材 教科書:渋谷 哲朗「情報工学 アルゴリズム」(丸善出版), 参考書:紀平 拓男,春日 伸弥「プログラミングの宝箱 アルゴリズムとデータ構造 第2版」(ソフトバンククリエイティブ)
担当教員 菊地 洋右

到達目標

学習目的:代表的なアルゴリズムやデータ構造の仕組みを理解する。アルゴリズムの効率を考える際に重要となる時間計算量などの基本的概念や用語を理解する。

到達目標
1.アルゴリズムとは何かを説明できる。
2.ソート,探索に関する代表的なアルゴリズムを説明できる。
3.スタック,キュー,二分木などのデータ構造を説明できる。
4.情報のグラフ表現を知っている。

ルーブリック

不可
評価項目1計算量の表記とその定義を何も見ずに書くことができ,その意味を説明できる。計算量の表記とその定義を,ノートを見ながら書くことができ,その意味を説明できる。計算量の表記とその定義を,ノートを見ながら書くことができる。計算量の表記とその定義を知らない。
評価項目2ソート,探索のアルゴリズムを実装できる。かつそのプログラムに不備があった場合に修正できる。ソート,探索のアルゴリズムを実装できる。ソート,探索に関する代表的なアルゴリズムアルゴリズムを説明できる。ソート,探索に関する代表的なアルゴリズムアルゴリズムを説明できない。
評価項目3スタック,キュー,2分木などのデータ構造を必要に応じて利用したプログラムが実装できる。スタック,キュー,2分木などのデータ構造を利用したプログラムが実装できる。スタック,キュー,2分岐などのデータ構造を説明できる。スタック,キュー,2分岐などのデータ構造を説明できない。
評価項目4グラフ構造を用いたアルゴリズムを説明でき,その計算量を求めることができる。グラフ構造を用いたアルゴリズムを説明できる。情報のグラフ表現を知っている。グラフ構造を知らない。

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

教育方法等

概要:
一般・専門の別:専門 学習の分野:情報・制御

必修・履修・履修選択・選択の別:必修

基礎となる学問分野:総合系/情報学/計算基盤/ソフトウェア

学科学習目標との関連:本科目は情報工学科学習目標「(2)情報・制御ならびに電気・電子の分野に関する専門技術分野の知識を修得し,情報・通信等の分野に応用できる能力を身につける。」に相当する科目である。

技術者教育プログラムとの関連:本科目が主体とする学習・教育目標は「(A)技術に関する基礎知識の深化,A-2:「電気・電子」,「情報・制御」に関する専門技術分野の知識を修得し,説明できること」である。

授業の概要:コンピュータを使って問題解決をする場合,使用するアルゴリズムとデータ構造が異なると問題解決の効率が違ってくる。本科目では,これらの選択能力や設計能力の基礎を修得するため,代表的なアルゴリズムとデータ構造を題材にそれらの仕組み等を学習する。
授業の進め方・方法:
授業の方法:板書を中心に授業を進めるが,できるだけ学生に質問し,学生の理解度を確かめながら授業を進める。また学生による発表も取り入れる。理解が深まるよう,演習などを課す。

成績評価方法:4回の定期試験の結果に重みを付け評価する(100%)。再試験は原則行わない。ただし,定期試験の結果をもって単位認定を正当に結論できないと判断した場合には再試験を行う。定期試験の結果に対する重みはレポートの内容,授業発表の内容による。
注意点:
履修上の注意:本科目は「授業時間外の学習を必修とする科目」である。授業時間として30単位時間開講するが,これ以外に30単位時間の学習が必修となる。これらの学習については担当教員の指示に従うこと。

履修のアドバイス:本科目はこれまでに履修してきた数学やプログラミングに関する科目と深く関連している。必要に応じて復習を行うこと。

基礎科目:プログラミングⅠ(1年),プログラミングⅡ(2),プログラミング言語(3) 関連科目:データベース(5年),プログラミング特論(5),情報数理Ⅱ(5)

受講上のアドバイス:授業開始前に行う出席確認に遅れた者は遅刻として扱う。遅刻は1時限分の欠課として扱う。授業開始から50分を経過しての遅刻については2時限分の欠課として扱う。BlackBoardに授業の進行状況を適宜掲載するので参考にすること。

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 ガイダンス〔科目の概要,目的,評価方法,注意事項等〕
2週 アルゴリズムと計算量 1
3週 基本的なデータ構造 1
4週 基本的なデータ構造 2
5週 演習
6週 ソート・アルゴリズ 1
7週 ソート・アルゴリズ 2
8週 演習
2ndQ
9週 (前期中間試験)
10週 答案返却と解説,演習
11週 木のデータ構造 1
12週 木のデータ構造 2
13週 演習
14週 グラフ・アルゴリズム 1
15週 (前期末試験)
16週 前期末試験の答案返却と試験解説
後期
3rdQ
1週 後期の説明〔ガイダンス〕
2週 グラフ・アルゴリズム 2
3週 演習
4週 文字列アルゴリズム 1
5週 文字列アルゴリズム 2
6週 演習
7週 (後期中間試験)
8週 答案返却と解説
4thQ
9週 アルゴリズムの設計戦略 1
10週 アルゴリズムの設計戦略 2
11週 演習
12週 組合せ最適化 1
13週 組合せ最適化 2
14週 演習
15週 (後期末試験)
16週 後期末試験の答案返却と試験解説

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

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

評価割合

試験発表相互評価自己評価課題小テスト合計
総合評価割合10000000100
基礎的能力0000000
専門的能力10000000100
分野横断的能力0000000