Don't waste your money on this book. The book starts out good. The first two chapters are well written and informative. Unfortunately, this book is peppered with errors. The errors are so obvious that the author and McGraw-Hill should be ashamed to publish it in its current state (the first programming example won't even compile!).