← Blog Home

You Should Consider Getting Better at Math to Get Better at Programming

This is an opinion piece based on personal experience. Feel free to agree with what you like and disagree with what you don't.

"Math matters" - every math teacher ever

I'll start off by saying math matters. We all know it does, or at least have been told that.

Indeed, in every math subject I have taken in school - from Algebra I, to Geometry, to Algebra II, to Precalculus, to AP Calculus BC, to Concepts of Mathematics, to Multivariable Calculus, and even right now in Linear Algebra - my math teacher at the time told us that we would be using math from their course somehow outside of math class.

Up until last year, I was one of the kids who laughed whenever one of my math teachers would say that.

Yeah, I wanted to be a biologist

I honestly thought I wouldn't need the math at all: heck, I was thinking of being a biologist at the time. Yeah, one of those laboratory guys in white coats pouring liquids into bottles and messing around with living cells.


You see, when I was in Freshman year in high school, I decided that I would take the biotechnology route in my school.

To be honest, I wanted to be a biologist because I was bad at math and I thought it would be the easiest way for me to escape from it. I was so bad that by my Junior year in high school it had been four years since I received a B let alone an A in a math course, and honestly I didn't see the point in math.

  • Algebra 2: B-
  • Precalculus: C
  • AP Calculus BC: C

"What's the point of doing something that doesn't really have an obvious application? Math is just so free-form and abstract. What is the use in getting better at it and diving into more obscure courses?" Those were some of my thoughts at the time.

Frustrated, I turned a blind eye towards math and was eligible to finish my high school career with research in biotechnology after finishing the biology sequence.

Academic career switch

That was the year that I also decided to take AP Computer Science on a whim. I aced the course and got a 5 with ease.

As my Junior year in high school came to a close, I had decided that I would switch to a computer science focus instead of continuing down the biotechnology route.

I liked computer science. I liked solving problems and I liked being challenged. I liked the fact that I was good at it.

Most of all, I liked the fact that I found it more fun than biology. ;)

Computer science is like math

As I got more into computer science, I realized that there was a lot of similarities between computer science and mathematics.

In both fields, you learn a bunch of tools and are thrown into situations where you have to use all of the resources you have available to you to solve a problem with no instructions. Nearly everything is justified and there are rarely any reasons why you have to explain something as "it happens just because that's how things are". I love the fact that there are rules to math and computer science but there are many ways of arriving to a single conclusion.

This is the logical algorithmic thinking that I love. Every problem can be solved with a logical step-by-step solution as long as you have the tools.

But, that realization didn't quite help me get any better at math, nor did it really help me see why I needed it at all.

The relationship was undeniable

This school year, I decided to take Artificial Intelligence, Parallel Computing, and Cryptography alongside my computer systems research.

It became undeniable that as I moved higher up in computer science, I had to get better at math. Computer science concepts started getting backed up by rigorous equations and to stay ahead I needed to really understand what was going on.

Even though I knew that I wasn't so great at it, I trudged on and decided to learn math with the intent of helping me get better at programming.

You know what? I found that to be helpful. Math became more palatable as I began looking at it as a tool to help me get better at computer science. I finally found an application of mathematics that I could really care about, and that was enough to get me started on self-teaching myself whatever I could find.

A whole year has passed and honestly I can say with confidence that without the time I have devoted towards getting better at math, I wouldn't even be half of the programmer I am now. Math has been a powerful tool towards solving a variety of programming problems I have been tackling, which is why I am sharing my story and trying to encourage others to keep at it.

What you should take from this story

Being a good programmer is the same as being a good problem solver. This is free from things like:

  • How many programming languages you know
  • How fast you are
  • How much you know
  • How much experience you have

... because honestly all of those are irrelevant if you cannot solve problems well.

Being a good problem solver means:

  • You are open-minded and willing to use every bit of knowledge to your advantage
  • You are devoted and willing to spend time to honing your craft through practice

I talked about math because it is something I think a lot of people here sort of gloss over thinking they can be better at programming without knowing much about math. In all honesty, it is your loss and you will be missing out on a potential way to get better faster.

How can I practice getting better at math?

The best way to get better at anything is to start at a concept you don't understand and then learning everything you need in order to understand it. This will not only help you understand something you didn't understand before, but will also help you branch out and cover more information.

The Snack Break problem series that I manage will have a lot of problems involving algorithmic thinking and mathematics. I highly recommend that you take a shot at them.

Yes. They will probably be challenging.

No. That does not mean that you should not do them or give up. If you want to get better at programming faster, push yourself and persevere. Find a way to overcome all obstacles. If you have questions, ask them. Heck, you can even use ScriptingHelpers and ask a question here about one of the Snack Break problems. If you want my help, feel free to send me a tweet over Twitter @YonaJune or chat with me over our very own Community Chat.

Do whatever you can to pave your path to mastery.

Cheers.

Posted in Uncategorized

Commentary

Leave a Comment

buoyantair says: June 6, 2015
Awesome man, Until now I was just like maths = Mental Abuse To Humans, Yeah man you changed mah mind <3
Spongocardo says: June 6, 2015
Well laid out article. I'm quite good at maths and I hope I can use maths in the future for programming.
Perci1 says: June 6, 2015
I hate math. I know programming requires it, and I wish I was better at it. But I hate it. I just finished Algebra 1, but so far nothing has applied. The only thing close is working with graphs, but that wasn't super hard for me because I'm used to working with three dimension on Roblox (instead of the two provided). I'm hoping Geometry next year will apply better.
dragonkeeper467 says: June 6, 2015
Inspiring!
Bubbles5610 says: June 6, 2015
I actually totally agree. The more I learnt with math = the better I got at coding. And the funny thing is , the more coding and problem solving I done , the higher my math grade increased through tests
TrollD3 says: June 7, 2015
Nice story mate. I math isnt one of my strongest suits but I do love computers. Maybe the same will happen for me...
Discern says: June 20, 2015
Just asked a question on one of the Snack Break problems. :)
RoboFrog says: July 5, 2015
I fully agree with this. I love math, and can easily say that without my knowledge in the subject, coding would be a lot more difficult and a lot more bulky. The best programmers and designers I've met have all been great at math, and by association, great problem solvers.
crazyman32 says: July 21, 2015
I suck at math. I hate math. I've never liked it and I doubt I ever will. While I agree with this post, don't feel bad if you aren't good at math or don't like it. You can still learn to program and you can still succeed at programming. In fact, I failed Calculus last semester, but I still managed to get an internship where I'm working on real development projects with ease.
CodingEvolution says: July 27, 2015
Math has, and always will be what the future holds. It's gotten us up to this technological time, and it's not going to stop there.
funzrey says: August 17, 2015
I agree with you, in-fact, last school year- heck I loved school because I knew i'd need those concepts, I love math, It's a interesting concept to me, (DO NOT GET IN A FIGHT, THIS IS MY OPINION AND YOU SHOULD RESPECT IT)
cjcool12345 says: October 1, 2015
I was horrible at math and the biggest program for me was that I was never challenged in school, being in a special class due to my inability to read (well others could read full sentences). This relates to changing the way Yona said he thought about math. I could make programs, I couldn't make sentences. People think differently, their is no 1 way to learn.
DevSp4c3 says: October 19, 2015
Math is just awesome. One of the reasons I like computers :).
Blues714 says: December 18, 2015
i once believed that math served no purpose; it was pointless. why would i want to learn something if i'm not going to use it in the future? that was until programming came into my life. i had a whole different perspective on math. it's just like what you said- "Math has been a powerful tool towards solving a variety of programming problems"