Hello,
Why should you bother?
The following list of books may help you concentrate on the best materials in the CS field, in my opinion.
My case
I study programming for a while and have looked through a number of books about C++ programming and CS in general.
Here is a distilled list of books that I recommend and posses personally.
C++ programming (actually these are the books Alex Allain propose):
The books are placed in the growing order of difficulty
1. Jumping in C++ - Alex Allain
I find this book very detailed, friendly and helpful in studying C++
It has lots of examples and non trivial practice problems.
2. Practical C++, 2nd edition (2003) - Steve Oualline
This books dives into more details of C++ and SW development
cycle. In addition you may look at Steve`s site for more free
books of him. He writes with zest of humor.
3. Programming Pearls, 2nd edition (2000) - Jon Bentley
I have it but not yet worked through it.
It is based on the columns that was published by Jon Bentley in
the Communications of the ACM
4. Effective C++, 3rd edition (2005) - Scott Meyers
More effective C++, (1996) - Scott Meyers
Effective STL, (2001) - Scott Meyers
I have looked through these books they cover more advanced
features of C++.
In addition to Scott Meyers take a look at books and blogs of:
- Herb Sutter who is developer of MS Visual Studio and Visual C++ at Microsoft
Sutter
Andrei Alexandrescu
Scott Meyers, Herb Sutter and Andrei Alexandrescu hold their
panel on C++ & Beyond about C++11 standard (very interesting)
Alexandrescu, Meyers, Sutter: On Static If, C++11 in 2012, Modern Libraries, and Metaprogramming | Going Deep | Channel 9
5. Programming: Principles and Practice using C++ (2008) -
Bjarne Stroustrup
This is very detailed book on programming and C++
The C++ Programming Language, special edition (2000)
According to Bjarne he wants to complete the 4rd edition that will contain
updated features of C++11 in March 2013.
6. There are a number of video courses on Interenet. The best one I think
is Pluralsight - Pluralsight Course Library
Especially, C++ courses of Kate Gregory.
Note: this site is not for free.
Computer Science in general:
1. Programming Language Pragmatics, 3rd edition (2009) - Michael L. ScottThis book covers about 4-5 courses in CS, like:
- Programming Language Design
- Compiler Construction
- Programming Paradigms
- Functional Programming (a fraction)
- Scripting Languages (a fraction)
In addition the book covers dozens of programming languages.
Software development process cycle:
This book serves as a bible of a big number of programmers.
1. Code Complete 2, (2004) - Steve McConnell.
It covers entire SW development process cycle with an emphasize on SW
construction (development).
According to Steve this book is still up to date even though 8 years have
passed since this 2nd edition.
Well that`s it more or less.
I hope this information will help some of you.