Foundations of Computing

Provides an introduction to the theory of computing science. Covering the main areas of complexity theory, automata and formal languages in a coherent way, the text also covers the theoretical aspects of more applied areas. The author's approach is to stimulate students' understanding of the relevance of theory to important application areas - for example, image processing, communication networks and cryptography are all discussed. The book also provides numerous examples, graded exercises and diagrams.