概要:
本科目の目的は,効率的なプログラムを作成するための,基本的なアルゴリズムに関する知識と,実際にプログラムを作成することができる技術の習得である.
授業の進め方・方法:
・講義内容は,プログラミング言語にPythonを用いて説明をする.
・講義で取り上げたアルゴリズムは,演習問題,課題によって,実際にプログラムを作成して理解を深める.
注意点:
・Pythonに関するプログラミングの授業を履修していることが望ましい.
・講義前半で,Pythonによるプログラミングについて解説を行うが,Pythonを用いた基本的はプログラム能力は必須である.
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の専門工学 | 情報系分野 | プログラミング | 変数とデータ型の概念を説明できる。 | 4 | |
制御構造の概念を理解し、条件分岐や反復処理を記述できる。 | 4 | |
代入や演算子の概念を理解し、式を記述できる。 | 5 | |
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。 | 5 | 前10 |
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。 | 5 | |
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。 | 5 | |
主要な言語処理プロセッサの種類と特徴を説明できる。 | 5 | |
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。 | 5 | |
プログラミング言語は計算モデルによって分類されることを説明できる。 | 5 | |
主要な計算モデルを説明できる。 | 5 | |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。 | 5 | |
ソフトウェア | 時間計算量や領域計算量などによってアルゴリズムを比較・評価できることを理解している。 | 5 | |
アルゴリズムの概念を説明できる。 | 5 | |
与えられたアルゴリズムが問題を解決していく過程を説明できる。 | 5 | |
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。 | 5 | |
整列、探索など、基本的なアルゴリズムについて説明できる。 | 5 | |
コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。 | 5 | |
同一の問題に対し、選択したデータ構造によってアルゴリズムが変化しうることを説明できる。 | 5 | |
リスト構造、スタック、キュー、木構造などの基本的なデータ構造の概念と操作を説明できる。 | 5 | |
ソフトウェアを中心としたシステム開発のプロセスを説明できる。 | 5 | |
ソースプログラムを解析することにより、計算量等のさまざまな観点から評価できる。 | 5 | |
同じ問題を解決する複数のプログラムを計算量等の観点から比較できる。 | 5 | |