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
- Instructor (Will Clinger)
Java Resources
- API for Java 2 Platform, Standard Edition, version 6.
- The Java Tutorial: A practical guide for programmers.
Last updated 8 February 2012.