Discrete Mathematics
Logic, counting and networks. The mathematics of computing and networks: logic and proofs, sets, relations and functions, counting and combinatorics, and graph theory with shortest paths, spanning trees and network flows.
- Logic & Proof Techniques — The foundation of rigorous reasoning and digital systems. Learn propositions and connectives, truth tables, implication and equivalence, tautologies and contradictions, quantifiers (∀, ∃) and predicate logic, and proof techniques: direct proof, contrapositive, contradiction and mathematical induction.
- Sets, Relations & Functions — The language of collections and mappings. Learn set notation, operations (union, intersection, difference, complement), Venn diagrams, power sets and Cartesian products, relations and their properties (reflexive, symmetric, transitive), equivalence relations and partial orders, and injective, surjective and bijective functions.
- Counting & Combinatorics — Systematic counting underpins probability, algorithms and security. Learn the sum and product rules, permutations and combinations, arrangements with repetition, the binomial theorem and Pascal's triangle, inclusion–exclusion, the pigeonhole principle, and recurrence relations.
- Graph Theory & Networks — Graphs model networks of all kinds. Learn vertices and edges, directed, undirected and weighted graphs, degree, paths, cycles and connectivity, trees and spanning trees (Kruskal, Prim), shortest paths (Dijkstra), topological sorting, and network flow (max-flow/min-cut) — with a Python Dijkstra implementation.