Neil Immerman
This self-contained textbook introduces the methods and results of descriptive complexity together with its applications. With many examples and exercises, it may be used for a graduate or advanced undergraduate course.