is an essential tool in almost all subareas of computer science. Interesting and challenging problems in discrete mathematics arise in programming languages, computer architecture
, networking, distributed systems
, database systems, AI, theoretical computer science
, and other areas.
This textbook is the first part of the two series of book, used to teach two-quarter course sequence in discrete mathematics that includes Boolean arithmetic, combinatorics, elementary logic, induction, graph theory and finite probability in the University of California, San Diego
(USCD). These courses are core undergraduate requirements for majors in Computer Science, Computer Engineering, and Mathematics-Computer Science
This text, A Short Course in Discrete Mathematics
, was developed for the first quarter and the other text, Mathematics for Algorithm and System Analysis
was developed for the second quarter.
This book consists of six units of study (Boolean Functions and Computer Arithmetic; Logic; Number Theory and Cryptography; Sets and Functions; Equivalence and Order; and Induction, Sequences and Series), each divided into two sections. Each section contains a representative selection of problems. These vary from basic to more difficult, including proofs for study by mathematics students or honors students.
The review questions. 'Multiple Choice Questions for Review' appear at the end of each unit. The explanatory material in this book is directed towards giving students the mathematical language and sophistication to recognize and articulate the ideas behind these questions and to answer questions that are similar in concept and difficulty. Many variations of these questions have been successfully worked on exams by most beginning students using this book at UCSD.
Students who master the ideas and mathematical language needed to understand these review questions gain the ability to formulate, in the neutral language of mathematics, problems that arise in various applications of computer science. This skill greatly facilitates their ability to discuss problems in discrete mathematics with other computer scientists and with mathematicians.