到達目標
1) C言語の基本文法である変数宣言、条件分岐、繰り返しについて理解している
2) 簡単な配列処理ができる
3) 簡単な関数を作成し、呼び出して使うことができる
4) 構造体の基本概念を理解している
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
評価項目1 | 基本文法に関するプログラム課題のプログラム作成だけではなく、自らそれを発展させた課題を設定でき、そのプログラムを作成することができる。 | 基本文法に関するプログラム課題に対してプログラムを作成することができる | 基本文法に関するプログラム課題のプログラムを完成させることができない |
評価項目2 | 多次元配列を使ったプログラムを作成することができる | 1次元配列を使ったプログラム課題に対してプログラムを作成することができる | 配列を使ったプログラム課題を完成させることができない |
評価項目3 | 値渡しだけではなくポインタ渡しを使った関数を作成し、それを利用することができる | 値渡しの関数を作成し、それを利用することができる | 関数を作成し、それを利用することができない |
評価項目4 | 構造体のメンバに対する直接参照、間接参照を自在に使うことができる | 構造体を使うことの利点について理解している | 構造体を使うことの利点について理解していない |
学科の到達目標項目との関係
学習・教育目標・サブ目標との対応 1-2
説明
閉じる
学習・教育目標・サブ目標との対応 2-2
説明
閉じる
教育方法等
概要:
本講義では、初めてプログラミング言語を学ぶ学生を主な対象とし、広く一般的に使われるC言語によるプログラミングの基礎について講義と演習を行う。講義では、C言語の文法を学びながらプログラミングの基本制御構造である逐次処理、条件分岐、繰り返しや関数、構造体について学ぶとともに、実際に使用する際の注意点などについて講義し、各自が自力で目的とするプログラム作成が可能となるような土台作りをすることを目的とする。
授業の進め方・方法:
本講義では、講義は教室で行い、演習は演習室で行うという形式をとる
注意点:
プログラミング言語は、宣言や文法といった覚えないといけないことがあるとともに、それらを使って目的の処理を実現するアルゴリズムを考えないといけないことから、授業計画を確認して予習をし、授業の後には復習をすること。また、プログラムは理解したから書けるというものではなく、自分で作りたいものを作るということを繰り返しながら上達するものであるから、授業以外でも各自でいろいろなプログラム作成してみること。
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
授業計画・達成目標・成績の評価方法等の説明、データ表現1 |
授業計画・達成目標・成績の評価方法等の理解、2進数、8進数、16進数などの基数変換の理解
|
2週 |
データ表現2、 プログラムの構造とプログラミングの流れ1 |
データ表現、基本的なプログラム構造、コンパイラ言語とインタプリタ言語の概要理解
|
3週 |
プログラムの構造とプログラミングの流れ2、データ型と入出力1 |
定数と変数、グローバル変数とローカル変数、データ型の理解
|
4週 |
データ型と入出力2 |
入出力関数、変数への代入、プリプロセスの理解
|
5週 |
式と演算子1 |
算術演算、シフト演算、ビット演算の理解
|
6週 |
式と演算子2 |
インクリメント、デクリメント、キャスト、sizeofの理解
|
7週 |
条件分岐1 |
比較演算子、論理演算子、条件式の理解
|
8週 |
条件分岐2 |
if文、switch文の理解
|
2ndQ |
9週 |
前期中間試験 |
|
10週 |
試験答案の返却及び解説、繰り返し処理1 |
試験問題の解説及びポートフォリオの記入、for文の理解
|
11週 |
繰り返し処理2 |
while文、do-while文、break文、continue文の理解
|
12週 |
繰り返し処理2 |
無限ループ、多重ループの理解
|
13週 |
関数の基本的な書き方 |
関数の基本構造、関数化によるメリット
|
14週 |
関数のデータのやり取り1 |
関数間のデータのやり取りの理解
|
15週 |
関数のデータのやり取り2 |
ローカル変数の理解
|
16週 |
前期末試験 |
|
後期 |
3rdQ |
1週 |
試験答案の返却及び解説、ポインタとは1 |
試験問題の解説及びポートフォリオの記入、アドレスとポインタの理解
|
2週 |
ポインタとは2、ポインタと関数1 |
変数とポインタ変数、ポインタ変数とデータ型、ポインタを使ったデータのやり取り1の理解
|
3週 |
ポインタと関数1 |
ポインタを使ったデータのやり取り2の理解
|
4週 |
配列の仕組み |
配列の宣言、1次元配列、2次元配列、メモリと配列の理解
|
5週 |
配列と繰り返し処理1 |
文字列の理解
|
6週 |
配列と繰り返し処理2 |
配列と繰り返しの理解
|
7週 |
ファイルと文字列1 |
文字列のファイルとの入出力の理解
|
8週 |
ファイルと文字列2 |
文字列のファイルとの入出力の理解
|
4thQ |
9週 |
後期中間試験 |
|
10週 |
試験答案の返却及び解説、関数と配列1 |
試験問題の解説及びポートフォリオの記入、ポインタを使った関数とのデータのやり取りの理解
|
11週 |
関数と配列2 |
ポインタを使った関数とのデータのやり取りの理解
|
12週 |
構造体とは |
構造体とは、構造体の宣言と構造体変数、メンバ変数の理解
|
13週 |
メンバ変数の参照1 |
構造体とポインタ、直接参照の理解
|
14週 |
メンバ変数の参照2 |
間接参照、構造体と関数の理解
|
15週 |
構造体配列、メモリ領域の動的確保 |
構造体の配列、malloc関数free関数、realloc関数、の理解
|
16週 |
学年末試験 |
|
モデルコアカリキュラムの学習内容と到達目標
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
評価割合
| 試験 | 発表 | 相互評価 | 態度 | ポートフォリオ | その他 | 合計 |
総合評価割合 | 80 | 0 | 0 | 0 | 0 | 20 | 100 |
基礎的能力 | 50 | 0 | 0 | 0 | 0 | 20 | 70 |
専門的能力 | 30 | 0 | 0 | 0 | 0 | 0 | 30 |
分野横断的能力 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |