Not bad for an introductory text.
There were a few simple ideas which could have been introduced earlier to make the flow of the book simpler. They also chose to break a particular problem into two cases and then treated each case separately but in parallel through the bulk of the text. This was a bit annoying over time and could have been handled better.