Discrete structures is foundational material for computer science.
By foundational we mean that relatively few computer scientists will be working primarily on discrete structures, but that many other areas of computer science require the ability to work with concepts from discrete structures. Discrete structures includes important material from such areas as set theory, logic, graph theory, and combinatorics. The notion of formal, mathematical proof is a unifying theme throughout the area. The material in discrete structures is pervasive in the areas of data structures and algorithms. Graph theory concepts are used in networks, operating systems, and compilers.