プログラミング言語I

科目基礎情報

学校 東京工業高等専門学校 開講年度 2018
授業科目 プログラミング言語I
科目番号 0078 科目区分 専門 / 必修
授業形態 授業 単位の種別と単位数 履修単位: 1
開設学科 情報工学科 対象学年 2
開設期 前期 週時間数 2
教科書/教材 webによる教材の提供
担当教員 吉本 定伸

到達目標

C言語プログラミングの基礎修得を目標とし,以下を行うことができる.
・プログラムを読みどのような動作が行なわれるか流れを追うことができる.
・処理手順を考え,プログラムを記述,コンパイル・実行し,結果について検討できる.

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安最低限の到達レベルの目安(可)未到達レベルの目安
プログラムを読みどのような動作が行なわれるか流れを追うことができる.基本的なプログラムの動作がわかり,その関連する動作を理解している.簡単なプログラムを読むことができ,関連する動作が分かる.簡単なプログラムを読み,その動作が分かる.簡単なプログラムの動作が分からない.
処理手順を考え,プログラムを記述,コンパイル・実行し,結果について検討できる.基本的なプログラムが作成でき,コンパイル・実行を行い,実行結果について検討することができる.簡単なプログラムを作成し,コンパイル・実行を行い,実行結果について検討することができる.簡単なプログラムを作成し,コンパイル・実行し,結果の確認ができる.簡単なプログラムを作成できない.

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

教育方法等

概要:
C言語の修得ではプログラムのリーディングとライティングが重要である.この2つを交互に行いながら,C言語を修得できるようになっている.授業中において自分でWebテキストのサンプルプログラムの解説を読み,文法の要点を理解し,50個ほどの課題を行う.定期試験では基本的な文法を理解しているかどうか,サンプルプログラムの振る舞いを追跡させる.
授業の進め方・方法:
課題は実行結果とともにWeb提出し,課題受付システムチェック(インデンテーションなどの書式の整合性,コンパイラによるコンパイルエラーの有無),担当教員によるチェックを経て課題が受理される.
将来新しいプログラミング言語を習得する際も,解説を自分で読みながら理解する学習方法は有効であり,その学習方法も習得できる.
注意点:
Webテキストを読む時は,文法上の要点に自分で「気づく」ことが大事である.
・課題の演習では,処理手順をよく考えるためのヒントもWebテキスト中にあるのでよく読むこと.
・課題にはどのように出力するか指示がある場合があるのでそれに従うこと.また,課題の実行結果については正しいかどうか検討してから提出すること.
・課題は遅れないように提出する.計画的に進め状況に応じ放課後等も利用し進めること.課題は自分のペースで先に進んでも良い.
・定期試験前には自分の理解度が正確か,ケアレスミスを犯しやすいところはどこかよく検討してから臨むこと.

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 ガイダンス・Webテキストの紹介を行う.
エディタによるプログラム作成・コンパイル&実行,課題のWeb提出を指導し,実際に提出させる.
授業・授業方法の狙いを理解する.エディタでのプログラムの記述,コンパイル・実行,課題提出方法を理解する.
2週 Webテキストを自分で読んでprintfを使ったプログラムを作成し,実行結果を貼り付けて提出形式ファイルを作成.Web提出する.
printfと書式制御を使ったプログラムの動作を理解でき,それを使ったプログラムを作成できる.int型,double型変数を使える。「=」の意味を理解でき,プログラムの流れを追うことができる.
3週 scanfの動作を理解し,それを使ったプログラムを作成しWeb提出する.
scanfで,実行時にデータを入力できるプログラムの動作を理解でき,それを使ったプログラムを作成できる.プログラムの各行逐次動作説明ができる.
4週 forループの繰り返しを理解し,それを使ったプログラムを作成し,Web提出する.
forループを使った繰り返しのあるプログラムの動作を理解でき,それを使ったプログラムを作成できる.プログラムの各行逐次動作説明ができる.
5週 二重forループの繰り返しを理解し,それを使ったプログラムを作成しWeb提出する. 二重forループを使った繰り返しのあるプログラムの動作を理解でき,それを使ったプログラムを作成できる.プログラムの各行逐次動作説明ができる.
6週 forループを用いた連続加算のプログラムを作成し,Web提出する.
whileループ,dowhileループの繰り返しを理解し,それを使ったプログラムを作成しWeb提出する.
forループを使った連続加算などの繰り返しのあるプログラムの動作を理解でき,それを使ったプログラムを作成できる.プログラムの各行逐次動作説明ができる.
7週 各種ループの使い分けを理解し,適切なループを用いたプログラムを作成しWeb提出する.
各種ループを使い分けて繰り返しのあるプログラムの動作を理解でき,それを使ったプログラムを作成できる.プログラムの各行逐次動作説明ができる.
8週 中間テスト ここまで内容に関して筆記試験で60点以上を獲得する.
2ndQ
9週 if,if-else,if-else if-else,switch caseによる,判断分岐構造を使ったプログラムを作成しWeb提出する.
判断分岐構造を持つプログラムの動作を理解でき,それを使ったプログラムを作成できる.プログラムの各行逐次動作説明ができる.
10週 ループと判断分岐構造を持つプログラムを理解し,その構造を用いたプログラムを作成しWeb提出する.
ループと判断分岐構造を持つプログラムの動作を理解でき,それを使ったプログラムを作成できる.プログラムの各行逐次動作説明ができる.
11週 配列の使い方を理解し,それを使ったプログラムを作成しWeb提出する.
配列を使ったプログラムの動作を理解でき,それを使ったプログラムを作成できる.プログラムの各行逐次動作説明ができる.
12週 char型変数の使い方,文字コードの扱い,printfにおける%cの使い方を理解し,それを使ったプログラムを作成しWeb提出する.
char型変数を使ったプログラムの動作を理解でき,それを使ったプログラムを作成できる.プログラムの各行逐次動作説明ができる.
13週 char型変数の配列である文字列の使い方を理解し,それを使ったプログラムを作成しWeb提出する.
char型変数の配列である文字列を使ったプログラムの動作を理解でき,それを使ったプログラムを作成できる.プログラムの各行逐次動作説明ができる.
14週 二次元配列の使い方を理解し,それを使ったプログラムを作成しWeb提出する.
二次元配列を使ったプログラムを作成の動作を理解でき,それを使ったプログラムを作成できる.プログラムの各行逐次動作説明ができる.
15週 前期期末テスト
前期中間を含み,ここまでの内容に関して筆記試験で60点以上を獲得する.
16週 テスト返却と解答

モデルコアカリキュラムの学習内容と到達目標

分類分野学習内容学習内容の到達目標到達レベル授業週
専門的能力分野別の専門工学情報系分野プログラミング代入や演算子の概念を理解し、式を記述できる。4
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。4
変数の概念を説明できる。4
データ型の概念を説明できる。4
制御構造の概念を理解し、条件分岐を記述できる。4
制御構造の概念を理解し、反復処理を記述できる。4
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。4
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。4
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。4
その他の学習内容少なくとも一つの具体的なコンピュータシステムについて、起動・終了やファイル操作など、基本的操作が行える。3

評価割合

試験課題合計
総合評価割合7525100
基礎的能力000
専門的能力7525100
分野横断的能力000