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
15
Introduction to Computer Science
33
Introduction to Computer Programming
52
Algorithms and Data Structures
24
Artificial Intelligence
24
Computer Vision
28
Machine Learning
6
Neural Networks
22
Game Development and Multimedia
25
Data Communication and Networks
5
Coding Theory
15
Computer Security
8
Information Security
35
Cryptography
3
Information Theory
17
Computer Organization and Architecture
22
Operating Systems
1
Image Processing
10
Parallel Computing
4
Concurrent Programming
19
Relational Database
3
Document-oriented Database
13
Data Mining
16
Big Data
17
Data Science
23
Digital Libraries
22
Compiler Design and Construction
25
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
13
Algebra
28
Linear Algebra
3
Number Theory
8
Numerical Methods
2
Precalculus
10
Calculus
5
Category Theory
10
Proofs
19
Discrete Mathematics
24
Theory of Computation
14
Graph Theory
1
Complex Analysis
12
Probability
42
Statistics
7
Game Theory
5
Queueing Theory
13
Operations Research
16
Computer Aided Mathematics

Supporting Fields
19
Web Design and Development
1
Mobile App Design and Development
29
System Administration
2
Cloud Computing
9
Electric Circuits
6
Embedded System
26
Signal Processing
4
Network Science
3
Project Management

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

Miscellaneous
Most Popular Books

400,745
Introduction to Objective Caml
214,048
Notes for the Course of Algorithms
184,146
Lessons In Electric Circuits
167,502
A Beginners C++
132,879
Introduction to Object-Oriented Programming Using C++
124,731
A Short Introduction to Operating Systems
122,735
Data Structures and Algorithms with Object-Oriented Design Patterns in C++
120,353
Programming The Nintendo Game Boy Advance: The Unofficial Guide
114,808
C Programming Tutorial (K&R version 4)
113,460
Computer Organization and Design Fundamentals