This is a free textbook for an undergraduate course
on the Theory of Computation, which have been teaching at Carleton University
since 2002.Topics covered includes: Finite Automata and Regular Languages,
Context-Free Languages, Turing Machines and the Church-Turing Thesis,
Decidable and Undecidable Languages and Complexity Theory.
explains the following topics: Automata and Language Theory, Finite automata,
regular expressions, push-down automata, context-free grammars, pumping
lemmas, Computability Theory, Turing machines, Church-Turing thesis,
decidability, halting problem, reducibility, recursion theorem, Complexity
Theory, Time and space measures, hierarchy theorems, complexity classes P, NP,
PSPACE, complete problems, P versus NP conjecture, quantifiers and games,
provably hard problems, probabilistic computation.
This note provides
an introduction to the theory of computational complexity. Topics covered
includes: Models of computation, Time and space complexity classes,
Nonterminism and NP, Diagonalization, Oracles and relativization, Alternation,
Space complexity, Natural proofs, Randomized classes, Counting classes,
Descriptive complexity and Interactive proofs.
covers the following topics: Automata, Set Theory, The Natural numbers and
Induction, Foundations of Language Theory, Operations on Languages,
Deterministic Finite Automata, Formal Languages, Computability, Computations
of Turing Machines, The Primitive Recursive Functions, The Partial Recursive
Functions, DNA Computing, Analog Computing and Scientific Computing.
This book introduces the basic concepts from computational number theory
and algebra, including all the necessary mathematical background. Covered topics
are: Basic properties of the integers, Congruences, Computing with large
integers, Euclid’s algorithm, The distribution of primes, Abelian groups, Rings,
Finite and discrete probability distributions, Probabilistic algorithms,
Probabilistic primality testing, Finding generators and discrete logarithms in
Zp, Quadratic reciprocity and computing modular square roots, Modules and vector
spaces, Matrices, Subexponential-time discrete logarithms and factoring,
Polynomial arithmetic and applications.