The Guide states that a software engineer can write code only for something that follows well-understood, unambiguous logic. This knowledge area helps the engineer comprehend that logic and then translate it into source code. The mathematics here is the study of formal systems: rules of reasoning are set for the system under study, and what follows from those rules is certain within that system. It is one of the three foundation knowledge areas.[1]
The Guide's top-level topics for this knowledge area are:
- Basic Logic
- Proof Techniques
- Set, Relation, Function
- Graph and Tree
- Finite-State Machine
- Grammar
- Number Theory
- Basics of Counting
- Discrete Probability
- Numerical Precision, Accuracy, and Error
- Algebraic Structures
- Engineering Calculus
- New Advancements