This text strikes a good balance between rigor and an intuitive approach to computer theory. Covers all the topics needed by computer scientists with a sometimes humorous approach that reviewers found "refreshing". It is easy to read and the coverage of mathematics is fairly simple so readers do not have to worry about proving theorems.