Books I Recommend

The following books are ones I feel contain useful information for Computer Science students.  You can locate any of these books through the various online bookstores, or ask Franklin's bookstore to order them for you.  Where possible, I have linked the title of the book to the web page for the book.

How to Solve It, by G. Polya, published by Princeton Science Library.  A book on problem solving, with an emphasis on mathematical problems, but the techniques here will help you solve any problem, mathematical or not.

How to Solve It: Modern Heuristics, by Z. Michalewicz and D.B. Fogel, published by Springer.  Another good book on problem solving.  This one covers basic problem solving, and looks in more detail on techniques for solving different types of computer related problems.  Excellent examples, but the book is written from a math background. 

The C++ Programming Language, by Bjarne Stroustrup, published by Addison Wesley.   Good overall C++ reference book with plenty of beginning and advanced material.

Effective C++, by Scott Meyers, published by Addison Wesley.  Meyers packs tips and techniques you normally learn after years of experience.  Not a light read...expect to study each tip to understand what is happening.  A good book to read after you finish CS II.

The Practice of Programming, by Brian W. Kernighan and Rob Pike, published by Addison Wesley.  Covers many areas of development and gives good practical advice.  Some parts would be useful during CS II.

The Pragmatic Programmer, by Andrew Hunt and David Thomas, published by Addison Wesley.  A more abstract book than the others, this one is excellent after you have finished several programming classes.  The advice in this book will help you to be a better programmer, but you need some experience first before you'll appreciate the advice.