Tulsa TechFest 2018
Tulsa TechFest 2018

3 Mathematical Concepts that Every Developer Should Know

Start Time: Friday, July 20, 2018 8:45 AM
Learn how Degrees of Freedom, Directed Acyclic Graphs, and Predicate Calculus appear in much of the code we write.

Not all developers need Category Theory or Linear Algebra. But every developer can benefit from Logic, Graph Theory, and Degrees of Freedom. Even if you don't think you are good at math, these are the skills that you use every day. You are a better mathematician than you give yourself credit for. Let's formalize those skills so that you can apply them with confidence. We'll identify the Degrees of Freedom of a problem. Then we'll see how those degrees of freedom manifest in the solution. This will help us create better MVVM applications, better APIs, and better relational database models. We'll learn some of the cool properties of Directed Acyclic Graphs, and how they help us track dependencies, and construct data models. We'll apply that knowledge to traversing those graphs in a way that always produces the correct result with the minimum necessary work. We'll practice some of the tools of Predicate Calculus, and see how it helps us specify better requirements, and express concise queries. From that, we'll ensure that we've covered every edge case without overly complicating our code. Math is not hard. Writing proofs is not complicated. In fact, it's exactly like writing programs.

Michael Perry, Software Mathematician, Improving

MichaelPerry, Michael Perry

Michael travels through space clinging to the carbon hull of a spherical ship made of molten iron. He commands an army of microorganisms which decompose the molecules that he captures to provide chemical energy for his cells. His mission is to increase entropy throughout the universe.

In his spare time, Michael records Pluralsight courses on CQRS, XAML Patterns, Cryptography, and Provable Code. He's been recognized as a Microsoft MVP for seven years. He maintains the spoon-bending Assisticant, Correspondence, and Jinaga open-source libraries. He shared videos about distributed systems at historicalmodeling.com. And he helps his clients at Improving benefit from the power of software mathematics.

Software is math. Every class is a theorem. The compiler is the proof. And unit tests
check our work.