科目コード | I407 | ||||
科目名 | アルゴリズム論(Algorithm Theory) | 単位数 | 2単位 | ||
対象学科 | 情報工学科 | 対象学年 | 4年 | 開講期間 | 通年 |
科目区分 | 専門基礎科目 | 必修・選択 | 必修 | 履修/学修 | 学修 |
授業形式 | 講義 | 授業時間数 | 60 | 実時間数 | 50 |
教員名(所属) | 孫 寧平(情報工学科) | 教員室 | 3号棟2階 | ||
使用教科書 | 茨木俊秀 著, 『Cによるアルゴリズムとデータ構造』, 昭晃堂 | ||||
参考書 | 千葉則茂ら著, 『Cアルゴリズム全科―基礎からグラフィックスまで』,啓学出版 | ||||
科目の位置付けと関連科目 | 3年次のプログラミング通論,4年次のプログラミング特論,5年次のデータ構造とコンパイラ構成論と関連する. | ||||
科目の概要 | アルゴリズムとデータ構造はコンピュータ・サイエンスの根幹を成すものであり,プログラミング技法を学ぶにおいて最も重要となる概念である.基本のデータ構造としてのスタック,キュー,リングなどの作成と挿入・削除操作の実装について学ぶ.代表的なアルゴリズムの例として,ハッシュ法,いくつかの整列(ソーティング)アルゴリズムと探索(サーチ)アルゴリズムの設計,実装,時間計算量の解析について講義する.また,分割統治法,再帰法など実用性の高いアルゴリズムの設計及びその応用を取り上げる. 本講義はプログラミングの基礎を踏まえてアルゴリズム設計の手順や手法を学んで行く. | ||||
授業方針 | 1. 自力で基本なデータ構造とアルゴリズムの設計及び実装することができる. 2. 探索と整列のアルゴリズムの考え方について理解しそのプログラムを作成できる. 3. 分割統治法,再帰法の考え方について理解できる.簡単な応用例を解析できる. 4. アルゴリズム時間計算量の解析方法について理解でき,オーダーの求め方及びプログラムの実行時間の測定方法など応用できる. |
授業項目 | 時間 | 達成目標(習得すべき内容) |
1.ガイダンス | 本科目の概要,授業方針,評価方法等について紹介する. | |
2.リストとその実現 | 配列によるリストの実現,ポインタによるリストの実現について理解し,これらを用いてリストの作成及びリストに対する操作のアルゴリズムの設計と実装ができる. | |
3.スタック,キュー,リング | スタック,キュー,リングの概念について理解し,スタックとキューの作成,挿入と削除操作アルゴリズムを説明することができる. | |
4.ハッシュ法の基本 | ハッシュ法の概念を理解し,ハッシュ関数の設計方法を説明できる. | |
5.内部ハッシュ法と外部ハッシュ法 | ハッシュ法における衝突を解消する仕組み,内部ハッシングと外部ハッシングアルゴリズムの設計と実装法を理解し,それぞれのプログラムを組める. | |
6.アルゴリズム計算量の評価方法 | 計算量の評価基準と記法を理解し,オーダー記法の求め方及びそれを利用したアルゴリズム時間計算量の評価を説明できる. | |
7.再帰法 | 再帰法の概念を理解し,直接再帰と間接再帰の概念及びそれらを利用した応用例を理解し説明できる. | |
8.整列のアルゴリズム | バケットソートと基数ソート,ヒープとヒープソート,クイックソートアルゴリズムの考え方とそれぞれの実装法について理解できる.整列アルゴリズムの実装における再帰法の利用,ソートアルゴリズムの時間計算量を解析できる。また,実装したプログラムの実行時間を測定する方法を学び,利用できる. | |
9.分割統治法 | 分割統治法の基本概念と特徴,その応用例のマージソートアルゴリズムを理解できる. | |
10.探索アルゴリズム | 逐次探索,2分探索,自己組織化リスト探索などアルゴリズムの考え方と実装法を理解し,プログラミングできる. |
評価方法及び総合評価 | 【評価方法】 定期試験の筆記試験と実技試験,小テストや演習レポートにより評価する. 【総合評価】 本科目は学修科目であるため,学習の各段階において自学学習用の課題を設け,学習の成果を定期試験等筆記試験や実技試験と演習レポートを総合し評価する.実技試験または演習レポートの提出期限は課題提示と同時に示し,期限に遅れて提出されたレポートに対し減点する. 60%以上の得点率で目標達成とみなす. |
学習方法 | 本科目は,計算機科学及び情報管理に関する基礎的な科目である.より効率の良いプログラムを書くために理解しておかねばならない必要な知識でもある.3年次のプログラミング通論,4年次のプログラミング特論,5年次のデータ構造とコンパイラ構成論と関連する.この科目の講義内容について十分に復習して受講することが望まれる。 |
学生へのメッセージ | 学生の自己学習支援について,オフィスアワーを設け,質問や相談などに随時応じる.また,メール・電話でも相談に応じる.授業の進行スケジュールと予習内容を明示し,実技課題や演習レポートの作成において双方向的な学習指導を行う. |
学修単位への対応 | ※本科目は50分の授業に対して,放課後・家庭で40分程度の自学学習が課せられます。 |
本校教育目標との対応 | JABEE学習教育目標との対応 |