Share your experience with learning Math

I wasn't sure where to put this question so I just put it under 'Code' since there seem to be a number of not strictly code related topics.

One question that seems to pop up a lot, and has been given a lot of answers, is 'how important is math for programming'.
I find the answers I have seen Casey give on stream really interesting and it often strikes me that he understands the underlying math quite well. Certainly much better than I do. I do not consider myself bad at math in the sense that I just don't get it. But at the end of the day, I just forget the stuff I have learned really fast. The next time it would be really handy to remember the meaning of columns and rows of a matrix when transforming from object space to world space, as opposed to from world space to camera space (like described in the video 'how to open a black box'), or the meaning of the dot product as it relates to trigonometry etc, I just have forgotten a lot of the specifics of those concepts.

I realize that this is mostly to do with practice. And the more you play with the math and the more you use it to solve problems, the more solid your understaning of the concepts becomes. Still, I somehow have this nagging believe in the back of my head that other people are just better at this than me. That they just need to have this explained to them once and they're good to go. Forever. They effortlessly combine lessons learned in different mathematical disciplines and have all the connections and fundamentals at the top of their heads.

I recently had the problem that I had the dot product of two vectors whos angle changed at a constant rate. The dot product when plotted against time would trace a triangular curve. But I wanted it to look more like a regular sine wave, no hard corners. It took me hours of research and thinking to realise I wanted the length of the arc between the two vectors (I felt really stupid). I just feel like I never practiced enough to really build on what I learned, because by the time I moved to more complex math, I had already forgotten large chunks of the fundamentals. And now, the best thing would be to just try and re-learn everything I just kind of skimmed over in high-school. To try to really get the fundamentals rock solid. But knowing me that will take countless hours of practice, all the time fighting against this nagging voice, telling me that other people are just smarter and don't need to practice as much.

So what I would like to know about is your experiences with learning math. Have you just always done your homework in Highschool and therefore never struggled with forgetting the fundamentals? Do you feel like you are just plain faster with understanding? Do you rarely forget a mathematical idea that you have heard about? Are you so enthusiastic about math that you practice it all the time for fun and it never really feels like work anyway? Or have you struggled with the frustration of sitting in front of a math problem and feeling like you should know this but you don't as well? If so, how did you deal with it?
Anyone out there, maybe, who has already gone through a couple of years of trying to nail down the math fundamentals they realised they lacked. How did you go about fixing it? Did you work through piles of solving mathematical problems by hand to build an intuition. Or did you just brush up on the theory behind it and that was enough? If you are out there, I would love to hear about your experiences.

tl,dr: I would love to hear about your experiences with learning, or struggling to learn, math. Does anyone else feel really stupid when they try to solve a math problem they feel like they should know the answer to, but spend hours on? Tell me about your experiences and how you try to overcome shortcomings in mathematical practice.

Also Casey: If you read this, I would be especially interested in your history with learning math, since I think you mentioned you weren't interested in math in school and you seem to have a pretty good grasp on it now.

Best Regards.

Edited by Philipp on
Why is math any different from other stuff that can be computed in a programming language?
NelsonMandella
Why is math any different from other stuff that can be computed in a programming language?


Because it's one thing to work out a math problem on paper and another to build an algorithm out of the process taking the inputs you are given and giving the result you desire that doesn't fail at all the edge cases.

I'm like you, having some troubles applying math to solve actual problems and quickly forgetting what I learned. And I feel most people are like that (I don't actually know) but some make it look like it's easy to them because they have lot of practice or experience with that problem. For example, Casey worked on Granny 3D which is an animation software, so he had to learn and use matrices a lot (I guess).

As you say it comes down to practice, and until you have to use some math to really solve a problem, and do that several times it will not feel intuitive. I also feel like I'm missing some basic intuition or confidence about simple high school math thing and I often end up working them up in my head or on paper to make sure it's right.

One thing I started to do last year is to keep a notebook with things I learn (math, programming, music...) which I can quickly refer to. I try to make those notes as complete as possible, which often includes things I didn't get right away and what made me get it. If I encounter a similar problem for which I know I have some notes, I look them up, hopefully solve the problem, and complete my notes with new information from solving the problem a second time. I started that last year, it helped me a few times (not an incredible number of times) to solve problems but it's also useful to refresh your memory about basic things. For instance my notebook first few pages contains notes on basic math (calculus) to which I often refer to make sure I understand a bigger problem.

I also use symbolab when I don't understand the result of solving an equation in an article. It shows lot's of the steps in solving the equation and the rules used. It's not perfect but it can help.

Edited by Simon Anciaux on Reason: typo
Keeping a notebook is a good idea. I find that the act of writing something down in itself often helps me better remember things. Thanks for the reply!