Discrete mathematics studies structures made of separate pieces rather than smooth quantities: integers, sets, logical statements, graphs and finite counts. It is the mathematical language of computer science, used to reason about algorithms, networks, databases and cryptography.
The course is also where proof becomes central. Direct proof, proof by contradiction and mathematical induction are practised on concrete statements such as 1+2+⋯+n=2n(n+1). Modular arithmetic, the remainder arithmetic behind clocks and checksums, leads to the number theory used in modern encryption.
Programmers use these ideas daily: boolean logic in every condition, counting arguments to estimate how many cases a program must handle, graphs to model networks and maps, and modular arithmetic in hashing and encryption. Interviews for software roles regularly draw on this material.