Schechter begins with the statement that the teaching of logic is still based on the subject as it was in the 1930s, and that the plurality of logics that have surfaced in the last century have not made it to textbooks. He only considers those logics which stay within the syntax of classical propositional logic.
So, modal logic, dynamic logic, linear logic and so on are not covered. Predicate logic is only briefly mentioned. The book concentrates on teaching, along with classical propositional logic, a few subclassical propositional logics such as intuitionistic (which the author calls by the more perspicuous name ``constructive''), relevant and many-valued (including fuzzy) logic.
Although the book is aimed at mathematics undergraduates, the author does have his eye on undergraduates in other subjects --for example, philosophy-- and makes the decision not to use algebra. This is something of a challenge because the semantics of this family of logics is usually stated using algebraic means.
In contrast, the author chooses to rely on no more than a high school understanding of sets and numbers. Topologies are defined as families of sets of a particular kind, and every time the author ventures into topological semantics he makes a sympathetic remark for the benefit of the student who is baffled at the difficulty of dealing with concepts such as sets of sets of sets.
I would like to say that I am not sure whether the author's course of action is to be advocated when it comes to teaching logic to undergraduates. I would definitely not suggest it for computer science undergraduates. After classical propositional and predicate logic (which are rarely taught to computer science undergraduates anyway!), modal logic is by far the most important for computer science students to understand and, for them, the detailed study of the subclassical logics mentioned above, does not make sense.
I did get a quick introduction to these logics by reading this book. So, if you know some logic and are curious about relevant implication, or what happens when the law of excluded middle does not hold, or you don't like proofs which are purely existential, then this book provides a rigorous self-study course in reasoning with such logics. In spite of the author's conversational style, the book is not easy going: it is a course on mathematical logic, with lots of proofs and exercises. Adequacy (the harder direction of completeness) of an axiom system for fuzzy logic is not proved, but for three-valued logic it is, and a reference is provided for those who want to go on to look at the gory details for full [0,1]-valued Zadeh logic.
I did not like the aggregated treatment of these logics, first the semantics for all of them, then the axiomatizations for all of them, then the soundness ... and so on. I would have preferred dealing with each logic in turn, but this might be a matter of taste.
In my quick reading of this book, the number of syntactic derivations and equivalent sets of axioms for each of these subclassical logics sometimes made my head reel. But I did get a feel, in spite of the avoidance of algebra, of the algebraic nature of their truth value sets and semantics, a good lesson to have learnt.
The main weakness of the book is that it is a bit too mathematical. There are infinitely-valued models for constructive logic and topological models for fuzzy logic. They are less natural than the topological models for constructive logic and many-valued models for fuzzy logic which the author presents, but a discussion on the pluralism would have been interesting.
Similarly, the author mentions that the mathematical meta-reasoning in the book is classical, and points out the nonconstructive proof of Lindenbaum's lemma. The use of contraction or irrelevant implication could also have been pointed out. A nontrivial mathematical theorem might connect seemingly unrelated propositions. Would it be impossible to formulate its proof using relevant logic? More discussion on the philosophical arguments surrounding these logics would have been welcome.