This book, nearly, *nearly* scored a five. It's a great read. In particular it's a great read for people teaching others to code. I've been involved in teaching people to code for years and in many cases you can't find useful books about teaching people to code. The landscape is lettered with books that do the teaching (e.g. HTDP, Programming x, Learn y in 21 days etc.) or you get into books that about teaching (learning how to learn etc.). So a book about teaching people to code, I'm all for. The book is aimed at K-12 teachers, I'd extend that to anyone who needs to teach others how to code.
The book is broken into different phases. This is probably the main thing that holds the book back from a five star rating. The authors use an allegory loosely based on Harry Potter. It starts cute, then grates. I think it's there to provide discussion topics in case students and teachers share the book. I jut found it got in the way of the discussions the book focuses on. It's these discussions that really are fascinating. The link between computation and language, the bridges to formal computer science topics (e..g the halting problem) the book covers a lot and in a pleasing manner. The use of evolving complexity languages was a particular highlight and I really appreciated it.
If I was to nitpick I wish there was a linked curriculum with projects and the excercises better spelled out. But that's harsh considering the intended audience would already have that. Definitely worth the read.