概要:
より高度な、効率よく問題を解くためのプログラミング技術を学ぶ。 またユーザ定義関数、再帰呼び出し、数値解析の初歩についても学ぶ。
授業の進め方・方法:
講義の後、必ず演習室での演習を取り入れる。また、演習に関するレポートの提出も義務付ける。
評価方法定期試験の成績を60%小テストや課題の評価を40%として総合的に評価し、60点以上を合格とする。
注意点:
単に正しく動くプログラムを作成できるというだけでなく、見やすく、効率的に様々な問題を解くプログラムを設計できるようになることが重要である。これらを演習、レポートにより確認するので、演習を通してプログラミング能力を確実に身につけることが必要である。
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
PADによる表現 |
PADとは何か、PADによるアルゴリズムの表現 ができる
|
2週 |
PADと判断、繰り返し |
PADによる判断、繰り返しの表現ができる
|
3週 |
PADとC言語 1 |
C言語の基本的な文法、変数の型 が理解できる
|
4週 |
PADとC言語 2 |
PADで表現されたアルゴリズムをプログラムに直す
|
5週 |
プログラムの実行 |
簡単なプログラムの入力、実行、保存 ができる
|
6週 |
プログラミング演習 |
今までの内容に関して自分でプログラミングができる
|
7週 |
前期中間試験 |
|
8週 |
判断文 |
if文を用いたプログラムが作成できる
|
2ndQ |
9週 |
繰り返し 1 |
for文による繰り返しが使える
|
10週 |
繰り返し 2 |
配列とfor文による繰り返し が使える
|
11週 |
繰り返し 3 |
while文による繰り返しが使える
|
12週 |
様々な応用プログラム |
プログラムによる様々な数列計算、2分探索法のプログラムが作成できる
|
13週 |
プログラミング演習 |
データの合計、平均、最大値、標準偏差の計算プログラムが作成できる
|
14週 |
関数と手続き |
関数、手続きとは何かが理解でき、Local変数とGlobal変数の概念が理解できる
|
15週 |
関数、手続きの具体例 |
関数や手続きを用いた様々なプログラム作成ができる
|
16週 |
|
|
後期 |
3rdQ |
1週 |
数値積分 |
台形公式による数値積分プログラムが作成できる
|
2週 |
再帰呼び出し 1 |
再帰呼び出しとは何かが理解できる
|
3週 |
再帰呼び出し 2 |
再帰呼び出しと数列、漸化式、ハノイの塔の解法 プログラムが作成できる
|
4週 |
ソーティング問題 |
ソーティング問題とソーティングアルゴリズムとは何か理解できる
|
5週 |
ソーティングと計算量 |
ソーティングアルゴリズムとデータ比較回数、計算量 について理解できる
|
6週 |
クイックソート ,マージソート |
クイックソート、またはマージソート等の高速アルゴリズムと計算量の算出ができる
|
7週 |
後期中間試験 |
|
8週 |
高速ソートプログラム設計 |
高速ソートプログラムの設計と入力実行、デバッグができる
|
4thQ |
9週 |
高速ソート実行、解析 |
高速ソートプログラム入力と実行ができる
|
10週 |
高速ソート実行、解析 |
高速ソートプログラムデバッグ、計算時間解析ができる
|
11週 |
方程式の解法 |
代数方程式とNewton法、2分探索法のプログラムが作成できる
|
12週 |
微分方程式の解法 1 |
微分方程式を数値的に解くとはどういうことかが理解できる
|
13週 |
微分方程式の解法 2 |
グラフィック命令、Euler法とRunge-Kutta法が理解できる
|
14週 |
微分方程式の解法 3 |
Euler法によるプログラミングができる
|
15週 |
微分方程式の解法 4 |
Runge-Kutta法によるプログラミングができる
|
16週 |
|
|
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
基礎的能力 | 工学基礎 | 情報リテラシー | 情報リテラシー | 同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。 | 3 | |
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。 | 3 | |
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。 | 3 | |
専門的能力 | 分野別の専門工学 | 情報系分野 | プログラミング | 代入や演算子の概念を理解し、式を記述できる。 | 4 | |
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。 | 4 | |
変数の概念を説明できる。 | 4 | |
データ型の概念を説明できる。 | 4 | |
制御構造の概念を理解し、条件分岐を記述できる。 | 4 | |
制御構造の概念を理解し、反復処理を記述できる。 | 4 | |
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。 | 4 | |
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。 | 4 | |
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。 | 4 | |
主要な言語処理プロセッサの種類と特徴を説明できる。 | 4 | |
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。 | 4 | |
プログラミング言語は計算モデルによって分類されることを説明できる。 | 4 | |
主要な計算モデルを説明できる。 | 4 | |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。 | 4 | |
要求仕様に従って、いずれかの手法により動作するプログラムを設計することができる。 | 4 | |
要求仕様に従って、いずれかの手法により動作するプログラムを実装することができる。 | 4 | |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを実装できる。 | 4 | |