アルゴリズムとデータ構造演習〈R5-入学〉
授業コード
(科目ナンバリング
コード)
551218-01
(15415)
授業科目名 アルゴリズムとデータ構造演習〈R5-入学〉担当者 栗林 梓
開講期間 秋学期 単位数 2 学年 2
区分
アクティブラーニング 【実習】
実務経験 該当なし
備考
【授業目的】

本授業は,pythonを用いてアルゴリズムとデータ構造の基礎的な概念について学びます。

【授業内容】
第 1 回 実施日 
事前学習
シラバスをよく読んでおく。授業内容についてインターネットなどで調べておく(30分)
授業内容
ガイダンス(アルゴリズムの基礎)
事後学習
授業内容で理解できなかった点を明確化し,適宜教員に質問する。
参考文献
 
第 2 回 実施日 
事前学習
授業内容についてインターネットなどで調べておく(30分)
授業内容
アルゴリズムの基本データ構造(配列,連結リスト,スタック,キュー)
事後学習
授業内容で理解できなかった点を明確化し,適宜教員に質問する。
参考文献
 
第 3 回 実施日 
事前学習
授業内容についてインターネットなどで調べておく(30分)
授業内容
アルゴリズムにおける基本概念(木,再帰)
事後学習
授業内容で理解できなかった点を明確化し,適宜教員に質問する。
参考文献
 
第 4 回 実施日 
事前学習
授業内容についてインターネットなどで調べておく(30分)
授業内容
データの探索①(簡単な探索アルゴリズム,2分探索法)
事後学習
授業内容で理解できなかった点を明確化し,適宜教員に質問する。
参考文献
 
第 5 回 実施日 
事前学習
授業内容についてインターネットなどで調べておく(30分)
授業内容
データの探索②(ハッシュ法)
事後学習
授業内容で理解できなかった点を明確化し,適宜教員に質問する。
参考文献
 
第 6 回 実施日 
事前学習
授業内容についてインターネットなどで調べておく(30分)
授業内容
ソートアルゴリズム①(基本的なソートアルゴリズム)
事後学習
授業内容で理解できなかった点を明確化し,適宜教員に質問する。
参考文献
 
第 7 回 実施日 
事前学習
授業内容についてインターネットなどで調べておく(30分)
授業内容
ソートアルゴリズム②(クイックソート)
事後学習
授業内容で理解できなかった点を明確化し,適宜教員に質問する。
参考文献
 
第 8 回 実施日 
事前学習
授業内容についてインターネットなどで調べておく(30分)
授業内容
アルゴリズムの設計手法①(分割統治法,グリーディ法,動画計画法)
事後学習
授業内容で理解できなかった点を明確化し,適宜教員に質問する。
参考文献
 
第 9 回 実施日 
事前学習
授業内容についてインターネットなどで調べておく(30分)
授業内容
アルゴリズムの設計手法②(バックトラック法,分岐限定法)
事後学習
授業内容で理解できなかった点を明確化し,適宜教員に質問する。
参考文献
 
第 10 回 実施日 
事前学習
授業内容についてインターネットなどで調べておく(30分)
授業内容
グラフアルゴリズム(データ構造)
事後学習
授業内容で理解できなかった点を明確化し,適宜教員に質問する。
参考文献
 
第 11 回 実施日 
事前学習
授業内容についてインターネットなどで調べておく(30分)
授業内容
グラフアルゴリズム(グラフの探索,最短経路問題)
事後学習
授業内容で理解できなかった点を明確化し,適宜教員に質問する。
参考文献
 
第 12 回 実施日 
事前学習
授業内容についてインターネットなどで調べておく(30分)
授業内容
文字列照合アルゴリズム(基本的なアルゴリズム)
事後学習
授業内容で理解できなかった点を明確化し,適宜教員に質問する。
参考文献
 
第 13 回 実施日 
事前学習
授業内容についてインターネットなどで調べておく(30分)
授業内容
文字列照合アルゴリズム(ホールスプールのアルゴリズム)
事後学習
授業内容で理解できなかった点を明確化し,適宜教員に質問する。
参考文献
 
第 14 回 実施日 
事前学習
授業内容についてインターネットなどで調べておく(30分)
授業内容
アルゴリズムの限界
事後学習
授業内容で理解できなかった点を明確化し,適宜教員に質問する。
参考文献
 
第 15 回 実施日 
事前学習
これまでの内容を復習しておく(60分)
授業内容
総復習
事後学習
授業内容で理解できなかった点を明確化し,適宜教員に質問する。
参考文献
 
【到達目標】

① 「アルゴリズム」および「データ構造」という言葉について適切に説明することができる。
② 「アルゴリズム」および「データ構造」を技術や社会と結び付けて論じることができる。
③ pythonで基礎的なプログラムを組むことができる。

【ディプロマ・ポリシー】

(R5-)
関連するディプロマ・ポリシー=DP2:他者の異なる意見や他から得た情報を客観的に判断して自らの考えを論理的に整理し、他者が理解できるように文章や発話によって表現することができる。

【授業形態】

基本的にはpythonでの実習形式で進めます。

【教科書】

藤原暁宏 2023.『Pythonで学ぶアルゴリズムとデータ構造』森北出版.

【注文書籍】
【参考書】

森田真生 2019.『数学の贈り物』ミシマ社.
森田真生 2023.『計算する生命』新潮文庫.
サイモン・シン著 ・青木薫訳 2006.『フェルマーの最終定理』新潮社.
サイモン・シン著 ・青木薫訳 2007.『暗号解読(上下)』新潮社.
マーカス・デュ・ソートイ著 ・冨永星訳2013.『素数の音楽』新潮社.
ロビン・ウィルソン著・茂木健一郎訳 2013.『四色問題』新潮社.

【成績評価の方法】

授業内課題50%
最終課題50%

【成績評価の基準】

授業内課題及び最終レポートを通じて到達目標にどれだけ達しているかを判断します。

到達目標の内容をほぼ完全に理解し、説明できる。 ……90~100点
到達目標の内容を十分に理解し、説明できる。 ……80~89点
到達目標の内容の基幹部分を理解し、説明できる。 ……70~79点
到達目標の内容の最低限の部分を理解し、説明できる。……60~69点
到達目標に及ばない。 …… 0~59点

【受講学生への要望】

令和6年度の開講では私が教えたことより,受講生に教わったことの方が多かった気がします。参考書の『計算する生命』でも述べられているように「わかる」は「操る」の後に来ることもあります。一緒に頑張りましょう。

【履修注意】