シラバス
授業科目名 | 年度 | 学期 | 開講曜日・時限 | 学部・研究科など | 担当教員 | 教員カナ氏名 | 配当年次 | 単位数 |
---|---|---|---|---|---|---|---|---|
問題解決とアルゴリズム | 2024 | 後期 | 水5 | 国際情報学部 | 坂地 泰紀 | サカジ ヒロキ | 2年次配当 | 2 |
科目ナンバー
GI-IG2-IT12
履修条件・関連科目等
授業で使用する言語
日本語
授業で使用する言語(その他の言語)
授業の概要
精錬されたソフトウェアは、適切なデータ構造とアルゴリズムから構成されます。社会問題の解決に向けたシステムによる最適解を提案するためには、適切なデータ構造を理解することと適切なアルゴリズムを選択できることが必要です。本講義ではアルゴリズムとデータ構造の具体例について考察し、 社会の諸問題を解決するシステムへの適用について考えます。
科目目的
授業は講義形式で実施しますが、必要に応じて演習で知識の確認を行います。また、レポートにおいて実際にプログラムを作成し、授業の理解度を確認いたします。与えられた問題に対して具体的なデータ構造とアルゴリズムを提案できるようになることを目標とします。
到達目標
この科目では、以下を到達目標とします。
- 基礎的なアルゴリズムについて理解し、実際に実装できるようになること。
- 講義で学んだアルゴリズムを身近な問題に当てはめることで、問題を解決できる力を身につけること。
授業計画と内容
第1回 : イントロダクション、問題解決とは(オンライン)
問題を数理的に解決するとはどういうことか説明する
第2回 : アルゴリズムとデータ構造(オンライン)
よいプログラムを構成するには、よいアルゴリズムと優れたデータ構造が必要になることを考える
第3回 : 配列、スタック、キュー(オンライン)
様々なデータ構造を取り扱う(1)
第4回 : リスト構造、ツリー構造、ハッシュテーブル(オンライン)
様々なデータ構造を取り扱う(2)
第5回 : 順序付き集合の処理(オンライン)
2分木、2分探索木
第6回 : ニュートン法(オンライン)
ニュートン法を用いた数値解析について学ぶ
第7回 : アルゴリズムと計算量(オンライン)
よいアルゴリズムと悪いアルゴリズムとは何か、どのように評価するかを解説する
第8回 : ソートのアルゴリズム(オンライン)
ソートを題材としてアルゴリズムの良し悪しを考える
第9回 : 基礎的なソートアルゴリズム(オンライン)
選択ソート、バブルソート、挿入ソート
第10回 : 分割統治法とマージソート(オンライン)
問題を小さくして扱う方法について考え、マージソートについて学ぶ
第11回: 高速なソートアルゴリズム(オンライン)
クイックソート
第12回: 動的計画法(オンライン)
動的計画法(Dynamic Programming)について解説する
第13回: 課題解決に対する応用(オンライン)
具体的な問題解決をケーススタディとして学ぶ。
第14回: 総まとめ(オンライン)
問題解決とアルゴリズムについて全講義を振り返りまとめとする
※授業形式は、全てオンラインとなります。
授業時間外の学修の内容
指定したテキストやレジュメを事前に読み込むこと
授業時間外の学修の内容(その他の内容等)
予習、復習を行うこと。
授業時間外の学修に必要な時間数/週
毎週1回の授業が半期(前期または後期)または通年で完結するもの。1週間あたり4時間の学修を基本とします。
成績評価の方法・基準
種別 | 割合(%) | 評価基準 |
---|---|---|
レポート | 50 | 課された問題を理解し、解決する方法を自分の言葉で説明できること。解決方法が妥当であること。具体的には、考察がしっかりと記述されていること。 |
平常点 | 50 | 毎回の課題にしっかりと取り組んでいること。 |
成績評価の方法・基準(備考)
レポート課題:50%
毎回の課題:50%
課題や試験のフィードバック方法
授業時間内で講評・解説の時間を設ける
課題や試験のフィードバック方法(その他の内容等)
アクティブ・ラーニングの実施内容
実施しない
アクティブ・ラーニングの実施内容(その他の内容等)
授業におけるICTの活用方法
タブレット端末
授業におけるICTの活用方法(その他の内容等)
実務経験のある教員による授業
はい
【実務経験有の場合】実務経験の内容
IT会社において、様々なアルゴリズムを用いたシステム構築を行った経験がある。
【実務経験有の場合】実務経験に関連する授業内容
多くの学生がその背景にあるアルゴリズムを知らずに使っているWebサイトやアプリなどを例に挙げ、そこで使われているアルゴリズムを紹介することで、本講義で学ぶ内容がIT社会に強くつながっていることを示す。
関係する具体的な職歴:2012年4月~2013年8月 株式会社ドワンゴでWeb広告エンジニアとして従事。広告システムに関連するデータ構造への知見は、特に、第3回、第4回、第8回に深く関連する。
テキスト・参考文献等
【テキスト】
担当教員が授業内にて必要に応じてレジュメ等を配布します。
【参考文献】
大槻 兼資『アルゴリズムとデータ構造』講談社
茨木 俊秀『Cによるアルゴリズムとデータ構造 改訂2版』オーム社