Suitable for two semesters of coursework, this 626-page text balances theory and applications. Among the application features are small code examples for Mathematica, Maple, and C++. Undergraduate students will be introduced to mathematical rigor easily by the accessible writing style.
The first hundred pages cover basic set theory and proof writing, with numerous bite-sized proof examples. The profusion of small, elementary proofs highlights many approaches that will be thought-provoking to those being initiated into writing proofs. After two chapters on number theory foundations, the proof-based Part I of the book concludes with a chapter covering set relations, function basics, and cardinality.
Part II is Combinatorics. The entire text is suitable for students who are mathematics or mathematics education majors, but this half really suits computer science majors. Continuing a trend of diverse examples to teach core concepts, Part II focuses on computation and problem solving through combinatorics and graph theory. The final two sections are introductions to analysis of algorithms through decision trees, big-O, big-Θ notation, and more.
Tom Schulte teaches finite mathematics at Oakland Community College in Michigan.