Discrete Structures for Computer Science : Counting, Recursion, and Probability
This is a free textbook for an undergraduate course on Discrete Structures for Computer Science students, which I have been teaching at Carleton University since the fall term of 2013. The material is offered as the second-year course COMP 2804 (Discrete Structures II). Students are assumed to have taken COMP 1805 (Discrete Structures I), which covers mathematical reasoning, basic proof techniques, sets, functions, relations, basic graph theory, asymptotic notation, and countability.
During a 12-week term with three hours of classes per week, I cover most of the material in this book, except for Chapter 2, which has been included so that students can review the material from COMP 1805.