This might be a bit revealing, but I barely know my basic math! I didn’t realize how bad it was until recently trying to solve some basic issues with my loans and interest calculations. Even with a calculator I was having trouble remembering some basic mathematical functions. Seeing as how I work with code every day, I know that math is very important. I don’t necessarily use math everyday, nor do I believe it to be a requirement for programming but I know if I did have those skills I could be that much better at what I do. Not only that, but it would give me the tools to think through tougher issues.
That is why I decided to go back and learn my foundations. I made a list of the most useful math subjects I can think of that would be directly applicable to my programming profession:
- Probability Theory
- Discrete Math
- Linear Algebra
- Information Theory
- Mathematical Logic
That is just the start. I know the rabbit hole goes deeper. I do want to avoid learning any math that will not directly apply to my day to day, but who knows, I could just get really into it. With everything I do, I try to start off with small chunks. I don’t want to kill myself trying to learn every math subject in a short amount of time, I still need to keep up with learning languages and frameworks, but at least I have a path to follow.
First I will do a test. I want to complete Khan Academy’s “Algebra Basics” course. Currently I am almost done with ‘Foundations’, surprisingly I do not remember how to do this stuff. Multiplying by 2 digits, multiplying/dividing decimals, dealing with fractions are tough because I have been using a calculator for so long! I haven’t even got into the algebra yet! My theory is that getting this basic algebra foundation back will be super helpful and really level me up since algebra is definitely a building block of programming. I am curious to see how completing this course will help me, I will be keeping note. So far though, I feel much more confident that I can do some basic math that I couldn’t have done without a calculator a month ago.
Learning and completing these courses Is really showing me how math is so simple when breaking it down into its core components. Every symbol, formula and calculation is a representation of something else, a process. I know that my time spent programming will help me get through this course a lot faster. Everything can be broken down into other forms. I plan on using the Feynman technique throughout this process in order to really cement my learning and be able to call on it at a later time.