At 2:51pm on Wednesday, 8 February, the instructor replaced the test program for assignment 4 (TestFMap.java) with a better test program. (The previous test program contained a bug in its probabilistic testing, which made it way too easy for implementations to pass the hashCode() quality tests.)

Required Textbook: Peter Sestoft. Java Precisely, Second Edition. MIT Press, 2005.

Required Free Online Textbook: Duane Bailey. Data Structures in Java, for the Principled Programmer, √3 Edition. PDF available online at http://www.cs.williams.edu/javastructures/Welcome.html

Catalog description:

Catalog description: CS 3500 Object-Oriented Design 4 QH
Presents a comparative approach to object-oriented programming and design. Discusses the concepts of object, class, metaclass, message, method, inheritance, and genericity. Reviews forms of polymorphism in object-oriented languages. Contrasts the use of inheritance and composition as dual techniques for software reuse such as forwarding vs delegation and subclassing vs subtyping. Fosters a deeper understanding of the principles of object-oriented design patterns, and the use of graphical design notations such as UML (unified modelling language). Basic concepts in object-oriented design are illustrated with case studies in application frameworks and by writing programs in one or more object-oriented languages.
Prereq. CS 2510 (CS U213 and 214).


Office hours

Java Resources


Last updated 8 February 2012.

Valid XHTML 1.0!