オブジェクト指向プログラミング(Object-Oriented Programming)
本科選択・必修開設時期単位数授業形態担 当
情報電子選択5年2講義江口 賢和
【授業の概要】
「オブジェクト指向プログラミング」の基本的な考え方を習得する。言語はJavaを使用する。主な内容は、オブジェクト指向プログラミングの考え方や特徴、簡単なJavaプログラミング、クラス定義、継承、抽象クラスと多様性、インターフェースと多重継承、アプレットとGUIなどである。
【授業の進め方】
プログラミング例題演習を中心に授業を進める。演習ごとにレポートを提出する。学習シートは例題演習で代用する。
【授業計画】 【授業項目】 【内 容】
1 回 オリエンテーション
WebとJava言語
シラバスに基づきオリエンテーションを行った後、Java言語の持つ特徴を紹介する。
2 回 オブジェクト指向プログラミングの考え方と特徴 オブジェクト指向プログラミングの基本的な考え方と特徴、カプセル化の概念などを学ぶ。
3 回 Javaプログラムの基本要素(1) 基本的なデータ型、基本型に対する演算について学ぶ。
4 回 Javaプログラムの基本要素(2) 基本型や参照型変数、プログラムの制御構造について学ぶ。
5 回 Javaプログラミング Javaアプリケーションプログラムの作成の演習を行う。
6 回 クラスについて クラスの概念とその役割について学ぶ。
7 回 オブジェクトについて クラスからオブジェクトの生成法、オブジェクトが持っている状態(メンバ変数)、振舞い(メソッド)について学ぶ。
8 回 中間試験 上記項目に関する理解度を確認する。範囲は試験前に通知する。
9 回 アクセスレベルについて パッケージの概念と、クラス、メンバ変数、メソッドのアクセスレベルについて学ぶ。
10 回 クラスの継承について 継承の概念とアクセス制御についてを学ぶ。
11 回 クラスの継承の演習 クラスの継承を用いたプログラムの作成演習を行う。
12 回 抽象クラス、インタフェースについて 抽象クラスとインタフェースの概念とその使用法について学ぶ。
13 回 抽象クラスの演習 抽象クラスを利用したプログラムの作成演習を行う。
14 回 オーバーライドとオーバーロードについて オーバーライドとオーバーロードについて学ぶ。
期末試験 上記項目に関する理解度を確認する。範囲は試験前に通知する。
15 回 答案返却など 試験の解説を行う。
16 回 多態性(ポリモフィズム)について 多態性の概念とその利用法について学ぶ。。
17 回 多態性(ポリモフィズム)の演習 演習により抽象クラス、多相性について理解を深める。
18 回 例外処理 try〜catch文の使用法、例外クラスの作成法について学ぶ。
19 回 並列プログラミング ThreadクラスやRunnableインタフェースによるスレッドの作成法について学ぶ。
20 回 GUIプログラミング AWT、Swing、Appletの基本的な利用法について学ぶ。
21 回 イベント処理 イベントの概念と利用法について学ぶ。
22 回 GUIプログラミングの演習 JavaによるGUIプログラミングの演習を行う。
23 回 中間試験 上記項目に関する理解度を確認する。範囲は試験前に通知する。
24 回 オブジェクト指向開発(1) 実例を用いてオブジェクト指向開発手法を学ぶ。
25 回 オブジェクト指向開発(2) 実例を用いてオブジェクト指向開発手法を学ぶ。
26 回 オブジェクト指向開発の演習 簡単な問題でオブジェクト指向開発手法の演習を行う。
27 回 総合的な課題の演習(1) オブジェクト指向開発による総合問題のプログラミング演習を行う。
28 回 総合的な課題の演習(2) 引き続き、オブジェクト指向開発による総合問題のプログラミング演習を行う。
29 回 総合的な課題の演習(3) 引き続き、オブジェクト指向開発による総合問題のプログラミング演習を行う。
期末試験 実施せず。総合課題の評価をあてる。
30 回 答案返却など オブジェクト指向開発による総合問題のプログラミングの解説を行う。
【到達目標】オブジェクト指向プログラミングとはどういうものか、どのような利点があるかなど、オブジェクト指向に基づいたプログラミングの考え方を理解する。
【徳山高専学習・教育目標】C1【JABEE基準1(1)】d-2a
【評価法】学年末評価は定期試験成績3回の平均(50%)+演習レポート(30%)+総合問題演習レポート(20%)を基本に行う。受講・演習態度等も評価に加味することがある。
【テキスト】参考図書:布広永示、「Javaオブジェクト指向プログラミング」(オーム社)
    :林晴比古、「新Java言語入門」(ソフトバンク)
【関連科目】基礎プログラミング(1年)、プログラミング言語(2年)、プログラミング(2年)、アルゴリズムとデータ構造(3年)