Web Syllabus(講義概要)
トップへ戻る 前のページへ戻る
アルゴリズム
英文名Algorithm
科目概要データサイエンス学科2年後期、3群科目、必修、講義、2単位
科目責任者 榊原 康文
担当者(※は実務経験のある教員) 榊原 康文※鎌田 真由美秋山 真那斗
講義室

教員免許取得のための必修科目

科目教科及び教科の指導法に関する科目(高等学校 情報)
各科目に含めることが必要な事項
  • 教科に関する専門的事項 情報システム(実習を含む。)

授業の目的

データ解析などの実際の仕事を行うためのプログラムを書くためには、問題を解決するための手順を正確に記述して、それをプログラムに書き下す必要がある。この問題を解決するための手順には、いくつかの定石があり、その定石を組み合わせることにより、上質なプログラムを完成させることができる。計算機科学において、この定石はアルゴリズムと呼ばれている。本講義では、アルゴリズムの基礎知識と考え方を学ぶ。

教育内容

データ構造の設計からはじめて、いくつかの代表的なアルゴリズム、ソーティング、グラフ探索、などを学び、いくつかのアルゴリズムスキーマについても学ぶ。さらに、計算理論についても学ぶ。

教育方法

教科書を指定し、その内容について理解を深めるためにパワーポイントや板書による講義形式で進める。また、数回程度の演習を行い、アルゴリズムの知識と考え方の定着を図る。
演習課題等のフィードバックは、次回講義や講義のWEBページ等で共有する。

卒業・学位授与の方針と当該科目の関連

DP5

授業内容(シラバス)

項目内容担当者日時
1イントロダクションアルゴリズムの概論について、計算モデル、バブルソート、基数ソート、計算量との関連性を含め講義する。榊原 康文
秋山 真那斗
9/10③
2効率的ソートアルゴリズム(1)ソート問題を効率的に解くマージソートについて講義する。榊原 康文
秋山 真那斗
9/17③
3効率的ソートアルゴリズム(2)ソート問題を効率的に解くクイックソートについて、分割統治法を含め講義する。榊原 康文
秋山 真那斗
9/24③
4効率的ソートアルゴリズム(3)ソート問題を効率的に解くヒープソートについて、2分木とヒープのデータ構造との関連性を含め講義する。榊原 康文
秋山 真那斗
10/1③
5ソートアルゴリズムの演習ここまで勉強してきたソートアルゴリズムについて、マージソート、クイックソート、ヒープソートの例題を解く演習を行う。榊原 康文
秋山 真那斗
10/8③
6グラフのデータ構造グラフのデータ構造について、隣接行列、接続行列、深さ優先と幅優先探索との関連性を含め講義する。榊原 康文
秋山 真那斗
10/15③
7グラフの連結成分と分解グラフの連結成分と分解について、最小全域木問題との関連性を含め講義する。榊原 康文
秋山 真那斗
10/22③
8最短経路問題最短経路問題を効率的に解くダイクストラのアルゴリズムについて講義する。榊原 康文
秋山 真那斗
10/29③
9グラフアルゴリズムの演習ここまで勉強してきたグラフアルゴリズムについて、グラフの探索、連結成分の検出、最短経路の例題を解く演習を行う。榊原 康文
秋山 真那斗
11/12③
10文字列処理(1)文字列処理について、文字列のデータ構造、パターンマッチングを含め講義する。鎌田 真由美
11/19③
11文字列処理(2)文字列処理について、効率的パターンマッチング(KMP法,BM法)を含め講義する。鎌田 真由美
11/26③
12文字列処理の演習ここまで勉強してきた文字列処理について、パターンマッチングの例題を解く演習を行う。鎌田 真由美
12/3③
13計算理論の基礎(1)計算理論の基礎について、有限オートマトンとの関連性を含め講義する。鎌田 真由美
12/10③
14計算理論の基礎(2)計算理論の基礎について、チューリングマシンとの関連性を含め講義する。鎌田 真由美
12/17③
15計算理論の基礎(3)計算理論の基礎について、計算可能、NP問題との関連性を含め講義する。鎌田 真由美
12/24③
No. 1
項目
イントロダクション
内容
アルゴリズムの概論について、計算モデル、バブルソート、基数ソート、計算量との関連性を含め講義する。
担当者
榊原 康文
秋山 真那斗
日時
9/10③
No. 2
項目
効率的ソートアルゴリズム(1)
内容
ソート問題を効率的に解くマージソートについて講義する。
担当者
榊原 康文
秋山 真那斗
日時
9/17③
No. 3
項目
効率的ソートアルゴリズム(2)
内容
ソート問題を効率的に解くクイックソートについて、分割統治法を含め講義する。
担当者
榊原 康文
秋山 真那斗
日時
9/24③
No. 4
項目
効率的ソートアルゴリズム(3)
内容
ソート問題を効率的に解くヒープソートについて、2分木とヒープのデータ構造との関連性を含め講義する。
担当者
榊原 康文
秋山 真那斗
日時
10/1③
No. 5
項目
ソートアルゴリズムの演習
内容
ここまで勉強してきたソートアルゴリズムについて、マージソート、クイックソート、ヒープソートの例題を解く演習を行う。
担当者
榊原 康文
秋山 真那斗
日時
10/8③
No. 6
項目
グラフのデータ構造
内容
グラフのデータ構造について、隣接行列、接続行列、深さ優先と幅優先探索との関連性を含め講義する。
担当者
榊原 康文
秋山 真那斗
日時
10/15③
No. 7
項目
グラフの連結成分と分解
内容
グラフの連結成分と分解について、最小全域木問題との関連性を含め講義する。
担当者
榊原 康文
秋山 真那斗
日時
10/22③
No. 8
項目
最短経路問題
内容
最短経路問題を効率的に解くダイクストラのアルゴリズムについて講義する。
担当者
榊原 康文
秋山 真那斗
日時
10/29③
No. 9
項目
グラフアルゴリズムの演習
内容
ここまで勉強してきたグラフアルゴリズムについて、グラフの探索、連結成分の検出、最短経路の例題を解く演習を行う。
担当者
榊原 康文
秋山 真那斗
日時
11/12③
No. 10
項目
文字列処理(1)
内容
文字列処理について、文字列のデータ構造、パターンマッチングを含め講義する。
担当者
鎌田 真由美
日時
11/19③
No. 11
項目
文字列処理(2)
内容
文字列処理について、効率的パターンマッチング(KMP法,BM法)を含め講義する。
担当者
鎌田 真由美
日時
11/26③
No. 12
項目
文字列処理の演習
内容
ここまで勉強してきた文字列処理について、パターンマッチングの例題を解く演習を行う。
担当者
鎌田 真由美
日時
12/3③
No. 13
項目
計算理論の基礎(1)
内容
計算理論の基礎について、有限オートマトンとの関連性を含め講義する。
担当者
鎌田 真由美
日時
12/10③
No. 14
項目
計算理論の基礎(2)
内容
計算理論の基礎について、チューリングマシンとの関連性を含め講義する。
担当者
鎌田 真由美
日時
12/17③
No. 15
項目
計算理論の基礎(3)
内容
計算理論の基礎について、計算可能、NP問題との関連性を含め講義する。
担当者
鎌田 真由美
日時
12/24③

到達目標

アルゴリズムを組み合わせることにより、上質なプログラムを完成させることができるようになる。

評価方法

期末試験(70%)と演習課題(30%)の結果から総合的に評価する。

準備学習(予習・復習等)

【講義時間外に必要な学修時間:60時間】
予習:講義中に事前に指定する次回講義内容について教科書を読み、疑問点を明らかにしておくこと。
復習:教科書の章末の問題について解答を作成し、講義後に配布する模範解答と比較・検討する。

備考・その他

計算機科学の本質の理解とセンスを身につけてもらうことを目指します。
【科目ナンバリング:FU301-MT02】
【関連科目:情報の基礎、プログラミングⅡ】

実務経験の授業への活用方法

(榊原)企業研究所での情報工学・第五世代コンピュータ開発経験をもとに、プログラムを作成する作法としてのアルゴリズムの基礎から応用例までを解説する。

教材

種別書名著者・編者発行所
教科書アルゴリズム データ構造 計算論横森貴サイエンス社
参考書オートマトン・言語理論 [第2版]富田悦次、横森貴森北出版
教科書
署名
アルゴリズム データ構造 計算論
著者・編者
横森貴
発行所
サイエンス社
参考書
署名
オートマトン・言語理論 [第2版]
著者・編者
富田悦次、横森貴
発行所
森北出版