Book Recommendation:

The book:
The Pragmatic Programmer
by Andrew Hunt and David Thomas

http://www.pragmaticprogrammer.com/

is a very good book for advanced undergraduates
and graduate students (in courses on software development).

It is a book about producing flexible, adaptable software.
The authors have nicely integrated the Law of Demeter into
their book. It is covered in a section "Decoupling and the Law
of Demeter" and this section is frequently referenced throughout the book.
One of the authors has written a book about Ruby.

Much of the wisdom in the book is condensed into 70 tips.
Many of those tips are programming language independent.

The book got very nice reviews on amazon.com
and is a bestseller at Addison Wesley.
Also check
http://slashdot.org/books/00/02/15/1912222.shtml
for many good reviews.

-- Karl Lieberherr
A paper from IEEE Software, January/February 2003 by Andy Hunt and David Thomas: The Art of Enbugging.