Skip to main content

Discrete Mathematics

Discrete mathematics studies objects that are separated rather than continuous: propositions, integers, sets, functions, strings, relations, graphs, trees, and finite machines. These notes follow the scope of Rosen's Discrete Mathematics and Its Applications, 8th edition, with emphasis on the proof techniques and structures used throughout computer science.

The path starts with logic, predicates, and proof methods because every later topic depends on precise statements and valid inference. It then builds the standard discrete structures: sets, functions, sequences, sums, cardinality, algorithms, number theory, induction, recurrence relations, counting, probability, relations, graphs, trees, Boolean algebra, and models of computation. The pages are written as study notes rather than as a replacement for the textbook: each page highlights definitions, theorem statements and proof patterns, worked examples, and short Python snippets where computation clarifies the idea.

Use these notes actively. Translate definitions into your own examples, prove small claims before reading the proof sketch, and run or modify the code blocks to test edge cases.

  1. Propositional Logic
  2. Predicates and Quantifiers
  3. Proof Techniques
  4. Sets and Set Operations
  5. Functions, Sequences, and Sums
  6. Cardinality
  7. Algorithms and Complexity
  8. Number Theory Basics
  9. Modular Arithmetic and Cryptography
  10. Induction and Recursion
  11. Recurrence Relations
  12. Counting Principles
  13. Permutations and Combinations
  14. Pigeonhole and Inclusion-Exclusion
  15. Discrete Probability
  16. Generating Functions
  17. Relations
  18. Equivalence Relations and Partial Orders
  19. Graphs Basics
  20. Graph Paths, Connectivity, and Shortest Paths
  21. Euler, Hamilton, Planarity, and Coloring
  22. Trees
  23. Boolean Algebra and Logic Circuits
  24. Finite-State Machines and Computation