How to think like a Computer Scientist (C++ Version)
by Allen B. Downey
Number of pages: 189
The goal of this book is to teach you to think like a computer scientist. I like the way computer scientists think because they combine some of the best features of Mathematics, Engineering, and Natural Science. Like mathematicians, computer scientist use formal languages to denote ideas (specifically compuations). Like engineers, they design things, assembling components into systems and evaluating tradeoffs among alternatives. Like scientists, they observe the behavior of complex systems, form hypotheses, and test predictions.
Home page url
Download or read it online for free here:
by Elijah Rippeth - GitBook
This serves as documentation for more advanced/modern features of C++ that are not currently covered in the curriculum at many universities. Some topics covered aren't necessarily C++ specific, but are more general software engineering aspects.
The objective is to present modern C++ idioms to programmers who have moderate level of familiarity with C++, and help elevate their knowledge so that C++ feels much friendlier to them. It is designed to be an exhaustive catalog of reusable idioms.
- O'Reilly Media
C++ template metaprogramming is ideal for performing automatic compile-time optimization. With this ebook, you'll learn how improved metaprogramming techniques in C++11 and C++14 can help you avoid mistakes by making the compiler work for you.
by Colin Campbell, Ade Miller - Microsoft Press
This guide introduces you to the most frequently used patterns of parallel programming and provides executable code samples for them, using PPL. When thinking about where to begin, a good place to start is to review the patterns in this book.