This easy-to-follow textbook introduces the mathematical language, knowledge and problem-solving skills that undergraduates need to study computing. The language is in part qualitative, with concepts such as set, relation, function and recursion/induction; but it is also partly quantitative, with principles of counting and finite probability. Entwined with both are the fundamental notions of logic and their use for representation and proof.
Features: teaches finite math as a language for thinking, as much as knowledge and skills to be acquired; uses an intuitive approach with a focus on examples for all general concepts; brings out the interplay between the qualitative and the quantitative in all areas covered, particularly in the treatment of recursion and induction; balances carefully the abstract and concrete, principles and proofs, specific facts and general perspectives; includes highlight boxes that raise common queries and clear confusions; provides numerous exercises, with selected solutions.
Dr. David Makinson is a Visiting Professor in the Department of Philosophy, Logic and Scientific Method at the London School of Economics, UK.
Collecting Things Together: Sets.- Comparing Things: Relations.- Associating One Item with Another: Functions.- Recycling Outputs as Inputs: Induction and Recursion.- Counting Things: Combinatorics.- Weighing the Odds: Probability.- Squirrel Math: Trees.- Yea and Nay: Propositional Logic.- Something about Everything: Quantificational Logic.- Just Supposing: Proof and Consequence.