2017年度工学院大学 情報学部コンピュータ科学科

オブジェクト指向プログラミング(Object-oriented Programming)[2L10]

試験情報を見る] [授業を振り返ってのコメント(学内限定)

2単位
倉林 有 非常勤講師  
最終更新日 : 2018/09/28

<学位授与の方針>
1. 基礎知識の習得
2. 専門分野知識の習得
3. 汎用的問題解決技能
4. 道徳的態度と社会性

<授業のねらい>

 以下を目標とする。

● Java を用いて簡単なプログラミングができる

● Java プログラミングを通じて、オブジェクト指向プログラミングの基本的な概念を理解する

<受講にあたっての前提条件>

● 履修登録と受講上の条件

 オブジェクト指向プログラム (4 限) とオブジェクト指向・演習 (5 限) 両方の出席を必須とする。即ち、片方のみの出席は認めない。

 ただし、過去に片方を履修し、単位を取得している場合、もう片方のみの履修登録で良いものとする。その場合でも、両方への出席を必須とする。

● 知識上の条件

 MS Windows とプログラミングに関する最低限の知識を前提とする。例を以下に挙げる。

・(Windows) エクスプローラー
 これが Internet Explorer ではないことを理解している。エクスプローラーを開くように言われた時、すぐに開くことができる。ナビゲーションウィンドウを用いて、目的のフォルダまで自力で移動できる。

・拡張子
 これが何か理解している。これが Windows において、どのような役割を担っているか理解している。ソースコードファイルの拡張子を txt にすることや、無くすことがいけないことを理解している。

・パス (path)
 これが何か理解している。パスを提示された時に、エクスプローラーで目的のフォルダを開くことが出来る。

・テキストエディタ
 メモ帳を用いてプログラミングすべきでないことを理解している。

<具体的な到達目標>

● クラスの作成と利用

● オブジェクト指向プログラミングの基本的な概念の理解と、Java による実現

<授業計画及び準備学習>

● 授業の特徴

 この授業では、教科書の内容を丁寧に理解しながらプログラミングすることにより、学習を進める。

● 準備学習

 授業期間の内、初めの方の進め方を速くするのが重要と思われる。初めの内は、これまで習得してきたはずの言語と共通する内容が多いためで、そのような内容よりは、新しい知識の習得に時間を掛けた方が良いと思われるからである。

 それを踏まえ、下に記した「予定」を学習速度の目安とし、各自の進み具合と照らし合わせ、十分な余裕が得られるよう、教科書を利用して準備学習をしてほしい。

● 予定

 教科書の 4 章までは、これまで習得してきたはずの言語と共通する内容が多いため、進行速度を速くしている。一方で、5 章以降はオブジェクト指向言語、あるいは Java 特有の事項が増え、内容の密度も濃くなるので、4 章以前よりは遅くしている。

 以下が、オブジェクト指向プログラム、オブジェクト指向・演習共通の予定となる。左端の数字は基本的に授業回数を示しているが、進行状況により適宜調整する。各回の 3 行めには、教科書の対応する章とページを示している。

01: Java とオブジェクト指向へ
  教科書の読み方、Java の特徴、脱手続指向言語
  序章、1 章、2 章 (p. xxiii 〜 47)

02: 変数の基礎知識、オブジェクトの「ふるまい」
  プリミティブと参照、ステート (状態) と機能の表現と関係
  3 章、4 章 (p. 49 〜 94)

03: 極めて強力な方法 (= メソッド)
  プログラムの作成とテスト、演算子、ループ
  5 章 (p. 95 〜 123)

04: 知識確認課題 (〜 4 章)、夢の配列
  ArrayList
  6 章 (p. 125 〜 137)

05: Java ライブラリを使用する
  既存の機能を見つけだし利用する
  6 章 (p. 138 〜 164)

06: オブジェクト指向をより深く知る
  仕様変更への柔軟な対応のために、継承、ポリモーフィズム
  7 章 (p. 165 〜 196)

07: ポリモーフィズムの高度な利用方法
  抽象クラス、抽象メソッド、ポリモーフィズムの応用例
  8 章 (p. 197 〜 217)

08: 知識確認課題 (〜 7 章)、さらなる柔軟性・拡張性のために
  インターフェース
  8 章、9 章 (p. 218 〜 234)

09: オブジェクトの作成
  コンストラクタ、ヒープ、スタック、スコープ
  9 章 (p. 235 〜 257)

10: オブジェクトの消滅、スタティックの概念
  ガーベージコレクション、スタティックメソッド、スタティック変数
  9 章、10 章 (p. 258 〜 286)

11: 知識確認課題 (〜 9 章)、Java における数値の扱い
  プリミティブのラッピング
  10 章 (p. 287 〜 300)

12: 日付の活用、危険をともなうプログラムの作成
  日付の表示方法はさまざま、例外処理
  10 章、11 章 (p. 301 〜 325)

13: 例外処理の応用
  音楽演奏プログラムの作成
  11 章 (p. 326 〜 352)

14: GUI の基礎、知識確認課題 (〜 11 章)
  学習内容の振返り、クリックに反応させる、イベント処理
  12 章 (p. 353 〜 364)

<成績評価方法>

 以下の 2 点に基づき、オブジェクト指向プログラム、オブジェクト指向・演習共通の成績評価を行う。

● 試験期間に実施する、それまでの授業内容すべてを範囲とする学期末試験 (40%)

● 知識確認課題 (60%)。

 A+、A、B、C、D、F の 6 段階で成績を評価し、D 以上の者を合格とする。

<教科書>

Kathy Sierra 他, "Head First Java 第 2 版," 株式会社オライリー・ジャパン, 2006.
https://www.oreilly.co.jp/books/4873112796/

<参考書>

【入門書】

 この授業の教科書は、文法事項毎に章立てされていないため、リファレンスとして利用するには不便である。

 そのため、文法事項毎に章立てされた入門書を 1 冊紹介しておく。

中山 清喬 他, "スッキリわかる Java 入門 第 2 版," 株式会社インプレスジャパン, 2014.
http://book.impress.co.jp/books/1113101090

 入門書は 2 種類入手すると便利なことが多い。互いの記述を補えるからである。上に紹介したもの以外でも構わない。

【演習書】

 Java プログラミングの演習書は意外と少ない。ここでは、比較的最近に出版され、内容もある程度評価できるものを紹介しておく。

大森 俊太郎, "Java 8 問題集," 株式会社 SCC, 2016.
https://www.scc-kk.co.jp/scc-books/book_data/B-388/B-388.html

中島 雄洋, "Java の手ほどき 学習編," 株式会社誠文堂新光社, 2015.
http://seibundo-shinkosha.net/products/detail.php?product_id=4497

中島 雄洋, "Java の手ほどき 演習編," 株式会社誠文堂新光社, 2015.
http://seibundo-shinkosha.net/products/detail.php?product_id=4496

【リファレンス】

 それぞれ性格の異なる内容のリファレンスを紹介しておくので、必要に応じて内容を確認した上で入手してほしい。

熏] 賢, "[改訂新版] Java ポケットリファレンス," 株式会社技術評論社, 2016.
http://www.sbcr.jp/products/4797380149.html

Cay S. Horstmann, "Java SE 8 実践プログラミング," 株式会社インプレスジャパン, 2014.
http://book.impress.co.jp/books/1114101010

Ken Arnold 他, "プログラミング言語 Java 第 4 版," 東京電機大学出版局, 2014.
http://www.tdupress.jp/books/isbn978-4-501-55260-2.html

<オフィスアワー>

 非常勤のため、基本的に授業前後に教室にて、もしくは、メールでの対応となる。

<学生へのメッセージ>

 この授業では、教科書に記された内容を理解することに、集中することになる。

 そのため、授業が始まる前に教科書の中身を確認し、それを用いて学習することに納得した上で授業に参加してほしい。

 また、学習内容をより理解するために、各自には以下の行動を求める。

● 授業中に分からないことがあれば、とにかく教員に質問して解決すること。
● 授業には必ず教科書を持参すること。
● このシラバスを参考に、上記「予定」に後れを取らないよう学習すること。

 授業中、分からないことが生じたにもかかわらず質問しない者は、合格が特に難しくなるだろう。

<備 考>

2017 年 2 月 20 日 更新


ナンバリングはこちら
このページの著作権は学校法人工学院大学が有しています。
Copyright(c)2017 Kogakuin University. All Rights Reserved.