概要:
本授業では、情報科学分野の基礎であるアルゴリズムならびにデータ構造について学習する。コンピュータに何らかの問題を解かせる場合、計算の手順(アルゴリズム)を設計する必要がある。その際、問題に適したデータ構造(メモリ上のデータ表現形式)を採用することになる。アルゴリズムをプログラムとして表現し、コンピュータで実行して問題の解を得る。
本授業では、基本的なデータ構造、探索のアルゴリズムについて学ぶ。
理論だけではなく、プログラミング演習を通して実践的な力を付けることも目指す。
なお、本科目はSDGsの目標「9.産業と技術革新の基盤をつくろう」に合致している。
授業の進め方・方法:
〇講義形式と演習形式を混合して授業を進める。
〇講義で学習した内容をプログラミング演習で確認することで実践力を身に付ける。
〇学修単位科目のため、事前・事後の学習として調査課題やプログラミング課題を課す。
注意点:
〇C言語を用いてプログラムを作成する。構造体、ポインタ等の理解が必要である。
〇定期試験80%、課題20%で評価する。
〇課題の提出期限を厳守すること。
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の専門工学 | 情報系分野 | ソフトウェア | 与えられたアルゴリズムが問題を解決していく過程を説明できる。 | 4 | 後12,後13,後14 |
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。 | 4 | 後12,後13,後14 |
時間計算量によってアルゴリズムを比較・評価できることを説明できる。 | 4 | 後12,後13,後14 |
整列、探索など、基本的なアルゴリズムについて説明できる。 | 4 | 後12,後13,後14 |
コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。 | 4 | 後1 |
同一の問題に対し、選択したデータ構造によってアルゴリズムが変化しうることを説明できる。 | 4 | 後12,後13,後14 |
リスト構造、スタック、キュー、木構造などの基本的なデータ構造の概念と操作を説明できる。 | 4 | 後1,後2,後4,後9,後11,後13 |
リスト構造、スタック、キュー、木構造などの基本的なデータ構造を実装することができる。 | 4 | 後2,後3,後5,後6,後7,後10,後11 |
ソースプログラムを解析することにより、計算量等のさまざまな観点から評価できる。 | 4 | 後12,後13 |
同じ問題を解決する複数のプログラムを計算量等の観点から比較できる。 | 4 | 後12,後13 |
分野別の工学実験・実習能力 | 情報系分野【実験・実習能力】 | 情報系【実験・実習】 | 与えられた問題に対してそれを解決するためのソースプログラムを、標準的な開発ツールや開発環境を利用して記述できる。 | 4 | 後2,後5,後10 |
ソフトウェア生成に利用される標準的なツールや環境を使い、ソースプログラムをロードモジュールに変換して実行できる。 | 4 | 後2,後5,後10 |
問題を解決するために、与えられたアルゴリズムを用いてソースプログラムを記述し、得られた実行結果を確認できる。 | 4 | |