I have always had an odd relationship with mathematics. Even though I began programming when I was a young child, I had a difficult time in math. By the time I got to college I was so upset with the math requirements for computer science that I went the route of an English major. Not my best moment. It was a passive and somewhat naive decision, and in my junior year I started focusing on the CS major… but as soon as I finished the BA, boom, I landed a job, and it’s been over five years since formal education.

And how I railed about those math requirements. “Hey, a computer does math for you, why should we have to learn this stuff?” And likewise, I noted, math students in the computer science courses (a requirement at MTSU) had similar gripes. If I was blogging at that time, I would have probably had a whole bunch of arguments against any comparison of the two fields. And to be sure, they *are* different fields, at least unless you are specifically programming mathematical applications (and really a pro mathematician should be supplying the algorithms if that is the case).

I’m not a kid anymore but the thing about kids (I consider college me a kid) is they may have incorrect conclusions, but there is always something to what kids have to say. I was so challenged by math that once I broke down in tears in High School over geometry. But just today, I (warning, codespeak) used raycasting in the local opposite forward (z) direction and the global y direction to make an object automatically turn corners when leaning into them. Didn’t even break a sweat. So what happened between then and now besides just getting older? And why were those math students so stressed out in CS 101?

I have concluded over the years that there are two routes to problem solving. The step-wise refinement method, and the research method. In schools, we almost always learn the research method. We are asked to memorize formulas, and apply them to numerous situations repetitively. I’m not saying mathematicians, like those in that class, are just regurgitators of past ideas. They work to both build upon and apply formulas to real world problems by expanding on the research, like scientists and other very important people. And it’s probably helpful for them to do some step-wise refinement. But I don’t think it’s how they normally approach a problem.

And as for me, well, I don’t exactly remember any math teachers telling me WHY numbers work, or WHY geometry functions like it does so that I could problem-solve it with logic or break it down into a procedure. If you want to see just how little the public understands numbers and how much they are taught merely to memorize things, try explaining counting in a different base than ten. Even though the process is the same, because logic is always the same, because math is always perfect… it is a curve ball.

I’m not offering any suggestions for the education system on how to fit more to everyone’s mold without losing people. Maybe that kind of understanding is difficult for the general public, and memorization just gets the grades up for the usual ‘I hate math’ kid (i.e. 90% of them.) Or maybe there really is something wrong with the way it’s introduced. All I can say is that if you’re a young programmer, yes, math matters, but no, you don’t need to memorize every formula on earth. You have Google, you have innovation, you can do it. But please, wriggle through it in college… don’t cast your on-topic degree aside like that.