**Building Blocks for Theoretical Computer Science**

by Margaret M. Fleck

**Publisher**: University of Illinois, Urbana-Champaign 2013**Number of pages**: 271

**Description**:

This book teaches you how to read and write mathematical proofs. It provides a survey of basic mathematical objects, notation, and techniques which will be useful in later computer science courses. And, finally, it gives a brief introduction to some key topics in theoretical computer science: algorithm analysis and complexity, automata theory, and computability.

Download or read it online for free here:

**Download link**

(1.1MB, PDF)

## Similar books

**Computational and Inferential Thinking: The Foundations of Data Science**

by

**Ani Adhikari, John DeNero**-

**GitBook**

Data Science is about drawing useful conclusions from large and diverse data sets through exploration, prediction, and inference. Our primary tools for exploration are visualizations and descriptive statistics, for prediction are machine learning ...

(

**1557**views)

**A New Kind of Science**

by

**Stephen Wolfram**-

**Wolfram Media**

Starting from a collection of simple computer experiments -- illustrated in the book by striking computer graphics -- Wolfram shows how their unexpected results force a whole new way of looking at the operation of our universe.

(

**4515**views)

**Introduction to High-Performance Scientific Computing**

by

**Victor Eijkhout**-

**University of Texas**

A computational scientist needs knowledge of several aspects of numerical analysis and discrete mathematics. This text covers: computer architecture, parallel computers, machine arithmetic, numerical linear algebra, applications.

(

**7822**views)

**Concepts, Techniques, and Models of Computer Programming**

by

**Peter Van Roy, Seif Haridi**-

**The MIT Press**

Covered topics: concurrency, state, distributed programming, constraint programming, formal semantics, declarative concurrency, message-passing concurrency, forms of data abstraction, building GUIs, transparency approach to distributed programming.

(

**11045**views)