A one-semester course in theoretical computer science will use this textbook. The only prerequisite for the course is basic computer programming.
The first half of the course is devoted to logic, sets, and function topics that are frequently covered in discrete mathematics courses. The second section contains information on automata, formal languages, and grammar that is often found in a higher-level theoretical computer science course.