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


  • Andrei Alexandrescu

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.