概要:
アルゴリズムとデータ構造の基礎を学習し、基本的なアルゴリズムの動作原理について説明できるようになる。
また、それぞれのアルゴリズムにおいて時間的計算量を割り出し、効率的なアルゴリズムについて検討を行う。
さらに、スタックやキューなどデータの保持方法について理解し、適切な方法を選択できるようにする。
授業の進め方・方法:
・講義内容は,Python(もしくはC言語)を用いて説明をする。
・講義で取り上げたアルゴリズムは,授業中に行う演習問題,予習や復習として与える課題について,実際にプログラムを作成することで理解を深める。
注意点:
・出題された予習、復習を毎週行い、レポートとして提出すること。また、期限には遅れないこと。
・授業で不明な点は、積極的に質問すること。質問は対面の他、Teamsのグループサイトでも受け付ける。
・コンピュータ演習室で授業を実施するが、自らのコンピュータを積極的に利用することを推奨する。
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の専門工学 | 情報系分野 | ソフトウェア | アルゴリズムの概念を説明できる。 | 4 | 前1,前2,前4,前5,前8,前9,前11,前12 |
与えられたアルゴリズムが問題を解決していく過程を説明できる。 | 4 | 前4,前5,前8,前9,前11,前12 |
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。 | 4 | 前4,前5,前8,前9,前11,前12 |
整列、探索など、基本的なアルゴリズムについて説明できる。 | 4 | 前4,前5 |
時間計算量によってアルゴリズムを比較・評価できることを説明できる。 | 4 | 前4,前5 |
領域計算量などによってアルゴリズムを比較・評価できることを説明できる。 | 4 | |
コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。 | 4 | 前8,前9 |
同一の問題に対し、選択したデータ構造によってアルゴリズムが変化しうることを説明できる。 | 4 | |
リスト構造、スタック、キュー、木構造などの基本的なデータ構造の概念と操作を説明できる。 | 4 | 前8,前9 |
リスト構造、スタック、キュー、木構造などの基本的なデータ構造を実装することができる。 | 4 | 前10 |
ソースプログラムを解析することにより、計算量等のさまざまな観点から評価できる。 | 4 | 前4,前5 |
同じ問題を解決する複数のプログラムを計算量等の観点から比較できる。 | 4 | 前4,前5 |
その他の学習内容 | 少なくとも一つの具体的なコンピュータシステムについて、起動・終了やファイル操作など、基本的操作が行える。 | 4 | 前1,前2,前3,前4,前5,前6,前8,前9,前10,前11,前12,前13,前14 |
少なくとも一つの具体的なオフィススイート等を使って、文書作成や図表作成ができ、報告書やプレゼンテーション資料を作成できる。 | 4 | 前3,前6,前10,前14 |