| 授業計画 | 
		
			| 回数 | 学習目標 | 学習項目 | 
		
			| 1 | 関数を用いたプログラムを作成出来る。 | (関数1)
関数の種類と記述方法について解説する。ここでは関数の定義や呼び出し式の書式について学習し、関数を用いた簡単なプログラムの作成を行う。 | 
		
			| 【理解度確認】学習内容に関する演習を行い、その結果を以て判定する。 | 
		
			| 2 | 引数や戻り値を用いた関数の定義と呼び出しや、その関数に必要なプロトタイプ宣言が記述出来る。 | (関数2)
関数を用いた効率的なプログラムの設計方法について解説する。ここでは引数や戻り値の扱い方と、プロトタイプ宣言、配列を引数に指定した関数について学習する。 | 
		
			| 【理解度確認】学習内容に関する演習を行い、その結果を以て判定する。 | 
		
			| 3 | ヘッダを自作し、ヘッダのインクルードとヘッダ内の関数を呼び出すことが出来る。 | (関数3)
ヘッダとインクルードについて解説する。ここではヘッダの自作を行い、それを利用する方法について学習する。また併せてヘッダを利用する際に必要になるインクルードガードについて学ぶ。 | 
		
			| 【理解度確認】学習内容に関する演習を行い、その結果を以て判定する。 | 
		
			| 4 | 変数の有効範囲と記憶域期間を考慮したプログラムを作成出来る。 | (関数4)
関数と変数を扱う際に必要となる有効範囲(スコープ)と記憶域期間について解説する。ここでは変数管理の仕組みについて学習し、メモリを意識したプログラムの作成を行う。 | 
		
			| 【理解度確認】学習内容に関する演習を行い、その結果を以て判定する。 | 
		
			| 5 | 基本型の使い分けや、ビット演算を用いたプログラムを組むことが出来る。 | (基本型とビット)
変数を扱う際に必要となる基本型の特徴や、演算によるビットの操作について解説する。ここでは各型のビット数やその構成、そしてビット単位の論理演算やシフト演算について学習する。 | 
		
			| 【理解度確認】学習内容に関する演習を行い、その結果を以て判定する。 | 
		
			| 6 | 関数形式マクロや再帰関数、列挙体を用いたプログラムを組むことが出来る。 | (いろいろなプログラム)
関数形式マクロや再帰関数、列挙体について学習し、プログラムの最適化の手法を学ぶ。
またマクロを用いることで生じる副作用などの注意点を学習する。 | 
		
			| 【理解度確認】学習内容に関する演習を行い、その結果を以て判定する。 | 
		
			| 7 | プログラムで文字列を扱い、文字列を処理するプログラムが作成出来る。 | (文字列)
プログラム中での文字列(文字配列 / 文字列リテラル)のデータ構造と扱い方に関して学習する。併せて文字列を用いた処理についてプログラムを作成しながら学習する。 | 
		
			| 【理解度確認】学習内容に関する演習を行い、その結果を以て判定する。 | 
		
			| 8 | ここまでの内容を基にしたプログラムを確実に作成出来る。 | (総合演習1)
ここまで学んできた内容に関する補足説明や復習を行い、後半の内容を学ぶための準備を行う。 | 
		
			| 【理解度確認】学習内容に関する演習を行い、その結果を以て判定する。 | 
		
			| 9 | ポインタの宣言や、ポインタを用いた間接参照による値の操作などを行うことが出来る。 | (ポインタ1)
C言語の最大の特徴ともいえるポインタの学習を行う。ここでは全4回あるポインタ学習の初回として、ポインタ基礎を固めるために、その基本的な処理について学習する。 | 
		
			| 【理解度確認】学習内容に関する演習を行い、その結果を以て判定する。 | 
		
			| 10 | ポインタを引数にした関数を定義して、それを利用したプログラムを作成出来る。 | (ポインタ2)
関数の引数としてポインタを用いる方法について解説する。ここではプログラムを作成して異なる関数間で間接参照を行うための考え方や、その利点について学習する。 | 
		
			| 【理解度確認】学習内容に関する演習を行い、その結果を以て判定する。 | 
		
			| 11 | ポインタを用いて配列を取り扱うことが出来る。 | (配列とポインタ1)
ポインタを用いて配列のデータを参照する方法を解説する。ここでは添字演算子を用いた場合の処理と比較しながら、配列の仕組みやデータ構造について詳しく学習する。 | 
		
			| 【理解度確認】学習内容に関する演習を行い、その結果を以て判定する。 | 
		
			| 12 | ポインタを用いた文字列の操作を行うことが出来る。 | (配列とポインタ2)
ポインタによる文字列の取り扱いについて解説する。ここではポインタを用いた文字列の操作するプログラムを作成して、参照先の変更方法など処理のポイントを学習する。 | 
		
			| 【理解度確認】学習内容に関する演習を行い、その結果を以て判定する。 | 
		
			| 13 | 構造体や構造体配列を用いたプログラムを作成することが出来る。 | (構造体・共用体・ビットフィールド1)
異なる型のデータの集合を扱う際に必要となる構造体について解説する。ここでは構造体の基本的な概念や利用方法について学習する。また構造体を用いた配列についても学ぶ。 | 
		
			| 【理解度確認】学習内容に関する演習を行い、その結果を以て判定する。 | 
		
			| 14 | 共用体を用いた値の管理や、ビットフィールドを用いたビットへアクセスをプログラムを作成出来る。 | (構造体・共用体・ビットフィールド2)
構造体と対になる共用体や構造体を利用したビットアクセスの方法について解説する。それぞれ構造体と共通点も多いため、比較を行いながら特徴や適切な使い分けについて学習する。 | 
		
			| 【理解度確認】学習内容に関する演習を行い、その結果を以て判定する。 | 
		
			| 15 | 1年間学習してきた内容を総合したプログラムを作成出来る。 | (総合演習2)
本講義のまとめを行い、課題を完成させる。 | 
		
			| 【理解度確認】学習内容に関する演習を行い、その結果を以て判定する。 |