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.
- Propositional Logic
- Predicates and Quantifiers
- Proof Techniques
- Sets and Set Operations
- Functions, Sequences, and Sums
- Cardinality
- Algorithms and Complexity
- Number Theory Basics
- Modular Arithmetic and Cryptography
- Induction and Recursion
- Recurrence Relations
- Counting Principles
- Permutations and Combinations
- Pigeonhole and Inclusion-Exclusion
- Discrete Probability
- Generating Functions
- Relations
- Equivalence Relations and Partial Orders
- Graphs Basics
- Graph Paths, Connectivity, and Shortest Paths
- Euler, Hamilton, Planarity, and Coloring
- Trees
- Boolean Algebra and Logic Circuits
- Finite-State Machines and Computation