到達目標
1 高等なプログラミング技術(オブジェクト指向プログラミング、汎用プログラミング)の基本を説明できる。
2 Java言語を用いて、オブジェクト指向プログラミング技術を自ら適用できる。
3 堅牢なプログラムを開発できる。
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安(可) | 未到達レベルの目安 |
評価項目1 | 高等なプログラミング技術(オブジェクト指向プログラミング、汎用プログラミング)を理解し、汎用プログラミング)オブジェクト指向プログラミング及び汎用プログラミングを説明できる(クラス、メソッド、継承、抽象)。 | 高等なプログラミング技術(オブジェクト指向プログラミング、汎用プログラミング)を理解し、汎用プログラミング)オブジェクト指向プログラミングの基本(クラス、メソッド、継承、抽象)を説明できる。 | 高等なプログラミング技術(オブジェクト指向プログラミング、汎用プログラミング)を理解していない。
また、汎用プログラミング)オブジェクト指向プログラミングの基本(クラス、メソッド、継承、抽象)を説明できない。
|
評価項目2 | Java言語を用いて、オブジェクト指向プログラミング技術及びジェネリックスを自ら適用できる。特に、適切なクラス、メソッド及びジェネリックスのクラス、ジェネリックスのメソッドを作成できる。 | Java言語を用いて、オブジェクト指向プログラミング技術を自ら適用できる。特に、適切なクラス及びメソッドを作成できる。 | Java言語を用いて、オブジェクト指向プログラミング技術を自ら適用できない。特に、適切なクラス及びメソッドを作成できない。 |
評価項目3 | オブジェクト指向プログラミング技術及び汎用プログラミング技術を用いて堅牢なソフトを開発できる。特に、バッグが発生しにくく修正しやすい及び拡張しやすいプログラムを作成できる。 | 堅牢なプログラムを開発できる。特に、バッグが発生しにくく修正しやすい及び拡張しやすいプログラムを作成できる。 | 堅牢なソフトを開発できない。特に、バッグが発生しにくく修正しやすいまた拡張しやすいプログラムを作成できる。 |
学科の到達目標項目との関係
学習・教育到達度目標 B-2
説明
閉じる
学習・教育到達度目標 C-1
説明
閉じる
教育方法等
概要:
近年、オブジェクト指向の考え方やオブジェクト指向プログラミング言語を使用した開発が盛んである。そこで、本講義では、オブジェクト指向プログラミング言語について学ぶ。オブジェクト指向プログラミング言語とは相互にメッセージを送りあうオブジェクトの集まりとしてプログラムを構成する技法をサポートしたプログラミング言語のことである。本講義で対象とするプログラミング言語はJavaである。Javaはコンピュータ上だけでなく携帯電話やデジタル家電など組込み機器にも採用されており、近年人気の高いオブジェクト指向プログラミング言語である。本講義の目標は、Javaの演習を通して基本的なオブジェクト指向プログラミング技術を習得することである。
この科目は前職において半導体企業及び自動車企業との共同研究でHW設計ソフトウェア、組み込みオペレーティング・システム、及びコンパイラの設計を担当していた教員が、その経験を活かし、大規模ソフトウェアの設計方法について授業を行うものである。
SDGs 17: 9.「産業と技術革新の基盤をつくろう」
授業の進め方・方法:
この授業は前期に週1コマを実施する。講義を主体とするが,宿題としてプログラムを開発させる。
内容は、次の項目を設定する。
1) 簡単なオブジェクト指向プログラミング
2) メソッドの記述
3) データ構造と文字列処理
4) クラスとオブジェクト指向プログラミング(クラスの宣言と利用)
5) 継承とポリモフィズム
6) 例外
7) ジェネリックス
注意点:
授業中に出題されるJavaの演習課題の完成度により、Java言語によるオブジェクト指向プログラミングの習得の程度を課題レポートにより評価する。
本科目は,電子情報工学科2,3年で学習した「プログラミング」や「情報工学演習I,II」,4年で学習し た「アルゴリズム」や「情報工学演習III」,5年で学習した「ソフトウェア工学」の内容が理解できている ことを前提とする。また、専攻科2年前期に開講される「ソフトウェア開発管理論」と並行して受講するこ とが望ましい。
授業の属性・履修上の区分
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
簡単なオブジェクト指向プログラミング: *Java言語の概要 *Javaの開発環境
|
Javaで簡単なプログラムを作成できる。
|
2週 |
簡単なオブジェクト指向プログラミング: *オブジェクト指向 プログラミングの概念 *クラスやオブジェクト の作成 *APIの参照
|
基本のクラスを宣言でき、そのクラスのオブジェクトを生成できる。 Javaの標準ライブラリを利用できる。 オブジェクト指向プログラミングのパラダイムを簡単に説明できる。
|
3週 |
メソッドの記述 *メソッドの宣言 *メソッドの呼び出し
|
制御構造を利用したメソッドを持つクラスを宣言できる。 すでに宣言されているメソッドを利用できる。
|
4週 |
データ構造: *配列
|
オブジェクトとしてJava配列の生成及び操作をできる。
|
5週 |
データ構造: *容器(コレクション)
|
Javaの容器(コレクション)の生成及び操作をできる。
|
6週 |
文字列処理: *JavaのStringクラス *正規表現
|
JavaのStringクラスの特徴を説明できる(不変性など)。 Javaの様々な文字列処理を利用できる。
|
7週 |
文字列処理: *正規表現
|
正規表現を用いて文字列操作をできる。
|
8週 |
クラスとオブジェクト指向プログラミング: *オブジェクト間 メッセージパッシング *パッケージ
|
オブジェクト間メッセージパッシングの基本説明できる。 パッケージを宣言でき適切に利用できる。
|
2ndQ |
9週 |
クラスとオブジェクト指向プログラミング: *アクセス制御による情報隠蔽やカプセル化
|
コードの堅牢のため、情報隠蔽及びカプセル化の役割を説明できる。 アクセス制御による情報隠蔽やカプセル化を適切に適用できる。
|
10週 |
クラスとオブジェクト指向プログラミング: *オーバーロード
|
オーバーロードの特徴を説明できる。 オーバーロードを適切に宣言でき、利用できる。
|
11週 |
継承とポリモフィズム: *継承の基本 *サブクラス
|
継承の特徴を説明でき、コードの堅牢のため継承の役割を説明できる。 サブクラスを適切に宣言でき、利用できる。
|
12週 |
継承とポリモフィズム: *ポリモフィズムの 基本 *抽象クラス *インタフェース
|
ポリモフィズムの特徴を説明でき、コードの堅牢のため継承の役割を説明できる。 抽象クラス及びインタフェースを適切に宣言でき、利用できる。 抽象クラスとインタフェースの違いを説明できる。
|
13週 |
例外
ジェネリックス: *ジェネリックスの基本
|
例外の処理方法を説明でき、コードの堅牢のため継承の役割を説明できる。 例外を宣言でき、例外を処理できるプログラムを開発できる。 ジェネリックスの基本を説明できる。
|
14週 |
ジェネリックス: *ジェネリックスの クラス
|
ジェネリックスのクラスを宣言でき、利用できる。
|
15週 |
ジェネリックス: *ジェネリックスの メソッド
|
ジェネリックスのメソッドを宣言でき、利用できる。
|
16週 |
|
|
モデルコアカリキュラムの学習内容と到達目標
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
評価割合
| 試験 | 発表 | 相互評価 | 態度 | ポートフォリオ | その他 | 合計 |
総合評価割合 | 0 | 0 | 0 | 0 | 100 | 0 | 100 |
基礎的能力 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
専門的能力 | 0 | 0 | 0 | 0 | 100 | 0 | 100 |
分野横断的能力 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |