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

オブジェクト指向プログラミング演習(PBL)(Exercises in Object-oriented Programming)[2D21]

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

1単位
倉林 有 非常勤講師  
最終更新日 : 2016/10/27

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

<授業のねらい>
以下を目標とする。

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

● オブジェクト指向の基本的な概念を理解する

<受講にあたっての前提条件>
プログラミング基礎 (C 言語)、情報処理演習 (VBA) で学んだプログラミング言語の文法事項は、「すべて」習得済みとして授業を進める。

【必須条件】

 下方の <授業計画及び準備学習> を読むと分かると思うが、特に次の 2 点については、基本的な事柄について、自由自在に利用できることを前提にして授業を行う。これらについては言語間の違いの指摘程度で済まし、その先の内容の理解に注力する。

● C 言語、もしくは VBA の、条件分岐と繰返し

● C 言語の関数、もしくは VBA のプロシージャ (返却値や引数等の理解を含む)

【推奨条件】

 下記の内いずれかの利用について、十分に理解していることが望ましい。Java の「クラス」は、これらのものの拡張とみなせるからである。

● C 言語の構造体、もしくは VBA のユーザー定義型 (Type ステートメントによる型定義)

<具体的な到達目標>
● クラスの作成と利用

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

<授業計画及び準備学習>
● 授業の特徴
 この授業では、教科書の内容を丁寧に理解することにより学習を進める。そのために、学生は次の手順により学習する。

[1] 教員が配布する補足資料を参考に、教科書の内容を「授業の前に」読んで理解しておく。

[2] 授業中に出題されるプログラミング問題により、各自の理解を確かめ、補う。

● 教科書の内容だけでは不十分
 どのような本であれ、基本的にはその内容は不完全であるから、補足資料により教科書の記述を補う。従って、教科書を読んだだけでは授業内容を理解できなくなることに留意すること。

● 2 限と 3 限は対になっている
 オブジェクト指向プログラム、オブジェクト指向・演習は 2 つの授業で 1 つの内容とするので、両方への参加が強く望まれる。片方だけの登録も認めるが、片方だけの参加では内容が不完全となるので、合格が難しくなることを理解しておくこと。一方で、片方だけに登録した者が両方に参加することは、席が許す限り歓迎する。

 以下では、この授業における用語等、いくつかの注意点を挙げたのち、授業で取組む教科書の範囲の予定を示す。

● 用語: Training
 Training は、プログラミングの練習時間とする。教員や TA に積極的に質問をするなどして、プログラミングスキルの向上と、内容の理解に努めること。

● 用語: Exercise
 Exercise では、成績判定のための提出課題を課す。

● Training と Exercise を交互に行う
 第 05 回以降は、Training で知識の確認を行い、その次の回の Exercise でその内容に関する提出物を課す。つまり、Training における学習をいかに実りのあるものにするかが、この授業の鍵となる。そのため、次に記す準備学習が重要となる。

● 準備学習
 授業全体を通じた準備学習として、教科書の対応する章について、「遅くとも」各 Training までに各自学習し終えておくこと。そうしておかないと、Training の時間が無駄になるだけでなく、授業についていけなくなるだろう。

● 教科書の読み進め方
 Training の時間を確保するために、かなり速く教科書を読み進める。また、授業回数を重ねるほど内容が高度になり、理解に時間が掛かるようになる。さらに、Training と Exercise が始まると、授業中はそれらの課題に取組むことになる。
 従って、授業時間内に教科書を読み、理解することはまず不可能なので、下記の予定を参考に、十分余裕を持って準備学習を行っておくこと。

● 予定
 以下に、オブジェクト指向プログラム、オブジェクト指向・演習共通の予定を示す。左端の数字は基本的に授業回数を示しているが、進行状況により適宜調整する。
 初回の授業を除き、各回に記載された教科書の内容については、補足資料を参考に、その回の授業までに読了しておくこと。

01: CHAPTER 01 (p. 1) 〜 04 (p. 65):
  プログラムの作成と実行、変数、演算子。

02: CHAPTER 05 (p. 66) 〜 06 (p. 95):
  インスタンス、参照、コマンドライン引数、型。

03: CHAPTER 07 (p. 96) 〜 09 (p. 155):
  条件分岐、繰返し、配列。

04: CHAPTER 10 (p. 156) 〜 11 (p. 188):
  メソッド、クラスの基本。

05: Training 11 (CHAPTER 11 までの練習)
  CHAPTER 12 (p. 189 〜 206): コンストラクタ、参照。

06: Exercise 11 (CHAPTER 11 までの提出課題)
  CHAPTER 12 (p. 207 〜 217)、CHAPTER 13 (p. 218 〜 225):
  static修飾子、アクセス修飾子。

07: Training 12 (CHAPTER 12 の練習)
  CHAPTER 19 (p. 339 〜353): 継承。

08: Exercise 12 (CHAPTER 12 の提出課題)、
  CHAPTER 19 (p. 353 〜 362)、CHAPTER 14 (p. 226 〜 247):
  親クラスのコンストラクタの呼出し、API 仕様。

09: Training 19 (CHAPTER 14、19 の練習)
  CHAPTER 20 (p. 363 〜 381): ポリモーフィズム。

10: Exercise 19 (CHAPTER 19 の提出課題)、
  CHAPTER 20 (p. 382 〜 394)、CHAPTER 16 (p. 271 〜 284):
  具体クラスのポリモーフィズム、例外の基本。

11: Training 20 (CHAPTER 20 の練習)、
  CHAPTER 16 (p. 285 〜 298)、CHAPTER 24 (p. 458 〜 468):
  例外のスローとチェック例外、ストリームとテキストデータの入出力。

12: Exercise 20 (CHAPTER 20 の提出課題)
  CHAPTER 24 (p. 468 〜 489): バイナリデータの入出力。

13: Training 16 (CHAPTER 16、24 の練習)
  これまでの復習。

14: Exercise 16 (CHAPTER 16、24 の提出課題)
  学習内容の振返り。

<成績評価方法>
以下に基づき、成績の評価を行う。

● 提出課題 (100%)。

 ただし、提出課題は、オブジェクト指向プログラムと共通とする。

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

<教科書>
宮本 信二, "基礎からの Java 改訂版," SB クリエイティブ株式会社, 東京, 2010.
http://www.sbcr.jp/products/4797359275.html

<参考書>
【入門書】

 入門書は、2 種類入手すると便利なことが多い。互いの記述を補えるからである。この授業の教科書は入門書であるので、必要ならばもう 1 冊入手するとよい。

 以下に、比較的質の高い 2 冊を紹介する。

川場 隆, "新 わかりやすい Java 入門編," 株式会社秀和システム, 東京, 2015.
http://www.shuwasystem.co.jp/products/7980html/4277.html

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

【演習書】

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

中島 雄洋, "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 最強リファレンス," SB クリエイティブ株式会社, 東京, 2014.
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

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

<学生へのメッセージ>
この授業では、自発的に学習しなければほとんど何も得られないだろう。

 この授業を受けるなら、以下をよく読み、理解した上で参加してほしい。

 プログラミングの授業は、「ついていく」ことが習得する上で重要となる。時間がたってから復習して取返すのは、非常に難しい。従って、予習復習を十分に行うこと。

 また、各自には以下の行動を求める。

● 授業中に分からないことがあれば、まずは教員に質問して解決すること。
● 授業には必ず教科書を持参すること。
● 予習のために、このシラバスを参考にすること。

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

<備 考>
2016 年 3 月 24 日 更新


このページの著作権は学校法人工学院大学が有しています。
Copyright(c)2016 Kogakuin University. All Rights Reserved.