This text is a carefully structured, coherent, and comprehensive course of discrete mathematics. The approach is traditional, deductive, and straightforward, with no unnecessary abstraction. It is self-contained including all the fundamental ideas in the field. It can be approached by anyone with basic competence in arithmetic and experience of simple algebraic manipulations. Students of computer science whose curriculum may not allow the study of...