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 Samy Pesse - GitHub
Online book about how to write a computer operating system in C/C++ from scratch. The goal is to build a very simple UNIX-based operating system, not just a 'proof-of-concept'. The OS should be able to boot, start a userland shell, and be extensible.
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.
This book contains guidelines and advices on how to write efficient software using the C++ language. Software correctness and maintainability are taken into account, but are not the primary concerns. The book is for intermediate C++ programmers.
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.