The current study group book is Agile Software Development by Alistair Cockburn. Our next session, Tuesday March 11, will continue with the Papers by Naur, Ehn, and about Musashi in the appendicies, thus wrapping up the book.

After we finish this book, we will start in on Bitter Java by Bruce Tate, tales of server-side failed java projects.

The study group is focused on design patterns. It has been moderated for the past several years by Ken Dempster, Sun Certified Programmer on the Java 2 Platform. We currently meet three Tuesdays of the month at 7:30 p.m. at Panini's Cafe near Marina del Rey

Past study group topics:

Java idioms, using: Java Performance and Idiom Guide by Craig Larman and Rhett Guthrie.

Concurrent Programming, using Concurrent Programming in Java: Design Principles and Patterns by Doug Lea Doug Lea's home page is gee.cs.oswego.edu

Nik Boyd prepared Study Guide Questions for the Concurrent Programming sequence.

AOP (Aspect Oriented Software Development)
aosd.net
aspectj.org
aspect programming summary
AspectJ is a seamless aspect-oriented extension to Java that enables the modular implementation of a wide range of crosscutting concerns: AspectJ.org.
Hyper/J supports "multi-dimensional" separation and integration of concerns in standard Java software:
www.research.ibm.com/hyperspace/HyperJ/HyperJ.htm and
www.alphaworks.ibm.com/tech/hyperj JAC is a framework for aspect-oriented programming in Java: jac.aopsys.com
JMangler is a framework for load-time transformation of Java programs, which supports conflict-free composition of independently developed aspects (implemented as JMangler transformer components) and their joint application to existing base classes: javalab.iai.uni-bonn.de/research/jmangler
MixJuice is an extension to Java, based on the difference-based module mechanism: staff.aist.go.jp/y-ichisugi/mj
ArchJava extends Java with explicit software architecture constructs, separating out structural concerns that would otherwise crosscut the system: www.cs.washington.edu/homes/jonal/archjava/

Refactoring
Refactoring study sequence

Design Patterns

  • design patterns
  • A learning guide to design patterns
  • design patterns in Ruby
    Other Java stuff
  • Java Language Specification
  • The Java API
  • Java Ranch mock exam list
  • JO+ Get Certified
  • Los Angeles Java Users Group (www.lajug.org)

    Some other links of interest

  • Alistair Coburn
  • java practices
  • pragmatic programmer.com
  • pragmatic rules
  • Agile Manifesto
  • Ruby at ruby-lang.org
  • Ruby App Archive (RAA) (xml)
  • Comparison of C Sharp and Java
  • Legos 'lejos on Mac OS X

    Books used, discussed, recommended, mentioned, or even merely seen:
    Refactoring by Martin Fowler
    Design Patterns by Erich Gamma, et al
    Patterns in Java, Vol. 1 by Mark Grand
    Concurrent Programming in Java: Design Principles and Patterns by Doug Lea
    The Structure and Interpretation of Computer Programs by Abelson and Sussman
    The Pragmatic Programmer by Andrew Hunt et al
    Writing Effective Use Cases by Alistair Cockburn
    Database Design for Smarties by Robert J. Muller
    Design Patterns for Object Oriented Software Development by Wolfgang Pree
    Object-Oriented Software Development by Rebecca Wirfs-Brock et al
    Planning Extreme Programming by Martin Fowler, Kent Bec
    Extreme Programming in Practice by James Newkirk, Robert Martin
    The Mythical Man-Month by Frederick Brooks
    Object Oriented Design Measurement by Scott Whitmire

    Proposed Study Group Topics from the Past: