# M.6 Discrete Math and Algorithms

In order for cyber operators to make educated choices when provided with an array of algorithms and approaches to solving a particular problem, there are essential underlying concepts drawn from discrete mathematics, algorithms analysis, and finite automaton with which they should be familiar.

Specific topics to be covered in this knowledge unit include, but are not limited to:

- Searching and sorting algorithms
- Complexity theory
- Regular expressions
- Computability
- Mathematical foundations for cryptography
- Entropy

Outcome: Given an algorithm, a student will be able to determine the complexity of the algorithm and cases in which the algorithm would/would not provide a reasonable approach for solving a problem.

Outcome: Students will understand how variability affects outcomes, how to identify anomalous events, and how to identify the meaning of anomalous events.

Outcome: Students will understand how automata are used to describe computing machines and computation, and the notion that some things are computable and some are not. They will understand the connection between automata and computer languages and describe the hierarchy of language from regular expression to context free.