How to self study mathematics

Updated on January 03, 2024

Background

I have been self studying mathematics for around 2 years. I started out with a very basic and vague high school maths understanding and worked my way towards understanding multivariable calculus and linear algebra. This hasn't come easy and there were many struggles along the way. My goal here is to show you the things that helped me and to share the best resources I've found along the way.

Introduction

As a self-taught software engineer I sometimes feel like I'm missing out on a proper education and that I'm lacking the proper theory for certain things. I always knew that in the early days computer systems were designed and build by mathematicians and that mathematical concepts are spread out all over computer science. This was reason enough to really start learning the actual mathematics underlining the systems I use on a day-to-day basis. This has given me insights in much more than just Computer Science and surprisingly has been quite fun.

You're going to need a lot of self-discipline and dedication to get this done properly. This means that if you don't have the drive and motivation to really persevere even when you get stuck you're probably going to give up. However, if you make it through the countless hours of struggling it will be more than worth it. You have to stay curious and genuinely interested. It is okay to take breaks studying from time to time but don't stop for too long because it gets harder to get back into it. I've found the start of studying any completely new topic the hardest and most overwhelming. It is hard to know what good resources are and what to do when you get stuck. I hope this article will alleviate this and make it easier to get started.

Starting from high school algebra

I started out with a very basic understanding of algebra and the minimal understanding of Calculus. However, even this I hadn't used in a long time, so I needed a refresher. I used Brilliant in order to do this. Khan Academy is also a great resource, for me however it was too slow, and I didn't really enjoy the exercises and explainer videos. The downside of Brilliant is that sometimes it was going a little bit too fast. It focuses a lot on building intuition which is good but to really remember and get a feel for it, you need more exercises. So I did the following Brilliant courses for algebra: Algebra I, Algebra II which go over the basics of algebra. I've also done the Complex Algebra course which builds up the proof and intuition behind Euler's Formula, which is very useful in later courses when dealing with complex numbers. Complex numbers seem daunting at first but over time it seems more and more manageable. What I also found very fun about the Complex Algebra course is the explanation of how the Mandelbrot Set and the broader Julia Set work.

Calculus

Calculus is all about dealing with numbers that change over time. How things have changed and how they are going to change. Calculus has many applications, you can for example use it for building a game engine, where you want to predict how object move over time and how they should react to certain forces. I've done the following courses for the fundamental understanding of calculus Calculus in a Nutshell, Pre Calculus, Trigonometry, Calculus done right and Integral Calculus. I would also highly recommend the videos from 3Blue1Brown Essence of calculus. For more intuition and history behind Calculus you can read Infinite Powers by Steven Strogatz. It is easy to read and explains the history of calculus, where it is used and what problems it solves.

After this you should get ready to get into Multivariable Calculus. This is a big step up from the calculus you've done before. I've done the course on MitOpenCourseware and I can't stress how good this resource is. You get everything from lectures to assignments to exams. I really like the focus on practical applications, which is really motivating to learn more as you can directly see why it is useful. If you ever need extra explanation videos I would recommend the Multivariable Calculus playlist by Khanacademy. Funny enough a lot of the videos there are made by Grant Sanderson, the same guy behind 3Blue1Brown. I recommend taking each exam and exercise seriously and to keep making exercises until you understand the subject completely.

Linear Algebra

If you want to know about the relationships between a big mess of numbers (big data) then Linear Algebra is for you. The concepts of linear algebra are extremely useful in physics, economics, computer science and engineering. Everything with lots of data uses Linear Algebra. Maybe you've heard of Machine Learning or AI, yes all Linear Algebra. I've done the legendary course of prof. Gilbert Strang on MitOpenCourseware. I would recommend watching the lectures x1.25 or x1.5, it can be a little slow at times. I have watched the lectures and did the recommended exercises. If I didn't understand the topic well enough I would read the chapters from the book he wrote Introduction to Linear Algebra, Fifth Edition and make some or all exercises in that chapter. For more intuition about the topic and a high level overview I would recommend watching Essence of linear algebra by 3Blue1Brown.

Future work

I'm now at a point where I want to find a way to apply what I've learned in a meaningful way. In general, I want to go towards Robotics. I find how software can interact and predict real world interaction fascinating and would love to do more with this. Also, it is just super fulfilling to see the stuff you make actually move around and to get physical feedback from something. In order to achieve this I'll have to make strides in Physics, Mathematics and Electrical Engineering. I've started to read the Feynman lectures on Physics which has already proved very insightful. With engineering in general you get to deal with a lot of approximations and probablities so I think a course on Statistics will be very useful. I'm going to try a MicroMasters program on Statistics and Probability. I've also been working on the 8-bit computer by Ben Eater to learn more about electronics which has been very fun.

My ambitions might be very different from what you might be aiming for, so I wanted to include at least a few other resources I've found that seem interesting and of high quality. For a more practical course on applying mathematical concepts using programming I've found Introduction to Computational Thinking by MIT. They use Julia, the scientific programming language, to solve several common engineering problems. If you want to get into Differential Equations Steve Brunton has an excellent series Engineering Math: Differential Equations and Dynamical Systems. There are also two other MitOpenCourseware courses about Differential Equations one which is mostly lectures and another one that is mostly exercises and reading. You might need to learn about Complex Analysis too, luckily Steve Brunton also made a video lecture playlist on this.

When you get stuck

So you're definitely going to get stuck or have trouble understanding some topic. It is very important NOT to ignore this topic and to move on. This will most likely haunt you in the future when you're working on a more advanced topic build on something that you might have ignored (Maths is all about building on previously taught topics).

When you get stuck it can be because either you don't know where some solution came from and which steps were made, or you don't understand what is asked or in general what is going on. In the former case you can use Wolfram Alpha and if you have the Pro subscription you can look at how it calculated the solutions, this has saved me countless times. You should however calculate most things by hand, this really strengthens your intuition. When you don't understand a problem, watching educational YouTube videos or lectures might help, or use things like ChatGPT to ask for specific questions and nudge you in the right direction. Ask it about the things you don't understand in a question and piece by piece dissect everything you need to know to answer something you're working on. But most important of all have patience! The more you know surrounding a problem the easier it is to solve. Every tiny nudge and concept into the right direction will help you find your way.