I’m currently enrolled in C++ here at Marshall University. Home of the Thundering Herd who lost their football game last night mainly because our new coach is terrible. Different story, sorry. Anyway as a class we’re actually starting to get into writing programs that go beyond “take two numbers and print their sum and average.” Not that I don’t enjoy a good easy assignment every now and then but I’ve been at roughly that level now for like 4 or 5 years. I
can write that same program in like 6 languages. It takes no more skill than is required to write “Hello world” as far as I’m concerned. As we continue through the course though things are ever increasing in difficulty; as they should. Which brings me to my point. I’m in an online course which doesn’t require a text book. I have three though. That’s right three, and that doesn’t include the small text book worth of notes he has provided for us to read over. So in essence I have four books from which I can learn how to do the assignment at hand. Hearing a second opinion on a matter always makes things easier. Never fails, trust me. I highly recommend two of my text books, a third I haven’t really got a chance to use, but I have read over it and enjoy it a lot.
The first book is Absolute C++ by Walter Savitch. Its full color which might not sound like much but it helps me a lot. I think that probably has something to do with me being new to programming as well. All the code is colored just as it would be if you had syntax highlighting enabled on vim. The colors are different then vim’s, vim is just an example. The book is very well laid out and includes plenty of pieces of example code to help demonstrate the various concepts your in the process of learning. I have the first edition but there is a second edition out. I bought the first purposefully off of Amazon.com because I could get it “brand new” from someone selling it for like $10, so that’s what I did. According to my professor it wouldn’t matter which addition I had anyway because I wouldn’t be doing anything complicated enough for the code to have changed any between the additions. I did find a grammar error or two, perhaps that’s what Savitch changed (joke… sorta).
Which brings me to my second book, C++ From the Beginning by Jan Skansholm. I only really recommend this book if you’ve had programming experience before. Even if it wasn’t C++ its written with the idea in mind that you understand a lot of basic concepts of programming. It book does start at the very beginning, but doesn’t really explain on a totally elementary level. While the Savitch pretty much assumes your working on a computer with an IDE, compiler, etc. preinstalled by you or someone else, Skansholm goes through the process of picking and installing the compiler yourself. So be prepared to go a lot deeper into it than you will Savitch. This being the main reason I’d recommend this text for someone with computer, preferably programming, experience of some kind. It does however, like the Savitch text, include plenty of examples that should be help you a long your way. It does, unlike the Savitch text, generally include a deeper explanation of whats going on in and behind your code.