計算機科学第一(講義・脇田担当)

担当者

以下はこの講義+実習で使うメーリングリストです。有意義に使って下さい。

質問の宛先 (教員+TA)
(kawachi_a_aa-cs1-2010 at m.titech.ac.jp の _ を – で、at を @ で置き換えたもの)
受講生+教員+TA
(kawachi_a_aa-cs1-2010 at m.titech.ac.jp の _ を – で、at を @ で置き換えたもの)
なお、メールを使うときは東工大生のためのメールマナーに配慮して下さい。

資料

テキスト
Joshua Bloch, Effective Java (2nd edition), Prentice Hall, (May 28, 2008).
プログラム例題
http://github.com/wakita/wakita-cs1-2010

講義の進捗

  1. 10/5 — オリエンテーション、アンケート
  2. 10/12 — オブジェクト生成の周辺 (1)
    • Consider static factory methods instead of constructors
    • Consider a builder when faced with many constructor parameters
    • Enforce the singleton property with a private constructor or an enum type
  3. 10/19 — オブジェクト生成の周辺 (2)
    • Enforce noninstantiability with a private constructor
    • Avoid creating unnecessary objects
    • Eliminate obsolete object references

      授業のスライドよりも気合の入っている今週のオマケのページ

  4. 10/26 — クラスに共通するメソッド群より(同値性とその周辺)
    • Obey the general contract when overriding equals
    • Always override hashCode when you override equals
  5. 11/2 — クラスに共通するメソッド群より(同値性とその周辺)
    • Always override toString
    • Consider implementing Comparable
  6. 11/9 — クラスとインタフェイスより(情報隠蔽)
    • Minimize the accessibility of classes and members
    • In public classes, use accessor methods, not public fields
    • 講義とは全く関係ありませんが「ビジュアルプログラミングに関する一考察」という文章を書きました。ビジュアルプログラミングについて興味がある方は読んでみて下さい。
  7. 11/16 — クラスとインタフェイスより(4種の内部クラス)
  8. 11/30 — ケーススタディ (ドローエディタ)

    次週までの課題を出しました。TechDraw3.javaのコメント内を見て下さい。

  9. 12/7 — Favor composition to inheritance
  10. 12/14 — ケーススタディ (ドローエディタ)

    TechDraw4.java を見て下さい。

    来週の小テストでは本日のケーススタディの内容を扱います。