Foundations of Computation
2011 by Carol Critchlow, David Eck, Hobart and William Smith Colleges.
Textbook for a one-semester course in theoretical computer science. No prerequisites other than introductory computer programming. The first half of the course covers material on logic, sets, and functions that would often be taught in a course in discrete mathematics. The second part covers material on automata, formal languages, and grammar that would ordinarily be encountered in an upper level course in theoretical computer science.