| Required Reading: Recommended Readings: Gamma, Helm, Johnson, Vlissides Design Patterns - Elements of Reusable Object-Oriented Software Addison Wesley, 1995 a comprehensive study of design patterns Felleisen, Findler, Flatt, Krishnamurthi How to Design Programs. MIT Press, 2001 At least Part 1 is highly recommended for those that did not
take COM 1100 in the Fall 2002 Felleisen, Friedman A Little Java, A Few Patterns MIT Press, 1998 why all what is in HtDP matters and how it scales to Java Sestof Java Precisely MIT Press, 2002 a small and concise explanation of Java
Readings in Effective Java by Joshua Bloch: - Foreward by Guy L Steele Jr (who was a co-inventor of Scheme)
- Item 5: Eliminate obsolete object references
- Item 7: Obey the general contract when overriding equals
- Item 9: Always override toString
- Item 11: Consider implementing Comparable
- Item 16: Prefer interfaces to abstract classes
- Item 26: Use overloading judiciously
- Item 31: Avoid float and double if exact answers are required
- Item 38: Adhere to generally accepted naming conventions
- Item 39: Use exceptions only for exceptional conditions
- Item 40: Use checked exceptions for recoverable conditions and run-time exceptions for programming errors
|