JSL Annotated Bibliography

The Java-as-a-Second-Language Annotated Bibliography is intended to supplement the class. (It is not a list of required books -- just as the texts listed in a typical bibliography are not required.) As a bibliography, JSLAB will help reduce to a manageable size the hundreds of choices in OO and Java titles.

As an annotated bibliography, JSLAB may further reduce the time we spend on supplementary reading. This is because the annotations will direct us to the salient portions of the listed books. For example, "This book contains the best description of layers I've seen. Read that section but skip the rest."

Eventually, the bibliography will be cross-referenced by subject. For example, there may be a Layers section which lists those books with exceptional discussions of that subject. This may prove useful for those subjects that need a multiperspective presentation in order to be understood fully.

Current entries:

  • Object Oriented Software Engineering
  • Object-Oriented Development, The Fusion Method
  • Software Reuse Architecture, Process and Organization for Business Success
  • Teach Yourself Java 1.1 Programming in 24 Hours (and The Java Tutorial)
  • Java 1.1 Certification Study Guide
  • The Essential Distributed Objects Survival Guide
  • Design Patterns
  • --- spectral rule ---

    Title: Object Oriented Software Engineering
    Author: Ivar Jacobson
    Year: 1992
    ISBN: 0-201-54435-0

    Subjects of interest: OO, Process, Reuse, Architecture, Use Cases

    Introduction:

  • Contains a complete introduction to OO and a mature software development process. Written by one of the "three wise men" of OO, namely Booch, Rumbaugh and Jacobson. Of the OOSE processes these three expose as of now in their books, IMHO this is the best. This is due to the integration of Use Cases, the preference for engineering steps instead of artful stabs, and the emphasis on architecture with a solid explanation. 16 chapters, 528 pages.
  • What to read:

  • The first 5 chapters, in 105 pages, give a concise introduction to OO, process, and Ivar's approach to all this. The key concept here is that everything should be Use Case driven. Chapter 6, on architecture, explains many concepts, including Use Cases. The rest of the book is optional but good.
  • reviewer: Jack Harich


    Title: Object-Oriented Development, The Fusion Method
    Authors: Derek Coleman et al.
    Year: 1994
    ISBN: 0-13-338823-9

    Subjects of interest: OO development (analysis, design, implementation)

    Introduction:

  • for beginners looking to try the OO approach
  • H-P group combines several OO methods into one coherent process
  • What to read:

  • skim the notation in Chapter 2 and then refer back as needed
  • Chapters 3-5 accompany you through the 3 stages of your OO project
  • you're done! (I've only glanced at Chapters 6-10, Appendices A-E)
  • reviewer: Tod Rieger


    Title: Software Reuse Architecture, Process and Organization for Business Success
    Author: Ivar Jacobson
    Year: 1997
    ISBN: 0-201-92476-5

    Subjects of interest: Reuse, Process, OO, Architecture, Use Cases, Components

    Introduction:

  • The core concept is that your software development process should be reuse driven. This is not easy to understand or do, so Ivar explains and shows how. Intense reuse is a new field with many equally valid approaches. Ivar's is solid but not complete. It's based mainly on Reusable Components, a formal process, and Use Cases. 15 chapters, 497 pages.
  • What to read:

  • Chapter 7 on Layered Architecture is the best I've read on that subject. The two leading architectures today are Partitioned and Layered, and Layered is becoming seen as the better of the two, though both are partitioned.
  • On pages 10 and 11 the concept of "service packages" (SP) as a form of mega-component is explained. The key approach is, an SP is designed to be developed by a single developer, and the SP is designed so well that customers will choose it instead of developing their own custom one. The latter of course is the idea behind all good components.
  • reviewer: Jack Harich

    --- spectral rule ---

    Title: Teach Yourself Java 1.1 Programming in 24 Hours
    Author: Rogers Cadenhead
    Year: 1997
    ISBN: 1-57521-270-6

    Subjects of interest: getting started, the basics, intro to OO

    Introduction:

  • for beginners; assumes no programming experience
  • 24 one-hour lessons; updates
  • also recommended by Cafe au Lait
  • What to read:

  • Chapters 1-4 if you've never programmed (or mess up Hello World)
  • Chapters 5-8 if you're unfamiliar with Java syntax
  • Chapters 9-12 helped me see how OOAD translates into Java (magic!)
  • you're done! (Chapters 13-24 focus on applets)
  • next stop: the interactive, online Java Tutorial
  • reviewer: Tod Rieger


    Title: Java 1.1 Certification Study Guide
    Authors: Simon Roberts and Philip Heller
    Year: 1997
    ISBN: 0-7821-2069-5

    Subjects of interest: Java 1.1 certification

    Introduction:

  • Purpose is to pass the Java Programmer's Certification test.
  • This book is so well written that it also serves as a useful book to simply learn Java, too.
  • What to read:

  • You'll need and want to read every chapter in this book to pass the Certification test. All are excellent and well organized.
  • This book comes with a very representative test program that has a reasonably large base of questions. Take this test several times a week for several weeks prior to attempting the Sun Certification test.
  • Reviewer: Curt Smith

    Online recommendations:

  • Good JFC doc is inside the JDK1.2 doc download off the Java Developer Connection site.
  • There is also a tutorial/training course available.
  • --- spectral rule ---

    Title: The Essential Distributed Objects Survival Guide
    Authors: Robert Orfali, Dan Harkey and Jeri Edwards
    Year: 1996
    ISBN: 0471-12993-3

    Subjects of interest: CORBA, OLE and OpenDoc

    Introduction:

  • This is a 604 page introduction to the concepts and building blocks of the major distributed object and component systems: CORBA and OLE/COM. (It covers OpenDoc, but that is one less thing to learn these days since its demise.) The authors make what could be a dry subject interesting with their zany humor. They have a bias towards open systems (i.e. not Microsoft's proprietary COM), but they readily admit it and make it clear when they are on their soapbox.
  • What to read:

  • Client/Server with Distributed Objects
  • CORBA: The Distributed Object Bus
  • Frameworks for Business Objects and Components
  • OLE/COM: Under the Hood
  • Component Nirvana: Client/Server with Parts
  • (You may want to skip over references to OpenDoc and other solutions, like Taligent's CommonPoint, NeXT's OpenStep, and Newi.)
  • reviewer: Greg Kreis


    Title: Design Patterns
    Authors: E. Gamma, R. Helm, R. Johnson, J. Vlissides
    Year: 1995
    ISBN: 0-201-63361-2

    Subjects of interest: OO development, design patterns, reusable designs

    Introduction:

  • A catalog of frequently encountered design patterns, the reuse of which can aid OO development.
  • What to read:

  • Chapters 1 and (to a lesser extent) 6 offer yet another viewpoint on OO development.
  • Read the pattern summaries on the inside cover. If any seem familiar or useful, go to the page listed and find out more. Keep a photocopy as a "quick reference".
  • reviewer: Tod Rieger

    (thick rule)

    Last modified: 10/16/98