Graph theory is the discrete math topic with the highest current ROI.
Most discrete math courses spend weeks on formal proofs and propositional logic before getting to the topics that directly power software engineers' day jobs. Our view is that the ordering is backwards in practice. Graph theory has the most immediate return on investment: every database query planner is a graph algorithm, every social network is a graph, every dependency resolver (npm, pip, cargo) solves topological sort. A working understanding of BFS, DFS, shortest-path (Dijkstra, Bellman-Ford), and topological ordering maps directly onto interview preparation, system design, and data engineering work.
The discrete math topic that the industry has undervalued — and that AI has made more relevant — is probability and combinatorics. Transformer attention mechanisms, sampling strategies, beam search, token probabilities — all of these require intuition about probability distributions that most CS graduates never developed because their program treated probability as an elective. Engineers who can reason about expected values, conditional probabilities, and combinatorial explosion without reaching for a calculator have a significant advantage in understanding why an LLM behaves a certain way and how to improve it.
For self-study, MIT OpenCourseWare's 6.042 (Mathematics for Computer Science) is freely available and covers everything in this post with problem sets. The Rosen textbook is the standard reference. Neither requires calculus — only patience with abstraction.