Puzzles in Logic, Languages and Computation by Dragomir Radev