概要:
C言語でプログラミングを行うための基礎を学ぶ。繰り返しループ、条件分岐、配列、関数、ポインタ、ファイル入出力などを中心に演習を交えて学ぶ。また、ソートや文字列処理、連立方程式解法などの基礎的なアルゴリズムについて学習し、演習する。
授業の進め方・方法:
講義と実習
注意点:
〇授業のポイント
プログラミング言語は自分でプログラムを書き、デバッグ(修正)して動かす、という作業を繰り返さないと習得できない。できれば自宅のパソコンでも演習ができるように フリーソフトをインストールしたほうが 良い。
〇準備するもの
自宅にもPCを用意し、実習できるようにすることが望ましい。
〇履修前の予習
教科書は自分で問題を解く形で進められるものである。どんどん自分でプログラミングしてみること。
〇単位の認定
本科目では、60点以上の評価で単位を認定する。評価が60点に満たない者は、願い出により追認試験を受けることができる。追認試験の結果、単位の修得が認められた者にあっては、その評価を60点とする。
〇その他
授業計画は、学生の理解度に応じて変更する場合がある。
〇事前に行う準備学習
前回の講義の復習および予習を行ってから授業に臨むこと。
(授業外学習・事前)授業内容を予習しておく。
(授業外学習・事後)授業内容に関する課題を解く。
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
プログラミングシステムの使用方法 C言語の基礎 |
プログラミングシステムの使用方法を理解する。 基本的なC言語プログラム(printf文,scanf文)を作成し理解する。
|
2週 |
変数(データ型、型変換) 制御文(1) |
データ型、型変換について理解する。 if、else、switch文の使用方法を理解する。
|
3週 |
制御文(2) |
ループ(while、do、for文)、インクリメント、デクリメントについて理解する。
|
4週 |
制御文(3) |
様々な制御構文の例題、演習に取り組む。
|
5週 |
小テスト1 |
第1~4週までの内容の理解度を確認する。
|
6週 |
1次元配列 |
1次元配列の使用方法について理解する。
|
7週 |
2次元配列 |
2次元配列の使用方法について理解する。
|
8週 |
ファイル入出力 |
ファイルの入出力方法について理解する。
|
2ndQ |
9週 |
中間試験 |
第1~8週目までの確認。
|
10週 |
答案返却と解説 関数(1) |
簡単な関数の作成、利用方法を学ぶ。
|
11週 |
関数(2) |
関数における配列渡しを理解する。
|
12週 |
小テスト2 |
第10・11週の内容を中心として、その理解度を確認する。
|
13週 |
ポインタ(1) |
ポインタの概念と基本的な利用方法を理解する。 ポインタを引数に持つ関数の作成方法について理解する。
|
14週 |
ポインタ(2) |
ポインタの利用例を学ぶ。
|
15週 |
前期末試験 |
第10~14週目までの確認。
|
16週 |
答案返却と解説 アンケート |
|
後期 |
3rdQ |
1週 |
前期の復習 |
|
2週 |
構造体(1) |
構造体の仕組みと使い方を学ぶ。
|
3週 |
構造体(2) |
様々な構造体の利用方法を学ぶ。
|
4週 |
小テスト(3) |
第1・2週の内容を中心として、その理解度を確認する。
|
5週 |
ソートアルゴリズム(1) |
バブルソート、直接選択法について学び、演習する。
|
6週 |
ソートアルゴリズム(2) |
単純挿入法、辞書ソートについて学び、演習する。
|
7週 |
文字列処理(1) |
文字列処理の基礎について学び、演習する。
|
8週 |
文字列処理(2) |
文字列処理について演習する。
|
4thQ |
9週 |
中間試験 |
第5~8週までの内容を中心として、その理解度を確認する。
|
10週 |
答案返却と解説 文字列処理(3) |
複合的な文字列処理について学び、演習する。
|
11週 |
方程式の解 |
二分法とニュートン法により方程式を解く方法を学ぶ。
|
12週 |
小テスト(4) |
第10・11週の内容を中心として、その理解度を確認する。
|
13週 |
数値計算(1) |
オイラー法による微分方程式の解法を学ぶ。
|
14週 |
数値計算(2) |
ルンゲ・クッタ法による微分方程式の解法を学ぶ。
|
15週 |
期末試験 |
第13・14週の内容を中心として、その理解度を確認する。
|
16週 |
テストの解答と解説 |
|
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
基礎的能力 | 工学基礎 | 情報リテラシー | 情報リテラシー | 情報を適切に収集・処理・発信するための基礎的な知識を活用できる。 | 3 | 前1 |
論理演算と進数変換の仕組みを用いて基本的な演算ができる。 | 3 | 前1 |
コンピュータのハードウェアに関する基礎的な知識を活用できる。 | 3 | 前1 |
情報伝達システムやインターネットの基本的な仕組みを把握している。 | 3 | 前1 |
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。 | 3 | 前10,前11,前13,前14,後5,後6,後10,後11,後13,後14 |
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。 | 3 | 前10,前11,前13,前14,後5,後6,後10,後11,後13,後14 |
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。 | 3 | 前10,前11,前13,前14,後5,後6,後10,後11,後13,後14 |
情報セキュリティの必要性および守るべき情報を認識している。 | 3 | 前1 |
個人情報とプライバシー保護の考え方についての基本的な配慮ができる。 | 3 | 前1 |
インターネット(SNSを含む)やコンピュータの利用における様々な脅威を認識している | 3 | 前1 |
インターネット(SNSを含む)やコンピュータの利用における様々な脅威に対して実践すべき対策を説明できる。 | 3 | 前1 |