Theory of Computation

A branch of computer science that deals with whether and how efficiently problems can be solved on a computer. It is divided into two major sub-branches: computability theory and complexity theory, but both sub-branches deal with formal models of computation.

All categoriesBooks under this sub-category (24 books)

Introduction to Theory of Computation

A free textbook for an undergraduate course on the Theory of Computation at Carleton University.

Introduction to Theory of Computation

A free textbook for an undergraduate course on the Theory of Computation at Carleton University.

Methods for solving problems on computers and the costs (usually the running time) of using those methods.

Methods for solving problems on computers and the costs (usually the running time) of using those methods.

Introduces the basics of the functional and imperative models of computation, recursive and iterative processes, and the basics of programming using higher-order functions. Uses Standard ML and Java as the programming languages.

Introduces the basics of the functional and imperative models of computation, recursive and iterative processes, and the basics of programming using higher-order functions. Uses Standard ML and Java as the programming languages.

An Introduction to the Theory of Computation

This book explores terminologies and questions concerning programs, computers, problems, and computation. The exploration reduces in many cases to a study of mathematical theories, such as those of automata and formal languages.

An Introduction to the Theory of Computation

This book explores terminologies and questions concerning programs, computers, problems, and computation. The exploration reduces in many cases to a study of mathematical theories, such as those of automata and formal languages.

This book covers the dominant theoretical approaches to the approximate solution of hard combinatorial optimization and enumeration problems.

This book covers the dominant theoretical approaches to the approximate solution of hard combinatorial optimization and enumeration problems.

Building Blocks for Theoretical Computer Science (Version 1.3)

This book teaches you how to read and write mathematical proofs. It also gives a brief introduction to some key topics in theoretical computer science: algorithm analysis and complexity, automata theory, and computability.

Building Blocks for Theoretical Computer Science (Version 1.3)

This book teaches you how to read and write mathematical proofs. It also gives a brief introduction to some key topics in theoretical computer science: algorithm analysis and complexity, automata theory, and computability.

These lecture notes cover algorithms, especially combinatorial algorithms, with the main goal of creating correct and always-efficient ones.

These lecture notes cover algorithms, especially combinatorial algorithms, with the main goal of creating correct and always-efficient ones.

Combinatorial Optimization: Exact and Approximate Algorithms

Lecture notes from the class CS261: Optimization and Algorithmic Paradigms taught at Stanford. They cover topics in approximation algorithms, exact optimization, and online algorithms.

Combinatorial Optimization: Exact and Approximate Algorithms

Lecture notes from the class CS261: Optimization and Algorithmic Paradigms taught at Stanford. They cover topics in approximation algorithms, exact optimization, and online algorithms.

These notes deal with the foundations of measuring the complexity of a problem, algorithm or structure used in computer science, the traditional branches of mathematics, statistical physics, biology, medicine, social sciences and engineering.

These notes deal with the foundations of measuring the complexity of a problem, algorithm or structure used in computer science, the traditional branches of mathematics, statistical physics, biology, medicine, social sciences and engineering.

These set of introductory notes give the broad picture of modern complexity theory, define the basic complexity classes and give some examples of each complexity class.

These set of introductory notes give the broad picture of modern complexity theory, define the basic complexity classes and give some examples of each complexity class.

Complexity Theory: A Modern Approach

A draft of a textbook on computational complexity theory. Covers basic complexity classes, lowerbounds for concrete computational models, and some advanced topics.

Complexity Theory: A Modern Approach

A draft of a textbook on computational complexity theory. Covers basic complexity classes, lowerbounds for concrete computational models, and some advanced topics.

These notes deal with the foundations of complexity theory for a one-semester graduate course. Part of it is also suitable for an undergraduate course, at a slower pace. Mathematical maturity is the main prerequisite.

These notes deal with the foundations of complexity theory for a one-semester graduate course. Part of it is also suitable for an undergraduate course, at a slower pace. Mathematical maturity is the main prerequisite.

Computational Complexity: A Conceptual Perspective (Draft)

Focuses on the high level study of computation, exploring the connections among computational problems and notions. Covers theory of NP-completeness, approximation, probabilistic proof systems, pseudorandomness and cryptography.

Computational Complexity: A Conceptual Perspective (Draft)

Focuses on the high level study of computation, exploring the connections among computational problems and notions. Covers theory of NP-completeness, approximation, probabilistic proof systems, pseudorandomness and cryptography.

CS 373: Introduction to Theory of Computation

A collection of class notes used in teaching CS 373 (Theory of Computation), in the Computer Science department in University of Illinois at Urbana-Champaign.

CS 373: Introduction to Theory of Computation

A collection of class notes used in teaching CS 373 (Theory of Computation), in the Computer Science department in University of Illinois at Urbana-Champaign.

Essentials of Theoretical Computer Science

Covers the basics of the theory of computation and provides some of the tools used in program verification, translation and compiling, and the analysis of algorithms.

Essentials of Theoretical Computer Science

Covers the basics of the theory of computation and provides some of the tools used in program verification, translation and compiling, and the analysis of algorithms.

Book Categories

Computer Science
16
Introduction to Computer Science
32
Introduction to Computer Programming
52
Algorithms and Data Structures
25
Artificial Intelligence
24
Computer Vision
30
Machine Learning
6
Neural Networks
22
Game Development and Multimedia
25
Data Communication and Networks
5
Coding Theory
16
Computer Security
9
Information Security
35
Cryptography
3
Information Theory
17
Computer Organization and Architecture
22
Operating Systems
2
Image Processing
11
Parallel Computing
4
Concurrent Programming
24
Relational Database
3
Document-oriented Database
14
Data Mining
16
Big Data
17
Data Science
23
Digital Libraries
22
Compiler Design and Construction
26
Functional Programming
11
Logic Programming
26
Object Oriented Programming
21
Formal Methods
70
Software Engineering
3
Agile Software Development
7
Information Systems
5
Geographic Information System (GIS)

Mathematics
68
Mathematics
14
Algebra
1
Abstract Algebra
27
Linear Algebra
3
Number Theory
8
Numerical Methods
2
Precalculus
10
Calculus
3
Differential Equations
5
Category Theory
11
Proofs
20
Discrete Mathematics
24
Theory of Computation
15
Graph Theory
2
Real Analysis
1
Complex Analysis
15
Probability
47
Statistics
7
Game Theory
5
Queueing Theory
13
Operations Research
16
Computer Aided Mathematics

Supporting Fields
21
Web Design and Development
1
Mobile App Design and Development
28
System Administration
2
Cloud Computing
10
Electric Circuits
6
Embedded System
28
Signal Processing
4
Network Science
3
Project Management

Operating System
Programming/Scripting
6
Ada
13
Assembly
34
C / C++
8
Common Lisp
2
Forth
35
Java
13
JavaScript
1
Lua
15
Microsoft .NET
1
Rexx
12
Perl
6
PHP
68
Python
12
R
1
Rebol
13
Ruby
2
Scheme
3
Tcl/Tk

Miscellaneous
Most Popular Books

402,358
Introduction to Objective Caml
215,770
Notes for the Course of Algorithms
187,693
Lessons In Electric Circuits
170,728
A Beginners C++
134,502
Introduction to Object-Oriented Programming Using C++
126,712
A Short Introduction to Operating Systems
125,475
Data Structures and Algorithms with Object-Oriented Design Patterns in C++
121,824
Programming The Nintendo Game Boy Advance: The Unofficial Guide
117,123
C Programming Tutorial (K&R version 4)
116,207
Computer Organization and Design Fundamentals