数百行程度のプログラム規模が想定される問題に対して、それを解くためのプログラムを設計、実装し、文書化するソフトウェア開発のプロセスを遂行する基礎的な能力を習得する。
概要:
小さなゲームを題材として、プログラムの設計、実装、文書化の手法を学習する。また、グループでのプログラム開発の過程として設計を行う。
授業の進め方・方法:
教員からの指示は最小限にとどめ、受講者自身の考えにもとづいて設計、実装する。
注意点:
これまでに講義で学習したデータ構造、アルゴリズムの知識を、現実の問題、実際のプログラミングに対して積極的に適用してみること。
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の専門工学 | 情報系分野 | プログラミング | 与えられた問題に対して、それを解決するためのソースプログラムを記述できる。 | 4 | 前3,前4,前5,前6 |
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。 | 4 | 前3,前4,前5,前6 |
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。 | 4 | 前3,前4,前5,前6 |
要求仕様に従って、いずれかの手法により動作するプログラムを設計することができる。 | 4 | 前1 |
要求仕様に従って、いずれかの手法により動作するプログラムを実装することができる。 | 4 | 前3,前4,前5,前6,前7 |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。 | 4 | 前1 |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを実装できる。 | 4 | 前3,前4,前5,前6,前7 |
ソフトウェア | アルゴリズムの概念を説明できる。 | 4 | 前1 |
与えられたアルゴリズムが問題を解決していく過程を説明できる。 | 4 | 前1 |
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。 | 4 | 前1 |
時間計算量によってアルゴリズムを比較・評価できることを説明できる。 | 4 | 前9 |
領域計算量などによってアルゴリズムを比較・評価できることを説明できる。 | 4 | 前9 |
整列、探索など、基本的なアルゴリズムについて説明できる。 | 4 | 前1 |
コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。 | 4 | 前9,前10 |
同一の問題に対し、選択したデータ構造によってアルゴリズムが変化しうることを説明できる。 | 4 | 前9,前10 |
リスト構造、スタック、キュー、木構造などの基本的なデータ構造の概念と操作を説明できる。 | 4 | 前9,前10 |
リスト構造、スタック、キュー、木構造などの基本的なデータ構造を実装することができる。 | 4 | 前9,前10 |
ソフトウェアを中心としたシステム開発のプロセスを説明できる。 | 4 | 前9 |
ソースプログラムを解析することにより、計算量等のさまざまな観点から評価できる。 | 4 | 前8 |
同じ問題を解決する複数のプログラムを計算量等の観点から比較できる。 | 4 | 前8 |