Sponsored links

Valid XHTML 1.0!
Valid CSS!
Product: Book - Paperback
Title: The Practice of Programming
Publisher: Addison-Wesley Professional
Authors: Brian W. Kernighan, Rob Pike
Rating: 5/5
Customer opinion - 5 stars out of 5
Compare it to Code Complete

This book won't teach you how to program. It won't teach you how to solve that one problem you've been struggling with for days. It won't revolutionize your programming practice. It will, however, be entertaining reading. Pike and Kernighan obviously have a story or two to tell, and they relate to them in their suggestions for programming practices. For anyone with practical experience most things will be fairly basic and obvious. No one is ever a complete programmer though, and there are tidbits you will pick up here and there.
I would mostly recommend this book to someone who enjoys reading a little bit of entertaining computer history and like to hear about Kernighan's and Pike's own experiences in becoming experts of programming.

Product: Book - Paperback
Title: PMP: Project Management Professional Study Guide, 2nd Edition
Publisher: Sybex Inc
Authors: Kim Heldman, PMP, Kim Heldman, Sybex
Rating: 2/5
Customer opinion - 2 stars out of 5
Very easy to read, but don't trust it for the exam

I read the book two days before presenting my exam and felt very confident that I was ready for it. It is easy to read, the examples are very good, the companion CD and testing software is excellent. However, there are a lot of mistakes and incorrect terminology. I walked into the exam very confident and about half of the questions were very though to me because the terminology was different. I passed my exam, but I really suffered through the exam. Make sure you support everything you read here with the latest version of the PMBOK.

Product: Book - Hardcover
Title: Applying UML and Patterns : An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition)
Publisher: Prentice Hall PTR
Authors: Craig Larman
Rating: 5/5
Customer opinion - 5 stars out of 5
Underlying principles and practice: Excellent job.

There is a lot of textbooks on UML in the market, similarly on development processes like the Unified Process, design patterns and OOA/D. Many textbooks that I have seen provide a dry list of UML notations, or a dry list of process guidelines, or trivial examples on how a design pattern can be implemented. However, no other textbook in my opinion makes an excellent job in putting everything together in a case study (the 3rd edition provides two case studies) in order to illustrate (1) what is the significance of each one of the above, (2) how they fit together and (3) what are possible tradeoffs. The author very clearly explains what are the underlying principes behind object-oriented software development and (more importantly) how these principles can be put into practice.

Since the first edition I found Craig's writing style very easy to follow and as a graduate student taking software engineering and related classes I used this textbook as a self study to learn about OOA/D and UML. As an instructor I have been using this textbook for a number of software engineering and related classes (both senior level undergraduate and graduate), and the feedback I receive from students is very positive. I also recommend this book to students who are undertaking final-year undergraduate projects or graduate projects, and we have found this book to be very valuable for projects that involve several stages of analysis, design and implementation and who want to know how a process such as the Unified Process can be used in an agile manner. My experience tells me that this last point is very important for students who would work individually or in small groups over a (usually) short period of time to complete a development project.

Several of my previous students who are now employed in the IT industry as developers are telling me that they still use this book and find it a very valuable reference.

The book has also sparked interesting discussions among colleagues and researchers on various aspects on OOA/D and it is a valuable source. More particularly, the book successfully manages to integrate the principle of Design by Contract beyond implementation. Craig's approach to introduce operation contracts places emphasis on assertions from early stages of development and shows how this emphasis is propagated to detailed design (through UML communication diagrams) and through the use of responsibility patterns.

Regarding a comment on GRASP by a previous (and anonymous) reviewer, I would like to point out that a pattern is a set of principles (can be on any level of granularity) that solves a recurring problem at any stage during development. This (albeit informal) definition does not confine patterns to structural or behavioral design (along the lines of the GoF design patterns). Craig makes that very clear in the book particularly in the second and third edition) and I'm afraid to say that the reviewer who made the comment either skipped that part or misunderstood it.

Product: Book - Paperback
Title: SQL Queries for Mere Mortals: A Hands-On Guide to Data Manipulation in SQL
Publisher: Addison-Wesley Professional
Authors: Michael J. Hernandez, John L. Viescas
Rating: 3/5
Customer opinion - 3 stars out of 5
Not for Insertion

While this text may be fine for writing queries for the retrieval of data, it was useless for my task of populating an empty database from a variety of flat files.