Chapter 1: Logic
Section 1.1: Introduction
Section 1.2: Logical Equivalence
Section 1.3: Predicates
Section 1.4: Arguments
Section 1.5: Conclusion
Chapter 2: Sets
Section 2.1: Introduction
Section 2.2: Venn Diagrams
Section 2.3: Set Laws and Statements
Section 2.4: Inclusion/Exclusion
Section 2.5: Conclusion
Chapter 3: Base b Number Systems
Section 3.1: Introduction
Section 3.2: Base Conversions
Section 3.3: Converting Between Base b and Base bk
Section 3.4: Base Addition
Section 3.5: Base Subtraction
Section 3.6: Multiplication Base b
Section 3.7: Base Division
Section 3.8: Negative Binary Numbers
Section 3.9: Conclusion
Chapter 4: Counting
Section 4.1: Introduction
Section 4.2: Permutations
Section 4.3: Combinations
Section 4.4: More Advanced Problems
Section 4.5: Pigeonhole Principle
Section 4.6: Conclusion
Chapter 5: Number Theory
Section 5.1: Introduction
Section 5.2: Divisibility Theorems
Section 5.3: Greatest Common Divisor
Section 5.4: Modulo n.
Section 5.5: Order of Magnitude
Section 5.6: Conclusion
Chapter 6: Graph Theory
Section 6.1: Introduction
Section 6.2: Traversing Graphs
Section 6.3: Connections in Graphs
Section 6.4: Families of Graphs
Section 6.5: Graph Isomorphisms
Section 6.6: Euler Circuits
Section 6.7: Hamiltonian Cycles
Section 6.8: Spanning Trees
Section 6.9: Networks
Section 6.10: Conclusion
Chapter 7: Trees
Section 7.1: Introduction
Section 7.2: Tree Searching
Section 7.3: All Trees are Binary
Section 7.4: Representing Binary Trees in Memory
Section 7.5: Conclusion
Chapter 8: Coding Through the Ages
Section 8.1: Caesar Cipher
Section 8.2: Keyword Cipher
Section 8.3: Trithemius Cipher
Section 8.4: Vigenère Cipher
Section 8.5: Playfair Cipher
Section 8.6: Baconian Cipher
Section 8.7: Huffman Code
Section 8.8: Hill Cipher
Section 8.9: Conclusion
Appendix: Solutions to Practice Problems
Bibliography