プログラミング基礎

科目基礎情報

学校 函館工業高等専門学校 開講年度 平成28年度 (2016年度)
授業科目 プログラミング基礎
科目番号 0091 科目区分 専門 必修
授業の形態 演習 単位の種別と単位数 履修単位: 2
開設学科 生産システム工学科 対象学生 2
開設期 通年 時間/週 2
教科書/教材 筧捷彦監修,後藤良和・高田大二・佐久間修一著 「初級 C言語」(実教出版)/配布プリント
担当者 後藤 等,倉山 めぐみ,河合 博之,川合 政人,東海林 智也

到達目標

1. 基本的な操作(条件文,繰り返し文,配列等)を使い,これを含むプログラムが記述できる.
2. プロシージャ(または,関数,サブルーチンなど)の概念を理解し,これを含むプログラムを記述できる.
3. ポインタやファイルの入出力の概念を理解し,これらを含むプログラムを記述できる.
4. 構造体の概念を理解し,これを含むプログラムを記述できる.

評価(ルーブリック)

理想的な到達レベルの目安(優)標準的な到達レベルの目安(良)未到達レベルの目安(不可)
評価項目1未知の課題に対して,適切に操作を組み合わせてプログラムを記述できる.講義の例と類似した課題に対し,基本的な操作を用いてプログラムを記述できる.基本的な操作を用いてプログラムを記述できない.
評価項目2未知の課題に対して,適切なユーザ関数を定義し,利用するプログラムを記述できる.講義の例と類似した課題に対し,ユーザ関数を定義し,利用するプログラムを記述できる.ユーザ関数の概念が理解できず,ユーザ関数の定義や利用するプログラムを記述できない.
評価項目3未知の課題に対して,適切にポインタやファイルの入出力を用いるプログラムを記述できる.講義の例と類似した課題に対し,ポインタやファイルの入出力を用いるプログラムを記述できる.ポインタや構造体の概念が理解できず,ポインタやファイルの入出力を利用するプログラムを記述できない.
評価項目4未知の課題に対して,適切に構造体を用いるプログラムを記述できる.講義の例と類似した課題に対し,構造体を用いるプログラムを記述できる.ファイルの入出力の概念が理解できず,構造体を利用するプログラムを記述できない.

学科の到達目標項目との関係

函館高専教育目標 B, 函館高専教育目標 C

教育方法等

概要:
プログラミングとは平易に表現すると「人間の考えた通りの処理をコンピュータに行わせるために,コンピュータに指示を与えること」である.人間に対して指示を与えるためには,言語(例えば日本語)を使用して話しかける.同様にコンピュータに対しては『プログラミング言語』を用いて指示を行う.本講義ではプログラミング言語の1つであるC言語の文法を学ぶ.ユーザ関数,ポインタ,構造体,ファイルの入出力を理解し,それらを活用した簡単なプログラムを独力で作成できるようになることが到達レベルである.
授業の進め方と授業内容・方法:
1回の授業2時間のうち前半は教室での座学,半はコンピュータを使用して実際にプログラムを作成する演習を行う.
後半の演習については、「成果品・実技」の達成度評価となる.演習問題の採点基準は以下のとおりとする.
①その授業時間内に教員のチェックを受け、正しいプログラムを提出できた。 … 100点
②次回の授業日前日17:00までに正しいプログラムを提出できた。             … 80点
③演習担当教員が定めるその期の提出締切日までに正しいプログラムが提出できた。 … 60点
④③の提出締切日までに正しいプログラムの提出ができなかった。  … 0点
③の期間については、提出したプログラムに間違いがある場合は指摘するので、完成するまで何度でも提出可能とする.
注意点:
1回の授業2時間のうち前半は教室での座学,半はコンピュータを使用して実際にプログラムを作成する演習を行う.
後半の演習については、「成果品・実技」の達成度評価となる.演習問題の採点基準は以下のとおりとする.
①その授業時間内に教員のチェックを受け、正しいプログラムを提出できた。 … 100点
②次回の授業日前日17:00までに正しいプログラムを提出できた。             … 80点
③演習担当教員が定めるその期の提出締切日までに正しいプログラムが提出できた。 … 60点
④③の提出締切日までに正しいプログラムの提出ができなかった。  … 0点
③の期間については、提出したプログラムに間違いがある場合は指摘するので、完成するまで何度でも提出可能とする.

授業計画

授業内容・方法 到達目標
前期
1週 ガイダンス (0.5h)
プログラミング入門の復習 (5.5h)
scanf関数, printf関数, if文, switch文を用いたプログラム作成の復習
for文, while文の復習
授業の進め方,年間計画を理解する。
scanf関数, printf関数, if文, switch文を用いてプログラムを正しく作成できる。
for文, while文を用いてプログラムを正しく作成できる。
2週 プログラミング入門の復習 (5.5h)
scanf関数, printf関数, if文, switch文を用いたプログラム作成の復習
for文, while文の復習
scanf関数, printf関数, if文, switch文を用いてプログラムを正しく作成できる。
3週 プログラミング入門の復習 (5.5h)
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週 まとめ (2h) 復習をかねて今までの知識でプログラムを作成する。
8週 前期中間試験
9週 答案返却・解答解説 (1h)
ユーザ関数 (コア)
・ユーザ関数の定義 (1h)
間違った問題の正答を理解できる。
ユーザ関数を定義し、呼び出すプログラムを作成できる。
10週 ・引数のあるユーザ関数 引数のあるユーザ関数を用いてプログラムを作成できる。
11週 ・戻り値のあるユーザ関数 戻り値のあるユーザ関数を用いてプログラムを作成できる。
12週 ・配列を引数としたユーザ関数 配列を引数として持つユーザ関数を作成し、利用できる。
13週 標準ライブラリ関数 三角関数などの標準ライブラリ関数を利用して,主に数学に関するプログラムを作成できる。
14週 まとめ 今までの知識で正しいプログラムを作成できる。
15週 前期期末試験
16週 試験答案返却・解答解説
復習問題 (1h)
間違った問題の正答を求めることができる
復習問題を理解し、正しいプログラムを作成できる。
後期
1週 ポインタ
ポインタの概念

アドレスに関する基本概念が理解できる。
2週 ポインタの使用例 ポインタを使う意味を理解し、利用できる。
3週 ユーザ関数への利用 ユーザ関数の引数にポインタを使用できる。
4週 ポインタと配列 配列とアドレスの関係を理解できる。
5週 ポインタと文字列 ポインタを利用した文字列を理解し、利用できる。
6週 ファイルの入出力
ファイルの書き込み、読み込み

プログラムでファイルの読み書きができる。
7週 ファイル操作を用いたデータの処理 計算結果をファイルに書き込んだり、ファイルからデータを読み込んでプログラムで計算したりすることができる。
8週 後期中間試験
9週 テストの解答 (1h)
構造体
・構造体の概念 (1h)
間違った問題の正答を理解できる。

構造体のメリットを理解できる。
10週 構造体の利用 構造体変数の入出力を用いてプログラムを作成できる。
11週 構造体の配列 構造体の配列を用いてプログラムを作成できる。
12週 ユーザ関数の引数に構造体を利用 引数に構造体を利用したユーザ関数を用いてプログラムを作成できる。
13週 構造体へのポインタ ユーザ関数の引数に構造体へのポインタを利用できる。
14週 まとめ
15週 学年末試験
16週 試験答案返却・解答解説 ・間違った問題の正答を求めることができる

評価割合

試験発表相互評価成果品・実技ポートフォリオその他合計
総合評価割合50005000100
基礎的能力0000000
専門的能力50005000100
分野横断的能力0000000