How to learn Maths

How to stay up to date with maths as a working programmer.

There are a few foundational tasks that I think engineers involved with computation/numerical work need to just "know" on any given day of the year, so if these techniques are a bit rusty, I would start here. These techniques are

  1. Taking a derivative of any polynomial and all common transcendental functions

  2. Compute a Taylor series expansion of some function ( possibly with a tool) and understanding what it means

  3. Converting a system of equations to a matrix representation and vice versa

  4. Inverting and finding the eigenvalues of said matrix

Knowing the above gives you a decent base in analysis( Calculus) and linear algebra so that even if you forget details of some theorem or algorithm, you won't be off by more than a few wikipedia reads.

This isn't just about memorization! If you've built sufficient intuition in those topics, you'll be able to derive or retrace your steps at any point. It's important that you understand not just the theory but situations in which they're useful.

When studying a new concept, try to learn from primary sources and wikipedia first. Don't reach out for a blogpost/tutorial until you get stuck. If you do,make sure you circle back to the original content/paper to ensure you can grasp it there.

When learning a new theorem/algorithm, don't reach for code first. Do it on paper, sketch plots, use real numbers for easy-to-work with inputs.Start with simple cases, and handle one edge case at a time to see how the algorithm deals with it.

If you don't think maths relates to your work, well, you might be surprised. Maths shows up nearly everywhere. If you want to do more math, think about ways to incorporate it with your work.

Never assume you understand something until you actually implement it. That's the real test. "What I cannot build, I cannot understand" as Feynman would say.

If you buy a math book and don't do the exercises, you may be better off saving the money. 60-80% of the value of a book is in the exercises.

If you need to learn from wikipedia/article/paper, exercises aren't included, so need to learn to have the discipline to make your own and do them. Consider special cases first. Then think about why violating certain assumptions also renders the teorem/algo invalid.

Explaining what you've learned to someone else or writing about it is a great way to reinforce the learning even more.

When reading papers be a bit more careful with the paper's claims and accuracy. While peer reviewed, my experience has been that it will not have nearly the same level of scrutiny as say a textbook or a wiki.

Last tip: it's never ever too late to learn math at any level. Like most things, it's just a matter of consistent progress over time. Never pretend like you know something you don;t and you'll always move forward one step at a time.

Last updated