応用情報工学

科目基礎情報

学校 有明工業高等専門学校 開講年度 平成31年度 (2019年度)
授業科目 応用情報工学
科目番号 0071 科目区分 専門 / 選択
授業形態 授業 単位の種別と単位数 学修単位: 2
開設学科 生産情報システム工学専攻 対象学年 専2
開設期 前期 週時間数 1
教科書/教材
担当教員 ゴーチェ ロビック

到達目標

1 高等なプログラミング技術(オブジェクト指向プログラミング、汎用プログラミング)の基本を説明できる。
2 Java言語を用いて、オブジェクト指向プログラミング技術を自ら適用できる。
3 堅牢なプログラムを開発できる。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安(可)未到達レベルの目安
評価項目1高等なプログラミング技術(オブジェクト指向プログラミング、汎用プログラミング)を理解し、汎用プログラミング)オブジェクト指向プログラミング及び汎用プログラミングを説明できる(クラス、メソッド、継承、抽象)。高等なプログラミング技術(オブジェクト指向プログラミング、汎用プログラミング)を理解し、汎用プログラミング)オブジェクト指向プログラミングの基本(クラス、メソッド、継承、抽象)を説明できる。高等なプログラミング技術(オブジェクト指向プログラミング、汎用プログラミング)を理解していない。 また、汎用プログラミング)オブジェクト指向プログラミングの基本(クラス、メソッド、継承、抽象)を説明できない。
評価項目2Java言語を用いて、オブジェクト指向プログラミング技術及びジェネリックスを自ら適用できる。特に、適切なクラス、メソッド及びジェネリックスのクラス、ジェネリックスのメソッドを作成できる。Java言語を用いて、オブジェクト指向プログラミング技術を自ら適用できる。特に、適切なクラス及びメソッドを作成できる。Java言語を用いて、オブジェクト指向プログラミング技術を自ら適用できない。特に、適切なクラス及びメソッドを作成できない。
評価項目3オブジェクト指向プログラミング技術及び汎用プログラミング技術を用いて堅牢なソフトを開発できる。特に、バッグが発生しにくく修正しやすい及び拡張しやすいプログラムを作成できる。堅牢なプログラムを開発できる。特に、バッグが発生しにくく修正しやすい及び拡張しやすいプログラムを作成できる。堅牢なソフトを開発できない。特に、バッグが発生しにくく修正しやすいまた拡張しやすいプログラムを作成できる。

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

学習・教育到達度目標 B-2, 学習・教育到達度目標 C-1

教育方法等

概要:
近年、オブジェクト指向の考え方やオブジェクト指向プログラミング言語を使用した開発が盛んである。そこで、本講義では、オブジェクト指向プログラミング言語について学ぶ。オブジェクト指向プログラミング言語とは相互にメッセージを送りあうオブジェクトの集まりとしてプログラムを構成する技法をサポートしたプログラミング言語のことである。本講義で対象とするプログラミング言語はJavaである。Javaはコンピュータ上だけでなく携帯電話やデジタル家電など組込み機器にも採用されており、近年人気の高いオブジェクト指向プログラミング言語である。本講義の目標は、Javaの演習を通して基本的なオブジェクト指向プログラミング技術を習得することである。
この科目は半導体企業及び自動車企業との共同研究でHW設計ソフトウェア、組み込みオペレーティング・システム、及びコンパイラの設計を担当していた教員が、その経験を活かし、大規模ソフトウェアの設計方法について授業を行うものである。
授業の進め方と授業内容・方法:
この授業は前期に週1コマを実施する。講義を主体とするが,宿題としてプログラムを開発させる。
内容は、次の項目を設定する。
1) 簡単なオブジェクト指向プログラミング
2) メソッドの記述
3) データ構造と文字列処理
4) クラスとオブジェクト指向プログラミング(クラスの宣言と利用)
5) 継承とポリモフィズム
6) 例外
7) ジェネリックス
注意点:
授業中に出題されるJavaの演習課題の完成度により、Java言語によるオブジェクト指向プログラミングの習得の程度を課題レポートにより評価する。
本科目は,電子情報工学科2,3年で学習した「プログラミング」や「情報工学演習I,II」,4年で学習し た「アルゴリズム」や「情報工学演習III」,5年で学習した「ソフトウェア工学」の内容が理解できている ことを前提とする。また、専攻科2年前期に開講される「ソフトウェア開発管理論」と並行して受講するこ とが望ましい。

授業計画

授業内容・方法 週ごとの到達目標
前期
1週 簡単なオブジェクト指向プログラミング:
 *Java言語の概要
 *Javaの開発環境
Javaで簡単なプログラムを作成できる。
2週 簡単なオブジェクト指向プログラミング:
 *オブジェクト指向
  プログラミングの概念
 *クラスやオブジェクト
  の作成
 *APIの参照
基本のクラスを宣言でき、そのクラスのオブジェクトを生成できる。
Javaの標準ライブラリを利用できる。
オブジェクト指向プログラミングのパラダイムを簡単に説明できる。
3週 メソッドの記述
 *メソッドの宣言
 *メソッドの呼び出し
制御構造を利用したメソッドを持つクラスを宣言できる。
すでに宣言されているメソッドを利用できる。
4週 データ構造:
 *配列
オブジェクトとしてJava配列の生成及び操作をできる。
5週 データ構造:
 *容器(コレクション)
Javaの容器(コレクション)の生成及び操作をできる。
6週 文字列処理:
 *JavaのStringクラス
 *正規表現
JavaのStringクラスの特徴を説明できる(不変性など)。
Javaの様々な文字列処理を利用できる。
7週 文字列処理:
 *正規表現
正規表現を用いて文字列操作をできる。
8週 クラスとオブジェクト指向プログラミング:
 *オブジェクト間
  メッセージパッシング
 *パッケージ
オブジェクト間メッセージパッシングの基本説明できる。
パッケージを宣言でき適切に利用できる。
9週 クラスとオブジェクト指向プログラミング:
 *アクセス制御による情報隠蔽やカプセル化
コードの堅牢のため、情報隠蔽及びカプセル化の役割を説明できる。
アクセス制御による情報隠蔽やカプセル化を適切に適用できる。
10週 クラスとオブジェクト指向プログラミング:
 *オーバーロード
オーバーロードの特徴を説明できる。
オーバーロードを適切に宣言でき、利用できる。
11週 継承とポリモフィズム:
 *継承の基本
 *サブクラス
継承の特徴を説明でき、コードの堅牢のため継承の役割を説明できる。
サブクラスを適切に宣言でき、利用できる。
12週 継承とポリモフィズム:
 *ポリモフィズムの
  基本
 *抽象クラス 
 *インタフェース
ポリモフィズムの特徴を説明でき、コードの堅牢のため継承の役割を説明できる。
抽象クラス及びインタフェースを適切に宣言でき、利用できる。
抽象クラスとインタフェースの違いを説明できる。
13週 例外

ジェネリックス:
 *ジェネリックスの基本
例外の処理方法を説明でき、コードの堅牢のため継承の役割を説明できる。
例外を宣言でき、例外を処理できるプログラムを開発できる。
ジェネリックスの基本を説明できる。
14週 ジェネリックス:
 *ジェネリックスの
  クラス
ジェネリックスのクラスを宣言でき、利用できる。
15週 ジェネリックス:
 *ジェネリックスの
  メソッド
ジェネリックスのメソッドを宣言でき、利用できる。
16週

評価割合

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