C言語を用いて,基本的なプログラムを作成・実行できる.具体的には,変数,演算,入出力,分岐,繰返し,配列,関数,文字列,ポインタ,構造体を用いたC言語のプログラムを作成・実行できる.また,作成したプログラムの処理の流れを説明できる.
概要:
C言語を用いてプログラミングの基礎を学習する.
変数,演算,入出力,分岐,繰返し,配列,関数,文字列,ポインタ,構造体等を用いたプログラムの作成方法を,演習を主体として実践的に学ぶ.
授業の進め方・方法:
各トピックについて,(1) 要点を説明する5分~10分程度の講義,(2) Webフォームによる確認問題,(3) プログラミング演習,の3項目を行う形で授業を進める.また,定期試験(プログラミング実技形式等で行う中間試験・期末試験),および,理解度確認テスト(授業時にWebフォーム形式などで行う小テスト)を実施する.加えて,プログラムの相互レビューや,予習・復習の成果を確認するクイズを行うことがある.
演習課題の成果(相互レビューや予習・復習クイズの評価を含む)40%,定期試験40%,理解度確認テスト20%の割合で評価を行う.
注意点:
規定授業時数は120時間である.
3年次以降にプログラミングの知識が求められる科目が多数設けられているため,本科目でプログラミングの基礎をしっかりと習得することが重要である.
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
ガイダンス・環境設定・基本操作 |
・基本操作(プログラムの編集,コンパイル,実行)ができる ・C言語プログラムの基本形を理解し,実行できる
|
2週 |
変数・演算・入出力 (1) |
・基本的なデータ型(整数,実数など)を理解し,変数を定義できる ・四則演算と代入文を利用できる ・printf関数およびscanf関数による入出力を利用できる
|
3週 |
変数・演算・入出力 (2) |
同上
|
4週 |
分岐・繰り返し (1) |
・ifとswitchによる条件分岐が記述できる ・for,while,do-whileによる繰り返し処理が記述できる
|
5週 |
分岐・繰り返し (2) |
同上
|
6週 |
分岐・繰り返し (3) |
同上
|
7週 |
総合演習1 |
これまで学んだ知識を使って,各自の創造力を生かしたプログラムが作成できる
|
8週 |
前期中間試験 |
|
2ndQ |
9週 |
配列 (1) |
1次元配列と2次元配列を用いたプログラムを読み書きできる
|
10週 |
配列 (2) |
同上
|
11週 |
配列 (3) |
同上
|
12週 |
配列 (4) |
同上
|
13週 |
総合演習2 (1) |
これまで学んだ知識を使って,各自の創造力を生かしたプログラムが作成できる
|
14週 |
総合演習2 (2) |
同上
|
15週 |
前期期末試験 |
|
16週 |
答案返却・復習 |
|
後期 |
3rdQ |
1週 |
関数 (1) |
・関数を理解し,利用できる ・変数のスコープ(ローカル変数とグローバル変数)を理解し,利用できる
|
2週 |
関数 (2) |
同上
|
3週 |
関数 (3) |
同上
|
4週 |
文字と文字列 (1) |
・文字と文字列を理解し,利用できる ・文字列に関するライブラリ関数を利用できる
|
5週 |
文字と文字列 (2) |
同上
|
6週 |
ポインタ (1) |
・ポインタを理解し,利用できる ・ポインタと配列の関係を理解し,ポインタを使った配列の処理ができる ・メモリアドレスの受け渡しを伴う関数を理解し,利用できる
|
7週 |
総合演習3 |
これまで学んだ知識を使って,各自の創造力を生かしたプログラムが作成できる
|
8週 |
後期中間試験 |
|
4thQ |
9週 |
ポインタ (2) |
「ポインタ (1)」と同じ
|
10週 |
ポインタと文字列 (1) |
ポインタと文字列の関係を理解し,ポインタを使った文字列を扱う処理が記述できる
|
11週 |
ポインタと文字列 (2) |
同上
|
12週 |
構造体 (1) |
構造体を理解し,利用できる
|
13週 |
構造体 (2) |
同上
|
14週 |
総合演習4 |
これまで学んだ知識を使い,各自の創造力を生かしたプログラムが作成できる
|
15週 |
後期期末試験 |
|
16週 |
答案返却 |
|
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
基礎的能力 | 工学基礎 | 情報リテラシー | 情報リテラシー | 同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。 | 2 | 前13,前14,後13,後14 |
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。 | 1 | 前13,前14,後13,後14 |
専門的能力 | 分野別の専門工学 | 情報系分野 | プログラミング | 代入や演算子の概念を理解し、式を記述できる。 | 2 | 前1,前2,前3,前4 |
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。 | 2 | 後1,後2,後3 |
変数の概念を説明できる。 | 2 | 前1,前2,前3,前4,前14,後4,後5,後6,後7,後9,後10,後11,後12 |
データ型の概念を説明できる。 | 2 | 前1,前2,前3,前4,前9,前10,前11,前12,前14,後4,後5,後6,後7,後9,後10,後11,後12 |
制御構造の概念を理解し、条件分岐を記述できる。 | 2 | 前5,前6,前7 |
制御構造の概念を理解し、反復処理を記述できる。 | 2 | 前5,前6,前7 |
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。 | 2 | 前1,前2,前3,前4 |
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。 | 2 | 前1,前2,前3,前4 |
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。 | 2 | 前8,前15,後8,後15 |
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。 | 1 | 前1,前2,前3 |
要求仕様に従って、いずれかの手法により動作するプログラムを実装することができる。 | 1 | 前13,前14,後13,後14 |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを実装できる。 | 2 | 前13,前14,後13,後14 |
ソフトウェア | アルゴリズムの概念を説明できる。 | 1 | 前13,前14,後13,後14 |
与えられたアルゴリズムが問題を解決していく過程を説明できる。 | 1 | 前13,前14,後13,後14 |
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。 | 1 | 前13,前14,後13,後14 |
コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。 | 2 | 前1,前2,前3,前4,前9,前10,前11,前12,後4,後5,後6,後7,後9,後10,後11,後12 |