Presents a serious, mathematical treatment of discrete structures appropriate for beginning computing students and ties the discrete math topics to concrete computer science examples. Covers formal systems, functions and relations, Boolean algebras, counting and cardinality, graphs and trees, introduction to formal languages, and computability theory.