概要:
プログラミングとは平易に表現すると「人間の考えた通りの処理をコンピュータに行わせるために,コンピュータに指示を与えること」である.人間に対して指示を与えるためには,言語(例えば日本語)を使用して話しかける.同様にコンピュータに対しては『プログラミング言語』を用いて指示を行う.本講義ではプログラミング言語の1つであるC言語の文法を学ぶ.ユーザ関数,ポインタ,構造体,ファイルの入出力を理解し,それらを活用した簡単なプログラムを独力で作成できるようになることが到達レベルである.
授業の進め方・方法:
基本的には,1回の授業のうち前半は座学,後半はコンピュータを使用して実際にプログラムを作成する演習を行う.ただし,変更となる場合もある.
後半の演習については、「成果品・実技」の達成度評価となる.演習問題の採点基準は以下のとおりとする.
①その授業時間内に教員のチェックを受け、正しいプログラムを提出できた。 … 100点
②次回の授業日前日17:00までに正しいプログラムを提出できた。 … 80点
③演習担当教員が定めるその期の提出締切日までに正しいプログラムが提出できた。 … 60点
④③の提出締切日までに正しいプログラムの提出ができなかった。 … 0点
③の期間については、提出したプログラムに間違いがある場合は指摘するので、完成するまで何度でも提出可能とする.
以下に,各コースでの評価の注意点について記述しておく.
Mコースについては,評価割合における「成果品・実技」を「課題または小テスト」に読み替える。
担当教員:近藤 司,浜 克己,本村 真治,川合 政人
Eコースについては,以下の通り評価を行う。
課題提出期限については以下の①~④とする。
①次回授業日までに正しいプログラムを提出できた。 … 100点
②そのクオーターの区切り(定期試験orまとめレポート)までに正しいプログラムを提出できた。 … 80点
③担当教員が定める半期分の提出締切日までに正しいプログラムが提出できた。 … 60点
④③の提出締切日までに正しいプログラムの提出ができなかった。 … 0点
③の期間については,提出したプログラムに間違いがある場合は指摘するので、完成するまで何度でも提出可能とする。
前期期末試験および学年末試験については,まとめレポート課題の提出とする。すなわち,最下段の評価割合における「試験」は,「まとめレポート+試験」に読み替える。
(2回のまとめレポートと2回の定期試験の平均点を評価の50%に計上する)
担当教員:下町 健太朗,藤原 亮
Jコースについては,評価割合における「試験」を年4回(前期中間,前期期末,後期中間,後期期末)の平均とする.
「成果品・実技」を各授業での問題演習の平均とする.
本年度は2月の期末試験を行わなかったため,以下のように変更する.
試験37.5%(前期中間,前期期末,後期中間の平均),課題62.5%(各授業での課題の平均)
担当教員:倉山めぐみ,河合 博之
注意点:
※ 各授業で行う演習課題については,必ずすべての課題を提出すること.提出していない課題がある場合は不合格となる場合がある.
※ 1年生のプログラミング入門で使用した教科書は,授業時に本授業の教科書と一緒に持参すること.
※ 各コースで担当教員,評価方法が異なるため注意すること.
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
ガイダンス (0.5h) プログラミング入門の復習 scanf関数, printf関数, if文, switch文を用いたプログラム作成の復習 for文, while文の復習 |
授業の進め方,年間計画を理解する。 scanf関数, printf関数, if文, switch文を用いてプログラムを正しく作成できる。 for文, while文を用いてプログラムを正しく作成できる。
|
2週 |
プログラミング入門の復習 scanf関数, printf関数, if文, switch文を用いたプログラム作成の復習 for文, while文の復習 |
scanf関数, printf関数, if文, switch文を用いてプログラムを正しく作成できる。
|
3週 |
プログラミング入門の復習 scanf関数, printf関数, if文, switch文を用いたプログラム作成の復習 for文, while文の復習 |
scanf関数, printf関数, if文, switch文を用いてプログラムを正しく作成できる。
|
4週 |
else-if文、if文のネスト、2重ループ (コア) |
if - else if - else文を使用することができる。if文、for文のネストを使用することができる。
|
5週 |
文字列 (コア) |
配列を用いて文字列を扱うことができる。
|
6週 |
2次元配列 (コア) |
2次元配列を用いて正しいプログラムを作成できる。
|
7週 |
まとめ |
復習をかねて今までの知識でプログラムを作成する。
|
8週 |
前期中間試験 |
|
2ndQ |
9週 |
答案返却・解答解説 (1h) ユーザ関数 (コア) ・ユーザ関数の定義 (1h)
(Eコースについては答案返却の代わりにまとめレポート課題の解答解説を行う) |
間違った問題の正答を理解できる。 ユーザ関数を定義し、呼び出すプログラムを作成できる。
|
10週 |
・引数のあるユーザ関数 |
引数のあるユーザ関数を用いてプログラムを作成できる。
|
11週 |
・戻り値のあるユーザ関数 |
戻り値のあるユーザ関数を用いてプログラムを作成できる。
|
12週 |
・配列を引数としたユーザ関数 |
配列を引数として持つユーザ関数を作成し、利用できる。
|
13週 |
標準ライブラリ関数 |
三角関数などの標準ライブラリ関数を利用して,主に数学に関するプログラムを作成できる。
|
14週 |
まとめ |
今までの知識で正しいプログラムを作成できる。
|
15週 |
前期期末試験
(Eコースについては試験を実施せず,まとめレポート課題を課す) |
|
16週 |
試験答案返却・解答解説 復習問題 (1h)
(Eコースについては答案返却の代わりにまとめレポート課題の解答解説を行う) |
間違った問題の正答を求めることができる 復習問題を理解し、正しいプログラムを作成できる。
|
後期 |
3rdQ |
1週 |
ポインタ ポインタの概念 |
アドレスに関する基本概念が理解できる。
|
2週 |
ポインタの使用例 |
ポインタを使う意味を理解し、利用できる。
|
3週 |
ユーザ関数への利用 |
ユーザ関数の引数にポインタを使用できる。
|
4週 |
ポインタと配列 |
配列とアドレスの関係を理解できる。
|
5週 |
ポインタと文字列 |
ポインタを利用した文字列を理解し、利用できる。
|
6週 |
ファイルの入出力 ファイルの書き込み、読み込み |
プログラムでファイルの読み書きができる。
|
7週 |
ファイル操作を用いたデータの処理 |
計算結果をファイルに書き込んだり、ファイルからデータを読み込んでプログラムで計算したりすることができる。
|
8週 |
後期中間試験 |
|
4thQ |
9週 |
テストの解答 (1h) 構造体 ・構造体の概念 (1h) |
間違った問題の正答を理解できる。
構造体のメリットを理解できる。
|
10週 |
構造体の利用 |
構造体変数の入出力を用いてプログラムを作成できる。
|
11週 |
構造体の配列 |
構造体の配列を用いてプログラムを作成できる。
|
12週 |
ユーザ関数の引数に構造体を利用 |
引数に構造体を利用したユーザ関数を用いてプログラムを作成できる。
|
13週 |
構造体へのポインタ |
ユーザ関数の引数に構造体へのポインタを利用できる。
|
14週 |
まとめ |
これまで学習した内容を利用して,複雑なプログラムを作成することができる。
|
15週 |
学年末試験
(Eコースについては試験を実施せず,まとめレポート課題を課す) |
|
16週 |
テストの解答
(Eコースについては答案返却の代わりにまとめレポート課題の解答解説を行う) |
間違った問題の正答を理解できる。
|
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の専門工学 | 機械系分野 | 情報処理 | プログラムを実行するための手順を理解し、操作できる。 | 4 | 前1 |
定数と変数を説明できる。 | 4 | 前1 |
整数型、実数型、文字型などのデータ型を説明できる。 | 4 | 前1 |
演算子の種類と優先順位を理解し、適用できる。 | 4 | 前1 |
算術演算および比較演算のプログラムを作成できる。 | 4 | 前1 |
データを入力し、結果を出力するプログラムを作成できる。 | 4 | 前1 |
条件判断プログラムを作成できる。 | 4 | 前1 |
繰り返し処理プログラムを作成できる。 | 4 | 前1 |
一次元配列を使ったプログラムを作成できる。 | 4 | 前5 |
情報系分野 | プログラミング | 代入や演算子の概念を理解し、式を記述できる。 | 3 | 前1 |
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。 | 3 | 前10 |
変数の概念を説明できる。 | 3 | 前5,前6 |
データ型の概念を説明できる。 | 3 | 前5,前6 |
制御構造の概念を理解し、条件分岐を記述できる。 | 3 | 前1,前2 |
制御構造の概念を理解し、反復処理を記述できる。 | 3 | 前1,前2 |
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。 | 3 | 前1 |
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。 | 3 | 前1 |
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。 | 3 | 前1 |
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。 | 2 | 前1 |
システムプログラム | コンパイラの役割と仕組みについて説明できる。 | 4 | 前1 |
分野別の工学実験・実習能力 | 情報系分野【実験・実習能力】 | 情報系【実験・実習】 | 与えられた問題に対してそれを解決するためのソースプログラムを、標準的な開発ツールや開発環境を利用して記述できる。 | 2 | |
ソフトウェア生成に利用される標準的なツールや環境を使い、ソースプログラムをロードモジュールに変換して実行できる。 | 2 | |
ソフトウェア開発の現場において標準的とされるツールを使い、生成したロードモジュールの動作を確認できる。 | 2 | |