到達目標
1. 関数、ポインタを理解する
2. 配列とポインタを用いた応用的な文字列処理を理解する
3. 構造体を理解する
4. 基本的なファイル処理を理解する
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
評価項目1 | 関数、ポインタを理解し、使うことができる。 | 関数、ポインタを理解している。 | 関数、ポインタを理解していない。 |
評価項目2 | 配列とポインタを用いた応用的な文字列処理を理解し、使うことができる。 | 配列とポインタを用いた応用的な文字列処理を理解している。 | 配列とポインタを用いた応用的な文字列処理を理解していない。 |
評価項目3 | 構造体を理解し、使うことができる。 | 構造体を理解している。 | 構造体を理解していない。 |
評価項目4 | 基本的なファイル処理を理解し、
使うことができる。 | 基本的なファイル処理を理解している。 | 基本的なファイル処理を理解していない。 |
学科の到達目標項目との関係
教育方法等
概要:
2年次のプログラミングⅠからの継続内容として、C言語文法の後半部を学習する。C言語の学習において理解が難しいと言われるポインタについても、メモリマップを描くことで丁寧に解説する。ポインタと配列の密接な関係についても理解を深める。また構造体の使い方やファイル処理の方法も学習する。プログラミングⅠと同様に、適宜プログラム作成演習を行う。
授業の進め方・方法:
基本的には教室で文法の説明を行うが、3週に1回程度、コンピュータ演習室においてプログラミング演習を行う。成績の評価は定期試験の成績70%、演習課題の成績30%で行い、合計の成績が60点以上の者を合格とする。なお,演習課題は全問提出を義務づける。講義ノートの内容を見直し、講義に関係する例題・演習問題を解いておくこと。また講義で示した次回予定の部分を予習しておくこと。
注意点:
プログラミング技術は、何度もエラーを出しながらそれを自分の手で修正していく過程で上達する。一人ひとりが演習に主体的に取り組んで欲しい。また、Visual Studio Community(Microsoft社)やC++Builder(Embarcadero社)など、Windows上で動作するフリーソフトのCコンパイラがインターネット上で公開されているので、それを入手して個人のコンピュータ環境で自由に操作してみることを勧める。
授業の属性・履修上の区分
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
配列の利用、初期化 |
配列の宣言および初期化、多次元配列を理解する
|
2週 |
文字列と配列 |
文字列と配列の関係を理解する
|
3週 |
プログラミング演習 |
演習を通して第1~2週の内容を深く理解する
|
4週 |
関数(1) |
関数の定義、呼び出し、引数を理解する
|
5週 |
関数(2) |
戻り値、変数のスコープを理解する
|
6週 |
プログラミング演習 |
演習を通して第4~5週の内容を深く理解する
|
7週 |
プログラミング演習 |
演習を通して第4~5週の内容を深く理解する
|
8週 |
関数(3) |
変数の記憶寿命、関数プロトタイプ宣言を理解する
|
2ndQ |
9週 |
ポインタ(1) |
変数のアドレスを理解する
|
10週 |
ポインタ(2) |
ポインタの仕組みを理解する
|
11週 |
プログラミング演習 |
演習を通して第8~10週の内容を深く理解する
|
12週 |
ポインタ(3) |
ポインタの使い方を理解する
|
13週 |
ポインタ(4) |
参照渡しを理解する
|
14週 |
プログラミング演習 |
演習を通して第12~13週の内容を深く理解する
|
15週 |
(期末試験) |
|
16週 |
復習 |
前期に学んだ内容を総合的に理解する
|
後期 |
3rdQ |
1週 |
ポインタ(5) |
参照渡しの使い方を理解する
|
2週 |
配列とポインタの応用(1) |
配列とポインタの関係、引数と配列の関係を理解する
|
3週 |
プログラミング演習 |
演習を通して第1~2週の内容を深く理解する
|
4週 |
配列とポインタの応用(2) |
文字列とポインタの関係を理解する
|
5週 |
配列とポインタの応用(3) |
文字列操作関数を理解する
|
6週 |
プログラミング演習 |
演習を通して第4~5週の内容を深く理解する
|
7週 |
プログラミング演習 |
演習を通して第4~5週の内容を深く理解する
|
8週 |
ユーザ定義型(1) |
構造体の宣言および初期化を理解する
|
4thQ |
9週 |
ユーザ定義型(2) |
構造体の使い方を理解する
|
10週 |
プログラミング演習 |
演習を通して第8~9週の内容を深く理解する
|
11週 |
ユーザ定義型(3) |
構造体の穴を理解する
|
12週 |
ファイルの入出力(1) |
ファイルへの出力方法を理解する
|
13週 |
ファイルの入出力(2) |
ファイルからの入力方法を理解する
|
14週 |
プログラミング演習 |
演習を通して第11~13週の内容を深く理解する
|
15週 |
(期末試験) |
|
16週 |
復習 |
後期に学んだ内容を総合的に理解する
|
評価割合
| 定期試験 | 課題 | 相互評価 | 態度 | ポートフォリオ | その他 | 合計 |
総合評価割合 | 70 | 30 | 0 | 0 | 0 | 0 | 100 |
基礎的能力 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
専門的能力 | 70 | 30 | 0 | 0 | 0 | 0 | 100 |
分野横断的能力 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |