| 【サブタイトル】 |
コンピュータを用いて具体的な問題を解くための基礎 |
| 【講義の目的・内容】 |
1年次の科目「コンピュータ・サイエンス概論II」のアルゴリズム編では、プログラミングによる問題解決の「定石」として、基本的なアルゴリズムとデータ構造について講義を行った。本科目では、その基礎を踏襲した上で、より具体的な問題を解くためのモデル化、アルゴリズム、データ構造について学んでゆく。
・復習: コンピュータで問題を解くためには(アルゴリズムとデータ構造の必要性) ・グラフを使った問題のモデル化 ・グラフアルゴリズムとデータ構造 ・情報検索への応用 ・配列解析 |
| 【学修到達目標】 |
・現実の問題を解くためのモデル化、アルゴリズム、データ構造の必要性について理解するとともに、具体的な問題について、それらがどのように適用されるかを理解する。 ・本講義で扱う範囲の問題について、プログラミング言語を用いて解けるようになる |
| 【講義スケジュール】 |
以下は予定であり、変更となる可能性がある。なお、オンデマンド回の配信日や詳細はslackの講義チャンネルで連絡する。
1. ガイダンス (オンデマンド) 2. グラフによる問題のモデル化: オイラー閉路と最短経路問題 3. グラフアルゴリズム: オイラー閉路と最短経路問題 4. 最短経路問題とデータ構造 5. アルゴリズムの設計手法(1): 分割統治法、貪欲法 6. アルゴリズムの設計手法(2): 動的計画法 7. 情報検索への応用(1): PageRank 8. 前半の復習問題演習と解説 (オンデマンド) 9. 前半の振り返りと中間試験 10. 情報検索への応用(2): HITS 11. ネットワークフロー(1): 最大流問題 12. ネットワークフロー(2): 応用 13. 配列解析(1): 配列アラインメントと生物情報学 14. 配列解析(2): 正規表現とオートマトンとアラインメントの関係 15. 全体のまとめ、復習問題演習と解説 16. 期末試験 |
| 【指導方法】 |
各自がINIAD MOOCsで配信されるオンライン教材を用いた予習・復習を行うことを前提に、躓きやすい点の解説や、課題のフォローアップと解説を中心に実施する。オンデマンド回を含め、質問はslackの講義チャンネルで受け付ける。 |
| 【事前・事後学修】 |
各回のトピックに対応した課題に、講義中および講義外の時間(各回3時間程度)を活用して取り組むことが必須となる。 |
| 【成績評価の方法・基準】 |
複数回の試験の成績(80%程度)、受講態度、各回の理解度確認小テスト、課題提出を含めた講義への積極的な取り組みなど(20%程度)を総合的に評価する。なお5回以上欠席した場合には、理由の如何を問わず、単位は習得できない。 |
| 【受講要件】 |
「CS概論2」のアルゴリズム編の内容を理解し、かつ単位を取得済みであることを前提とする。 |
| 【テキスト】 |
各回の講義に対応したオンライン教材をINIAD MOOCsで事前に提供する。 |
| 【参考書】 |
授業中に紹介する。 |
| 【関連分野・関連科目】 |
|
| 【備考】 |
|
| 【添付ファイル1】 |
| 【添付ファイル2】 |
| 【添付ファイル3】 |
| 【リンク】 |
|
|
|
<本学の授業について> 本学では、13週の通常授業期間内で13回の通常授業及び、その他に2回分のオンデマンド授業等を開講する形態を採用しています。各回の教室内授業は90分で実施され、合計15回分の授業時間を担保する講義スケジュールを基本としています。 ※一部科目では、授業期間、授業回数および授業形態等が異なる場合がありますので、授業の詳細はシラバス等で必ず確認してください。 [注] 教員の指導のもとで、事前・事後学習を含めて1単位45時間の学修時間を担保することが求められます。 なお、本学では、大学設置基準等の法令に基づき、年間35週以上の授業日程(学年暦)を定め、通常授業期間のほかに、T-Weeksにおける特別授業期間、夏季・春季セッション期間における集中授業等を実施する授業日程としております。
|