A substantial learning aspect for any software engineers, in addition to the academia of computer science, is a topic called discrete mathematics. It is a branch of math that focuses on studying mathematical structures that are discrete (distinct and separate) in nature rather than continuous in nature (calculus, trigonometry). It is also an abstract form where conclusions are based on logical deductions using set theory and other simple theorems. Last spring, I took “Proof Techniques” as part of my CS major. The class is an introduction to proof writing techniques, covering multiple topics such as logic and proofs, set theory, mathematical induction, relations, modular arithmetic, functions, cardinality, number theory, and calculus.