A Computer Science Tapestry: Exploring Computer Science with C++
by Owen L. Astrachan
Publisher: McGraw - Hill 1999
Number of pages: 879
This book is designed for a first course in computer science that uses C++ as the language by which programming is studied. The goal has not been to cover the syntax of a large language like C++, but to leverage the best features of the language using sound practices of programming and pedagogy in the study of computer science and software design.
Home page url
Download or read it online for free here:
by Max Hailperin, Barbara Kaiser, Karl Knight - Course Technology
The book Concrete Abstractions covers the programming and data structures basics. It will give first-time computer science students the opportunity to not only write programs, but to prove theorems and analyze algorithms as well.
by Susan Rodger - Duke University
These lecture notes present an introduction to theoretical computer science including studies of abstract machines, the language hierarchy from regular languages to recursively enumerable languages, noncomputability and complexity theory.
by Allen B. Downey
This book teaches you to think like a computer scientist - to combine the best features of mathematics, natural science, and engineering, to use formal languages to denote ideas, to observe the behavior of complex systems, form hypotheses, etc.
by Tony Hey, Stewart Tansley, Kristin Tolle - Microsoft Research
The Fourth Paradigm, the collection of essays expands on the vision of pioneering computer scientist Jim Gray for a new, fourth paradigm of discovery based on data-intensive science and offers insights into how it can be fully realized.