概要:
アルゴリズムとデータ構造の基本概念を学び、時間・領域計算量の考え方や探索手法を通じて、効率的な問題解決力を養う。探索アルゴリズムとデータ構造の関係を理解し、最適な手法を選択できる力を身につける。
授業の進め方・方法:
【授業のすすめ方】
授業では代表的な例を教員が解説し、演習問題に取り組むことで理解を深める。
【評価方法】
試験:80%, 課題: 20%
注意点:
オフィスアワーとして月曜日16時20分から17時として設定しているため、理解できない内容があれば質問に来ること。また、オフィスアワー以外の時間であっても事前にOffice Teamsのチャットなどにより連絡しても良いです。
|
|
週 |
授業内容 |
週ごとの到達目標 |
| 前期 |
| 1stQ |
| 1週 |
データ構造とアルゴリズムとの紹介 |
データ構造とアルゴリズムの概要のついて理解できる。
|
| 2週 |
計算量(1) |
データ構造とアルゴリズムにおける時間計算量と領域計算量について理解できる。
|
| 3週 |
計算量(2) |
応用現場の視点から時間計算量と領域計算量について理解できる。
|
| 4週 |
計算量(3) |
応用例による時間と領域計算量のトレードオフについて理解でいる。
|
| 5週 |
探索(1) |
計算量を考慮し、データを探索できる基礎的方法について理解できる。
|
| 6週 |
探索(2) |
計算量を優先的に考えてデータを探索するために、配列の中でデータを格納する適切な場所を計算できる。
|
| 7週 |
探索(3) |
計算量を優先的に考えてデータを探索するために、配列の中でデータを格納する適切な場所を計算する様々な方法について理解できる。
|
| 8週 |
まとめ |
週1から週7の内容について理解を深める
|
| 2ndQ |
| 9週 |
探索(4) |
計算量を優先的に考えて、課題に応じて適切な方法を用いて、配列の中でデータを格納し、探索できる。
|
| 10週 |
探索(5) |
計算量を優先的に考えてデータを探索するために、配列とメモリアドレスを用いた方法について理解できる。
|
| 11週 |
探索(6) |
計算量を優先的に考えて、メモリアドレスのみを活用してデータを格納し、探索できる方法について理解できる。
|
| 12週 |
探索(7) |
計算量を優先的に考えて、メモリアドレスのみを活用してデータを格納し、探索できる方法について理解できる。
|
| 13週 |
探索(8) |
探索(6)の内容の数学的背景と展開について理解できる。
|
| 14週 |
探索(9) |
探索(6)の方法の計算時間の最適化について理解できる。
|
| 15週 |
まとめ |
前期の内容を全体的まとめて、理解できる。
|
| 16週 |
|
|
| 分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
| 専門的能力 | 分野別の専門工学 | 情報系分野 | ソフトウェア | アルゴリズムの概念を説明できる。 | 3 | 前1,前8,前15 |
| 与えられたアルゴリズムが問題を解決していく過程を説明できる。 | 3 | 前8,前15 |
| 同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。 | 3 | 前8,前15 |
| 時間計算量によってアルゴリズムを比較・評価できることを説明できる。 | 4 | 前2,前3,前4,前8,前10,前15 |
| 領域計算量などによってアルゴリズムを比較・評価できることを説明できる。 | 4 | 前3,前4,前8,前10,前15 |
| 整列、探索など、基本的なアルゴリズムについて説明できる。 | 3 | 前5,前6,前7,前8,前9,前10,前11,前12,前13,前14,前15 |
| コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。 | 3 | 前9,前10,前11,前12,前13,前14,前15 |
| 同一の問題に対し、選択したデータ構造によってアルゴリズムが変化しうることを説明できる。 | 3 | 前10,前11,前12,前13,前14,前15 |
| リスト構造、スタック、キュー、木構造などの基本的なデータ構造の概念と操作を説明できる。 | 3 | 前11,前12,前13,前14,前15 |
| リスト構造、スタック、キュー、木構造などの基本的なデータ構造を実装することができる。 | 3 | 前12,前13,前14,前15 |
| ソースプログラムを解析することにより、計算量等のさまざまな観点から評価できる。 | 3 | 前2,前3,前4,前8,前9,前10,前15 |
| 同じ問題を解決する複数のプログラムを計算量等の観点から比較できる。 | 3 | 前2,前5,前6,前7,前8,前10,前15 |