概要:
プログラミングⅠに引き続き、C言語によるプログラミングに関する講義と演習を行う。後半では、実際のプログラム作成において用いられる既存のライブラリの紹介と使用方法についても解説する。
授業の進め方・方法:
前半の講義では、テキストの内容を理解するとともに応用問題の演習を個人単位で行い個人のプログラム開発能力を磨く。ここで、問題解決方法を机上で熟慮するとともにプログラム計画と記述の変更が分かるように履歴管理の習慣を付けることを推奨する。
後半の講義では、より実践的なプログラムを記述するのに必要となるライブラリについて説明すると共に、各自が必要とするライブラリの検索方法や使用方法などを解説する。
注意点:
プログラミングⅠを習得していること。本科目は、授業で保証する学習時間と、予習・復習及び課題レポート作成に必要な標準的な自己学習時間の総計が、90時間に相当する学習内容である。全課題の提出を必須とする。合格の対象としない欠席条件(割合) 1/3以上の欠課
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
ガイダンス、計算モデル初歩 |
授業の目標を理解できる。初歩的な計算モデルを理解し、説明できる。
|
2週 |
関数の概念、基本 |
関数の概念・基礎を理解し、プログラムを記述できる。
|
3週 |
関数の定義、呼び出し |
関数の定義・呼び出しを理解し、プログラムを記述できる。
|
4週 |
関数の設計 |
様々な関数の設計を理解し、プログラムを記述できる。
|
5週 |
演習(1) |
関数を使った演習問題を自分でプログラムできる。
|
6週 |
基本型(1) |
基本型を理解し、プログラムを記述できる。
|
7週 |
基本型(2) |
基本型を使った演習問題を自分でプログラムできる。
|
8週 |
中間試験 |
1週~7週までの内容を理解し、プログラムが記述できる。
|
2ndQ |
9週 |
関数形式マクロ |
関数形式マクロを理解し、プログラムを記述できる。
|
10週 |
列挙体 |
列挙体を理解し、プログラムを記述できる。
|
11週 |
入出力と文字 |
文字の入出力を理解し、プログラムを記述できる。
|
12週 |
文字列(1) |
文字列の基本を理解し、プログラムを記述できる。
|
13週 |
文字列(2) |
文字列の配列及び操作を理解し、プログラムを記述できる。
|
14週 |
文字列(3) |
文字列の操作について理解し、プログラムを記述できる。
|
15週 |
演習(3) |
文字列を使った演習問題を自分でプログラムできる。
|
16週 |
期末試験 |
8週~15週までの内容を理解し、プログラムを記述できる。
|
後期 |
3rdQ |
1週 |
ポインタ |
ポインタの概念を説明できる。
|
2週 |
ポインタ |
ポインタの役割を理解でき、簡単なプログラムを記述できる。
|
3週 |
文字列とポインタ |
文字列とポインタの関連を理解する。
|
4週 |
文字列とポインタ |
ポインタを使った文字列操作のプログラムを記述できる。
|
5週 |
構造体 |
構造体の概念を説明できる。
|
6週 |
構造体 |
構造体を使った簡単なプログラムを記述できる。
|
7週 |
構造体 |
構造体を使った実践的なプログラムを記述できる。
|
8週 |
中間試験 |
|
4thQ |
9週 |
ファイル処理 |
C言語におけるファイルの取扱を説明できる。
|
10週 |
ファイル処理 |
ファイル入出力を行うプログラムを記述できる。
|
11週 |
ライブラリ |
ライブラリとは何かを説明できる。
|
12週 |
ライブラリ |
ライブラリの基本的な利用方法を説明できる。
|
13週 |
ライブラリ |
ライブラリを使ったプログラムを記述できる。
|
14週 |
総合演習 |
与えられたテーマを実現するプログラムをライブラリの利用の可否を判断しつつ記述できる。
|
15週 |
総合演習 |
与えられたテーマを実現するプログラムをライブラリの利用の可否を判断しつつ記述できる。
|
16週 |
期末試験 |
|
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の専門工学 | 情報系分野 | プログラミング | 変数の概念を説明できる。 | 4 | |
データ型の概念を説明できる。 | 4 | |
代入や演算子の概念を理解し、式を記述できる。 | 4 | |
制御構造の概念を理解し、条件分岐を記述できる。 | 4 | |
制御構造の概念を理解し、反復処理を記述できる。 | 4 | |
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。 | 4 | |
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。 | 4 | |
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。 | 4 | |
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。 | 4 | |
主要な言語処理プロセッサの種類と特徴を説明できる。 | 4 | |
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。 | 4 | |
プログラミング言語は計算モデルによって分類されることを説明できる。 | 4 | |
主要な計算モデルを説明できる。 | 4 | |
要求仕様に従って、いずれかの手法により動作するプログラムを設計することができる。 | 4 | |
要求仕様に従って、いずれかの手法により動作するプログラムを実装することができる。 | 4 | |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。 | 4 | |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを実装できる。 | 4 | |
ソフトウェア | アルゴリズムの概念を説明できる。 | 4 | |
与えられたアルゴリズムが問題を解決していく過程を説明できる。 | 4 | |
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。 | 4 | |
時間計算量によってアルゴリズムを比較・評価できることを説明できる。 | 3 | |
領域計算量などによってアルゴリズムを比較・評価できることを説明できる。 | 3 | |
整列、探索など、基本的なアルゴリズムについて説明できる。 | 4 | |
コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。 | 4 | |
同一の問題に対し、選択したデータ構造によってアルゴリズムが変化しうることを説明できる。 | 4 | |
リスト構造、スタック、キュー、木構造などの基本的なデータ構造の概念と操作を説明できる。 | 3 | |
リスト構造、スタック、キュー、木構造などの基本的なデータ構造を実装することができる。 | 3 | |