Discrete maths, like maths in general, is very important in computer science. Computer science degrees usually include several modules on discrete maths, whether it is studying automata, logic, computability and complexity, or a large range of different specialisations in discrete mathematics. Some students may be left wondering how these seemingly abstract topics may help them with their career. Well here are some careers which make extensive use of these topics:
-
Hardware engineering and CPU design - discrete maths is used in designing and analysing digital circuits, as logic is prevalent in circuits, for example logic gates (AND, OR, NOT, NAND, XOR, etc), adders, multiplexers, etc
-
Compiler programming - discrete maths, its theories and notation is used to represent and conceptualise in an abstract manner, the design and operation of compilers, you would need context free grammars, formal languages, automata theory, set theory, propositional logic, etc
-
Cryptanalyst and cryptographer - encryption algorithms and their design involves application of discrete math concepts, such as complexity theory, information theory, number theory, etc
-
Formal verification engineer - builds and analyses systems which use formal verification methods to efficiently ensure that software and hardware systems are robust