プログラミングⅢ

科目基礎情報

学校 明石工業高等専門学校 開講年度 2017
授業科目 プログラミングⅢ
科目番号 0021 科目区分 専門 / 必修
授業形態 講義 単位の種別と単位数 履修単位: 2
開設学科 電気情報工学科(情報工学コース) 対象学年 4
開設期 通年 週時間数 2
教科書/教材 立木秀樹、有賀妙子著:「すべての人のためのJavaプログラミング」, 共立出版
担当教員 佐村 敏治

到達目標

Java 言語の講義と実習を通じて、次の事項を習得することを目標とする。
1)Java 言語の基本的な文法とJava 言語固有の文法を説明できる
2) オブジェクト指向プログラミングの考え方が理解できる
3) 与えられた問題からアプリケーションが作成できる
4) プログラミングにより問題解決ができる

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1Java 言語の基本的な文法とJava 言語固有の文法を丁寧に説明できるJava 言語の基本的な文法とJava 言語固有の文法を説明できるJava 言語の基本的な文法とJava 言語固有の文法を説明できない
評価項目2オブジェクト指向プログラミングの考え方が実例を挙げて理解できるオブジェクト指向プログラミングの考え方が理解できるオブジェクト指向プログラミングの考え方が理解できない
評価項目3与えられた問題から最適なアプリケーションが作成できる与えられた問題からアプリケーションが作成できる与えられた問題から最適なアプリケーションが作成できない
評価項目4プログラミングにより自力により問題解決ができるプログラミングにより調べることで問題解決ができるプログラミングにより問題解決ができない

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

学習・教育目標 (D) 説明 閉じる
学習・教育目標 (F) 説明 閉じる
学習・教育目標 (G) 説明 閉じる

教育方法等

概要:
プログラミングは計算機科学において不可欠な基礎技術である。そしてプログラミングを通じて問題を解決していく姿勢を早い時期に身につけていくことが情報系の学生には求められる。本授業では、プログラミング言語Java 言語を用いて、プログラミングによって問題解決できる能力を身につける。また現在のソフトウエア設計において重要である、オブジェクト指向の概念を身につける。
授業の進め方・方法:
最初に教科書に基づいた講義を行う。次に理解確認のために小テストを行う。理解が深まったら実習室にて出題した演習問題からプログラミングを行う。最後の数週間は課題を出題しでグループでプログラミングを行う。
注意点:
プログラミングIとプログラミングIIで学習したC 言語を復習しておくこと。毎日プログラミングを行う習慣を身につけること。
目標を達成するためには、定期試験以外に、授業の確認用の小テストや演習問題および課題制作を行う必要がある。
合格の対象としない欠席条件(割合) 1/4以上の欠課

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 Java言語の基礎知識、開発手順 Java 言語の特徴について説明することができる。Java 開発手順を何も見ないで行うことができる。
2週 タートルグラフィックス、命名規則 タートルグラフィックスの簡単なプログラムを実行できる。クラス、メソッド、フィールドに命名規則に従って命名できる。
3週 コンストラクタ、メソッド多重定義、返値を持つメソッド、インスタンス変数
コンストラクタ、メソッド多重定義、返り血を持つメソッド、インスタンス変数を用いた演習問題を解くことができる。
4週 JavaAPI仕様、クラス変数、クラスメソッド JavaAPI仕様を参考にプログラムを作成できる。クラス変数、クラスメソッドを説明でき、これらを用いた演習問題を解くことができる。
5週 標準入力、出力、ラッパークラス
標準入力、出力、ラッパークラスを使ってC言語で扱った問題をJavaに移植できる。
6週 1次元配列、初期値をもった配列、mainの引数 1次元配列を用いた演習問題を解くことができる。mainの引数について説明でき、引数を用いた問題を解くことができる。
7週 多次元配列 多次元配列が配列の配列であることを説明でき、多次元配列の演習問題を解くことができる。
8週 中間試験
前期1週から7週までを理解できる。
2ndQ
9週 クラス定義,クラス継承 クラスを自分で定義できる。オブジェクト指向によるクラス継承を行うことができる。
10週 クラス多重定義,インスタンス変数,アクセス修飾子 クラス多重定義、インスタンス変数を自分で定義できる。アクセス修飾子の違いについて使い分けることができる。
11週 コンストラクタ,クラス変数,クラスメソッド,内部クラス コンストラクタ,クラス変数,クラスメソッドを自分でプログラムすることができる。内部クラスについて説明でき、演習問題を解くことができる。
12週 メソッド呼び出しと型検査 メソッド呼び出しと型について説明することができる。
13週 メソッドのオーバーライド オブジェクト指向におけるオーバライドを自分で定義できる。
14週 動的結合,ポリモルフィズム,抽象クラス 動的結合とポリモルフィズムのプログラムを説明することができる。抽象クラスを用いた演習問題を
解くことができる。
15週 インターフェース インターフェースの必要性について説明できる。インタフェースを用いた演習問題を解くことができる。
16週 期末試験
前期9週から15週までを理解できる。
後期
3rdQ
1週 例外処理、ガーベッジコレクション 例外処理の方法やガーベッジコレクションについて例題などから説明することができる。
2週 入出力処理
ファイルにデータを読み込んだり、書き出したりするための方法について理解し、演習問題により解くことができる。
3週 GUIクラス GUIをJavaでアクセスするには何が必要かについて説明でき、簡単なGUIがどのように変化するのかを調べる。
4週 レイアウト方式,GUIコンポーネント レイアウトマネージャーの変更により、GUIがどのように変化するのかを調べる。
5週 グラフィックス 簡単なグラフィックスをGUI上に作成することができる。
6週 イベント処理(1) 簡単なイベント処理について演習問題を通じて作成することができる。
7週 演習(1) 演習問題を解くことで理解を深めることができる。
8週 中間試験
後期1週から7週までを理解できる。
4thQ
9週 イベント処理(2) マウスやキーボードを用いたイベント処理について演習問題を解くことができる。
10週 演習(2) 演習問題を解くことで理解を深めることができる。
11週 課題制作(1) 課題を説明する。仕様や機能を計画する。
12週 課題制作(2) 仕様や機能をプレゼンテーションで他の学生に発表する。
13週 課題制作(3) 与えられた課題についてグループでプログラミングすることができる。
14週 課題制作(4) 与えられた課題についてグループでプログラミングすることができる。
15週 課題制作(5) 実際に作成した課題を学生にわかりやすく発表できる。
16週 期末試験実施せず

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

分類分野学習内容学習内容の到達目標到達レベル授業週
専門的能力分野別の専門工学情報系分野プログラミング変数とデータ型の概念を説明できる。4前1,前2
代入や演算子の概念を理解し、式を記述できる。4前3
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。4
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。4
主要な言語処理プロセッサの種類と特徴を説明できる。4
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。4
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。4

評価割合

試験発表相互評価態度ポートフォリオ演習課題その他合計
総合評価割合655000300100
基礎的能力00000000
専門的能力655000300100
分野横断的能力00000000