基礎プログラミング

科目基礎情報

学校 徳山工業高等専門学校 開講年度 2017
授業科目 基礎プログラミング
科目番号 0059 科目区分 専門 / 必修
授業形態 講義 単位の種別と単位数 履修単位: 3
開設学科 情報電子工学科 対象学年 1
開設期 通年 週時間数 3
教科書/教材 新わかりやすいJava入門編、川場 隆著(秀和システム)
担当教員 奥本 幸,宮﨑 亮一

到達目標

1.問題解決の手順を考え、フローチャートに描ける。
2.Java言語で、変数宣言と代入文、入出力処理のプログラムが書ける。
3.Java言語で、条件分岐処理のプログラムが書ける。
4.Java言語で、繰り返し処理のプログラムが書ける。
5.Java言語で、配列のプログラムが書ける。
6.Java言語で、メソッドを使ったプログラムが書ける。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
ほぼ正しいフローチャートが書ける。間違っている部分もあるが、一部正しく動くフローチャートが書ける。フローチャートを書いているが、正しい解が得られない。
ほぼエラーのないプログラムが書ける。間違っている部分もあるが、一部正しいプログラムが書ける。プログラムを書いているが、正しい解が得られない。
ほぼエラーのないプログラムが書ける。間違っている部分もあるが、一部正しいプログラムが書ける。プログラムを書いているが、正しい解が得られない。
ほぼエラーのないプログラムが書ける。間違っている部分もあるが、一部正しいプログラムが書ける。プログラムを書いているが、正しい解が得られない。
ほぼエラーのないプログラムが書ける。間違っている部分もあるが、一部正しいプログラムが書ける。プログラムを書いているが、正しい解が得られない。
ほぼエラーのないプログラムが書ける。間違っている部分もあるが、一部正しいプログラムが書ける。プログラムを書いているが、正しい解が得られない。

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

到達目標 B 1 説明 閉じる

教育方法等

概要:
ソフトウェア開発のために、次のようなプログラミング技術の基礎を修得する。
(1)コンピュータを使って問題を解く手順は1通りではない。この授業では、特に手順を考える力をつけることを目的とした授業を行う。
(2)問題を解く手順をフローチャートに表し、コンピュータで実行するためにプログラミングの方法を学 ぶ。プログラミング言語としては、現在広く普及しているJava言語を取り上げる。
(3)プログラミングの基本項目として次の項目を学ぶ。
  ・コンピュータシステムの構成 ・変数   ・入出力処理 ・条件分岐処理 ・繰り返し処理 
  ・配列   ・メソッド    ・引数機構 ・文字列処理
授業の進め方・方法:
プログラミング習得の王道は、読んで真似ることである。従って、授業では、まず各処理に関連した例題を取り上げ、その問題のプログラミングによる解決法とサンプルプログラムを示し、詳しく説明する。次にその例題の解決法を真似ることで解決可能な課題に対してプログラムを制作し、実習を行う。この課題については次回の授業で解答・解説する。
 4回以降の授業は講義(90分)と実習(50分)に分かれる。講義では前回の復習、新規学習項目とその課題を提示する。課題を解く手順をフローチャートに表し、プログラムに変換したものをレポートとして、次回実習までに提出する。実習では自分が作成したプログラムを実行し、レポートを修正する。
 毎回、授業で使用する資料(前回の課題の解答例、新規学習項目、実習課題などをまとめたもの)を配布するので、ファイルに綴じて整理する。
 教室だけでなく、実習を行うPC室でも教科書、ノート、ファイルを必ず持参すること。
 本科目は必修得科目(卒業までに必修得)である。プログラミング習得の王道は、読んで真似ることである。従って、授業では、まず各処理に関連した例題を取り上げ、その問題のプログラミングによる解決法とサンプルプログラムを示し、詳しく説明する。次にその例題の解決法を真似ることで解決可能な課題に対してプログラムを制作し、実習を行う。この課題については次回の授業で解答・解説する。
注意点:
 基礎コンピュータ工学(1年)、コンピュータの基礎知識(1年)、プログラミング言語(2年)、プログラミング(2年)

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 オリエンテーション
問題を解く手順を考える(1)
授業の進め方を説明する。また、プログラミングに必要な考える力について述べる。問題を解く手順を図示するツールとして、フローチャートを学ぶ。
2週 問題を解く手順を考える(2) 簡単な問題を解く手順を考え、フローチャートに描く。(変数、条件分岐、繰り返し) 
3週 ソフトウェアの構成
プログラミング
コンピュータを動かすためのソフトウェアの存在、その種類等について学ぶ。また、コンピュータを使ってどのようにプログラムが作成され、実行されるかを実習を通して学ぶ。 
4週 データ型、及び変数の型、代入文、出力処理 整数型、実数型等コンピュータで取り扱うデータには型があり、それを記憶する変数にも型があることを学ぶ。さらに、コンピュータ内部での計算処理の記述としての算術式や代入文の書き方、演算子の種類について学ぶ。また、プログラムによる出力処理を学ぶ。
5週 入力処理 入力処理のプログラム例を取り上げ、プログラムによる出入力処理を学ぶ。
6週 条件分岐処理(1) 条件分岐処理の必要性を理解させ、条件式の書き方、及び比較演算子の種類等について学ぶ。ここでは特にif文を学ぶ。
7週 条件分岐処理(2) 二重のif文を学ぶ。
8週 演習 プログラミングおよびプログラムをコンピュータで実行する作業になれる。また、フローチャート、変数、代入文、入・出力処理、条件分岐について理解度を自己チェックする。(学習シート1)
2ndQ
9週 中間試験 問題解決手順をフローチャートに表す方法、入出力処理、変数、代入文、if文について理解度を問う。
10週 答案返却
条件分岐処理(3)
中間試験の解答を行う。
多くの演習を通じて条件分岐処理になれる。特にif~else文を学ぶ。
11週 for文(1) for文の特徴を説明し、繰返し処理を扱う例題を用いて使用法を学ぶ。
12週 for文(2)   演習を通じて繰返し処理になれる。
13週 for文(3) 二重のfor文を使った繰返し処理に慣れる。
14週 演 習 条件分岐処理、繰返し処理の理解度を自己チェックする。(学習シート2)
15週 期末試験 条件分岐処理、繰返し処理を中心に、これまでに学んできた内容の理解度をみる。
16週 答案返却など 前期末試験の解答、解説を行う。
後期
3rdQ
1週 配列(1) 多数のデータを取り扱う場合の配列の使用を示し、添字による値の扱い方になれる。特にソートアルゴリズムを取り上げる。
2週 配列(2) 2次元配列を用いた処理を学ぶ。
3週 配列(3) 配列に初期値を設定する方法を学ぶ。
4週 while文 while文の特徴を説明し、繰返し処理を扱う例題を用いて使用法を学ぶ。
5週 無限ループとbreak文 無限ループおよびその処理から抜ける方法を学ぶ。
6週 変数の型変換 castについて学ぶ。
7週 演 習 配列、while文、メソッドを中心に、これまでの理解度を自己チェックする。(学習シート3)
8週 中間試験 配列を中心に、これまでに学んだことの理解度を問う。
4thQ
9週 答案返却
メソッド(1)
中間試験の解答を行う。メソッドの意味を理解し、メソッドによるプログラミング技法を理解する。
10週 フィールド変数 変数の有効範囲について学ぶ。
11週 メソッド(2) メソッドの意味を理解し、メソッドによるプログラミング技法を理解する。参照型変数について学ぶ。
12週 文字型 文字型について学ぶ。
13週 文字列処理 Stringクラスと文字列処理メソッドについて学ぶ。 
14週 演 習 メソッドと引数、文字列処理の理解度を自己チェックする。(学習シート4)
15週 期末試験 メソッドと文字列処理について理解度を問う。
16週 答案返却など 試験の解説を行う。

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

分類分野学習内容学習内容の到達目標到達レベル授業週
専門的能力分野別の専門工学電気・電子系分野情報基本的なアルゴリズムを理解し、図式表現できる。1
プログラミング言語を用いて基本的なプログラミングができる。2
基本的な論理演算を行うことができる。1
情報系分野プログラミング変数とデータ型の概念を説明できる。2
代入や演算子の概念を理解し、式を記述できる。2
制御構造の概念を理解し、条件分岐や反復処理を記述できる。2
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。2
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。3
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。2
分野別の工学実験・実習能力情報系分野【実験・実習能力】情報系【実験・実習】与えられた問題に対してそれを解決するためのソースプログラムを、標準的な開発ツールや開発環境を利用して記述できる。2
ソフトウェア生成に利用される標準的なツールや環境を使い、ソースプログラムをロードモジュールに変換して実行できる。2
ソフトウェア開発の現場において標準的とされるツールを使い、生成したロードモジュールの動作を確認できる。2

評価割合

定期試験小レポート合計
総合評価割合6040100
評価項目1151025
評価項目2066
評価項目315621
評価項目4066
評価項目515621
評価項目615621