There’s something to be said for being good at math. Or at least not sucking at it. I suck at it, and playing catch up after all these years of doing very little with math also sucks. I would be lying if I said I still hated it as much now as I did back then. In high school there was no class I loathed more than math class. It was a one to two hour horrorfest every weekday when I’d sit there and watch my peers fly through the material while I struggled to keep up. It felt like I was never going to understand what was going on. Part of that was how it was taught, which isn’t an indictment on my teachers not caring or not being good at what they did. They were good people, excellent at their professions. It was me. Some of us learn things differently. It wasn’t until a couple of years ago did I realize that how I was taught math wasn’t the best way for me to learn it.
I learned math through trying to learn to program, because a lot of programming tutorials, books and courses have a lot of math-based examples. So while I was trying to figure out the language, I was also forced to figure out why we were doing certain things with the language. And because I wanted to learn the programming, one of the byproducts was figuring out some of the math–because I had to. Now, I’m still not good at math. And if you ask me to calculate something, my first response is probably to go ask someone else. But, I’m no longer of the opinion that it’s one of those things that I’ll never get the hang of–music, on the other hand, I’m perfectly happy to continue sucking at that for the rest of my life.
I read a couple of interesting opinion pieces recently. One was Al Sweigart’s, “‘How much math do I need to know to program?’ Not That Much, Actually”, which explores some of the most commonly used math-related concepts in programming and Sarah Mei’s, “Programming is Not Math”. Whether one agrees with the ideas put forth in either article is various. I’m of the opinion that knowing math and being good at it definitely helps. And if a Computer Science or Computer Engineering degree is where you want to go with it, then having a solid grasp on math is definitely needed. Knowing math is also incredibly useful when it comes to certain programming tasks too. But I have personally found that what I picked up while learning to program is all that I’ve needed. And if I need to solve more complex programming tasks, the math that comes along with it tends to be learned in the process of figuring out the code.
I don’t think math is a prerequisite for programming, certainly not if you’re just aiming to learn to program. Where if you couldn’t cut it in calculus then you would never survive the process of learning to code. I also don’t think people should discourage those who aren’t great at math from trying to learn how to program anyway. After all, a lot of people successfully learn through a mixture of interest and determination and I definitely think a lot of people pick up the math as they pick up the language.
Programming challenges to solve math-related problems. Great for practice when you need something to expand your horizons.
How to Think Like a Computer Scientist
by Jeffrey Elkner, Allen B. Downey, and Chris Meyers