Summary: | Written in a clear and informal style aimed especially at students with a limited background in mathematics, this introduction to discrete mathematics presents the material that forms the essential mathematical background for studies in computing and information systems. The topics covered include number systems, logic, relations, functions, induction, recursion, Boolean algebra, combinatorics, graph theory and number theory. The text contains many examples of applications of the theory to problems in computing, including a chapter on the representation and manipulation of numbers in a computer, examples of the use of propositional logic in program design, a section discussing the relationship between the mathematical and programming concepts of a function, and a chapter on the estimation of the time complexity of algorithms. A feature of the book is the use of algorithms written in pseudo code in many examples throughout the text. The exercises at the end of each chapter provide both routine drill of basic techniques and more challenging problems designed to enhance and extend the students' understanding. Answers to most of the exercises are provided at the back of the book. With its emphasis on presenting mathematical concepts clearly and simply, without compromising on mathematical correctness, and with its frequent use of examples drawn from computing, Discrete Mathematics for Computing is suitable for use as a text for a one-semester introductory course in discrete mathematics, particularly for students who are undertaking studies in computing and information systems |