Discrete structures: counting, graphs and algorithms
Eighteen undergraduate lessons extending proof foundations through cardinality, counting, recurrences, graph theory, algorithm reasoning and elementary number theory. This course does not replace advanced combinatorics, graph theory or number theory; written arguments require review.
Open any lesson. Completion records participation; automatic practice checks and human judgment of written arguments are separate. This unit retains its own versioned requirements.
Readiness and preparation
Loading saved mathematics work…
Discrete structures: count, construct and prove
The mixed assessment has separate response history and review criteria; it does not change lesson participation records.
Lesson sequence
Each linked lesson opens on its own page. Expand its details here when you want to check the objectives before choosing.
Compare sizes by pairing objects
Lesson details and objectives
Use bijections for finite counting and distinguish countable from uncountable sets.
- Use bijections for finite counting and distinguish countable from uncountable sets.
- State assumptions and justify the general counting or structural argument.
6 practice tasks.
Count outcomes without overlaps or omissions
Lesson details and objectives
Separate disjoint alternatives from sequential choices and use complements.
- Separate disjoint alternatives from sequential choices and use complements.
- State assumptions and justify the general counting or structural argument.
6 practice tasks.
Decide what makes outcomes different
Lesson details and objectives
Derive ordered and unordered selection counts and account for repeated symbols.
- Derive ordered and unordered selection counts and account for repeated symbols.
- State assumptions and justify the general counting or structural argument.
6 practice tasks.
Read coefficients as choices
Lesson details and objectives
Derive the binomial expansion and connect algebraic and combinatorial identities.
- Derive the binomial expansion and connect algebraic and combinatorial identities.
- State assumptions and justify the general counting or structural argument.
6 practice tasks.
Correct multiple counting systematically
Lesson details and objectives
Count unions of overlapping sets and explain alternating corrections.
- Count unions of overlapping sets and explain alternating corrections.
- State assumptions and justify the general counting or structural argument.
8 practice tasks.
Force a collision without finding it
Lesson details and objectives
Choose the right boxes and prove sharp bounds.
- Choose the right boxes and prove sharp bounds.
- State assumptions and justify the general counting or structural argument.
8 practice tasks.
Turn a recursive definition into a proved formula
Lesson details and objectives
Solve first-order recurrences and use initial conditions in second-order models.
- Solve first-order recurrences and use initial conditions in second-order models.
- Distinguish observed examples from a general structural proof.
6 practice tasks.
Package a sequence as coefficients
Lesson details and objectives
Use formal power series to encode counting and recurrences.
- Use formal power series to encode counting and recurrences.
- Distinguish observed examples from a general structural proof.
6 practice tasks.
Count incidences instead of guessing edges
Lesson details and objectives
Define simple graphs and prove degree identities and parity constraints.
- Define simple graphs and prove degree identities and parity constraints.
- Distinguish observed examples from a general structural proof.
6 practice tasks.
Recognize minimal connected structure
Lesson details and objectives
Distinguish walks and paths and prove the characteristic properties of trees.
- Distinguish walks and paths and prove the characteristic properties of trees.
- Distinguish observed examples from a general structural proof.
10 practice tasks.
Separate using every edge from visiting every vertex
Lesson details and objectives
Apply Euler parity conditions and recognize the limits of Hamiltonian heuristics.
- Apply Euler parity conditions and recognize the limits of Hamiltonian heuristics.
- Distinguish observed examples from a general structural proof.
6 practice tasks.
Use colors to detect structural obstructions
Lesson details and objectives
Prove the odd-cycle characterization and separate coloring from drawing aesthetics.
- Prove the odd-cycle characterization and separate coloring from drawing aesthetics.
- Distinguish observed examples from a general structural proof.
6 practice tasks.
Order dependencies without inventing an order for cycles
Lesson details and objectives
Construct topological orders and prove why the algorithm detects cycles.
- Construct topological orders and prove why the algorithm detects cycles.
- Prove the method's invariant or hypotheses and test boundary cases.
6 practice tasks.
Prove what a loop preserves and why it stops
Lesson details and objectives
Combine initialization, maintenance, exit reasoning and a decreasing measure.
- Combine initialization, maintenance, exit reasoning and a decreasing measure.
- Prove the method's invariant or hypotheses and test boundary cases.
6 practice tasks.
Separate a growth bound from a timing claim
Lesson details and objectives
Use quantified O, Ω and Θ definitions and count operations.
- Use quantified O, Ω and Θ definitions and count operations.
- Prove the method's invariant or hypotheses and test boundary cases.
6 practice tasks.
Compute a gcd while preserving its meaning
Lesson details and objectives
Use remainder reduction and back-substitution to construct integer certificates.
- Use remainder reduction and back-substitution to construct integer certificates.
- Prove the method's invariant or hypotheses and test boundary cases.
6 practice tasks.
Calculate with residue classes without invalid cancellation
Lesson details and objectives
Prove modular operations and characterize multiplicative inverses.
- Prove modular operations and characterize multiplicative inverses.
- Prove the method's invariant or hypotheses and test boundary cases.
6 practice tasks.
Combine congruences and certify integer solutions
Lesson details and objectives
Use coprimality for unique residues and gcd conditions for linear equations.
- Use coprimality for unique residues and gcd conditions for linear equations.
- Prove the method's invariant or hypotheses and test boundary cases.
6 practice tasks.