The extensively revised second edition provides further clarification of matters that typically give rise to difficulty in the classroom and restructures the chapters on logic to emphasize the role of consequence relations and higher-level rules, as well as including more exercises and solutions.
Topics and features: teaches finite mathematics 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 away confusions; provides numerous exercises, with selected solutions, to test and deepen the reader’s understanding.
This clearly-written text/reference is a must-read for first-year undergraduate students of computing. Assuming only minimal mathematical background, it is ideal for both the classroom and independent study.
Dr. David Makinson is a Visiting Professor in the Department of Philosophy, Logic and Scientific Method at the London School of Economics, UK.
The logical systems presented are: propositional logic, first-order logic, resolution and its application to logic programming, Hoare logic for the verification of sequential programs, and linear temporal logic
for the verification of concurrent programs.
The third edition has been entirely rewritten and includes new chapters on central topics of modern computer science: SAT solvers and model checking.
Fundamentals of Discrete Math for Computer Science provides an engaging and motivational introduction to traditional topics in discrete mathematics, in a manner specifically designed to appeal to computer science students. The text empowers students to think critically, to be effective problem solvers, to integrate theory and practice, and to recognize the importance of abstraction. Clearly structured and interactive in nature, the book presents detailed walkthroughs of several algorithms, stimulating a conversation with the reader through informal commentary and provocative questions.
Topics and features: highly accessible and easy to read, introducing concepts in discrete mathematics without requiring a university-level background in mathematics; ideally structured for classroom-use and self-study, with modular chapters following ACM curriculum recommendations; describes mathematical processes in an algorithmic manner, often including a walk-through demonstrating how the algorithm performs the desired task as expected; contains examples and exercises throughout the text, and highlights the most important concepts in each section; selects examples that demonstrate a practical use for the concept in question.
This easy-to-understand and fun-to-read textbook is ideal for an introductory discrete mathematics course for computer science students at the beginning of their studies. The book assumes no prior mathematical knowledge, and discusses concepts in programming as needed, allowing it to be used in a mathematics course taken concurrently with a student’s first programming course.
This textbook provides a comprehensive introduction to forecasting methods and presents enough information about each method for readers to use them sensibly.