基礎プログラミング(Fundamentals of Programming)
本科選択・必修開設時期単位数授業形態担 当
情報電子必修1年3講義奥本 幸 ・ 宮崎亮一
【授業の概要】
ソフトウェア開発のために、次のようなプログラミング技術の基礎を修得する。
(1)コンピュータを使って問題を解く手順は1通りではない。この授業では、特に手順を考える力をつけることを目的とした授業を行う。
(2)問題を解く手順をフローチャートに表し、コンピュータで実行するためにプログラミングの方法を学 ぶ。プログラミング言語としては、現在広く普及しているJava言語を取り上げる。
(3)プログラミングの基本項目として次の項目を学ぶ。
  ・コンピュータシステムの構成 ・変数   ・入出力処理 ・条件分岐処理 ・繰り返し処理 
  ・配列   ・メソッド    ・引数機構 ・文字列処理
【授業の進め方】
 プログラミング習得の王道は、読んで真似ることである。従って、授業では、まず各処理に関連した例題を取り上げ、その問題のプログラミングによる解決法とサンプルプログラムを示し、詳しく説明する。次にその例題の解決法を真似ることで解決可能な課題に対してプログラムを制作し、実習を行う。この課題については次回の授業で解答・解説する。
 4回以降の授業は講義(90分)と実習(50分)に分かれる。講義では前回の復習、新規学習項目とその課題を提示する。課題を解く手順をフローチャートに表し、プログラムに変換したものをレポートとして、次回実習までに提出する。実習では自分が作成したプログラムを実行し、レポートを修正する。
 毎回、授業で使用する資料(前回の課題の解答例、新規学習項目、実習課題などをまとめたもの)を配布するので、ファイルに綴じて整理する。
 教室だけでなく、実習を行うPC室でも教科書、ノート、ファイルを必ず持参すること。
 本科目は必修得科目(卒業までに必修得)である。
【授業計画】 【授業項目】 【内 容】
1 回 オリエンテーション
問題を解く手順を考える(1)
授業の進め方を説明する。また、プログラミングに必要な考える力について述べる。問題を解く手順を図示するツールとして、フローチャートを学ぶ。
2 回 問題を解く手順を考える(2) 簡単な問題を解く手順を考え、フローチャートに描く。(変数、条件分岐、繰り返し) 
3 回 ソフトウェアの構成
プログラミング
コンピュータを動かすためのソフトウェアの存在、その種類等について学ぶ。また、コンピュータを使ってどのようにプログラムが作成され、実行されるかを実習を通して学ぶ。 
4 回 データ型、及び変数の型、代入文、出力処理 整数型、実数型等コンピュータで取り扱うデータには型があり、それを記憶する変数にも型があることを学ぶ。さらに、コンピュータ内部での計算処理の記述としての算術式や代入文の書き方、演算子の種類について学ぶ。また、プログラムによる出力処理を学ぶ。
5 回 入力処理 入力処理のプログラム例を取り上げ、プログラムによる出入力処理を学ぶ。
6 回 条件分岐処理(1) 条件分岐処理の必要性を理解させ、条件式の書き方、及び比較演算子の種類等について学ぶ。ここでは特にif文を学ぶ。
7 回 条件分岐処理(2) 二重のif文を学ぶ。
8 回 演習 プログラミングおよびプログラムをコンピュータで実行する作業になれる。また、フローチャート、変数、代入文、入・出力処理、条件分岐について理解度を自己チェックする。(学習シート1)
9 回 中間試験
問題解決手順をフローチャートに表す方法、入出力処理、変数、代入文、if文について理解度を問う。
10 回 答案返却
条件分岐処理(3)
中間試験の解答を行う。
多くの演習を通じて条件分岐処理になれる。特にif〜else文を学ぶ。
11 回 for文(1) for文の特徴を説明し、繰返し処理を扱う例題を用いて使用法を学ぶ。
12 回 for文(2)   演習を通じて繰返し処理になれる。
13 回 for文(3) 二重のfor文を使った繰返し処理に慣れる。
14 回 演 習
条件分岐処理、繰返し処理の理解度を自己チェックする。(学習シート2)
期末試験 条件分岐処理、繰返し処理を中心に、これまでに学んできた内容の理解度をみる。
15 回 答案返却など 前期末試験の解答、解説を行う。
16 回 配列(1) 多数のデータを取り扱う場合の配列の使用を示し、添字による値の扱い方になれる。特にソートアルゴリズムを取り上げる。
17 回 配列(2) 2次元配列を用いた処理を学ぶ。
18 回 配列(3) 配列に初期値を設定する方法を学ぶ。
19 回 while文 while文の特徴を説明し、繰返し処理を扱う例題を用いて使用法を学ぶ。
20 回 無限ループとbreak文 無限ループおよびその処理から抜ける方法を学ぶ。
21 回 変数の型変換 castについて学ぶ。
22 回 演 習 配列、while文、メソッドを中心に、これまでの理解度を自己チェックする。(学習シート3)
23 回 中間試験 配列を中心に、これまでに学んだことの理解度を問う。
24 回 答案返却
メソッド(1)
中間試験の解答を行う。メソッドの意味を理解し、メソッドによるプログラミング技法を理解する。
25 回 フィールド変数 変数の有効範囲について学ぶ。
26 回 メソッド(2) メソッドの意味を理解し、メソッドによるプログラミング技法を理解する。参照型変数について学ぶ。
27 回 文字型 文字型について学ぶ。
28 回 文字列処理 Stringクラスと文字列処理メソッドについて学ぶ。 
29 回 演 習 メソッドと引数、文字列処理の理解度を自己チェックする。(学習シート4)
期末試験 メソッドと文字列処理について理解度を問う。
30 回 答案返却など 試験の解説を行う。
【到達目標】問題解決の手順を考え、フローチャートに描ける。
50ステップ程度のJava言語によるプログラミングができる。
【徳山高専学習・教育目標】B1【JABEE基準】
【評価法】4回の定期試験の平均(60%)、レポート(40%)で評価する。
レポートは、原則、次の授業で使うため、正解/不正解でなく、提出したことを評価する。欠席等で期限内に提出できない場合も、できるだけ早く提出すること。
【テキスト】新わかりやすいJava入門編、川場 隆著(秀和システム)
【関連科目】基礎コンピュータ工学(1年)、コンピュータの基礎知識(1年)、プログラミング言語(2年)、プログラミング(2年)