Intended for a one-term course in discrete mathematics, to prepare freshmen and sophomores for further work in computer science as well as mathematics. Sets, proof techniques, logic, combinatorics, and graph theory are covered in concise form. All topics are motivated by concrete examples, often emphasizing the interplay between computer science and mathematics. Examples also illustrate all definitions. Applications and references cover a wide variety of realistic situations. Coverage of mathematical induction includes the stroung form of induction, and new sections have been added on nonhomogeneous recurrence relations and the essentials of probability.