Metal Guitarist Forums banner
1 - 10 of 10 Posts

·
Mutes the Meat
Joined
·
10,236 Posts
Discussion Starter · #1 ·
The only thing that bothers me about learning how to program is that I am not that great at math. In school I always had trouble picturing the problems in my head, and the ways that I was taught never "stuck". I find now that when I write down functions and apply them to programming problems everything becomes clearer. I speculate that I learned math the wrong way, and I need to reteach myself in a way that works for me.

I did a google search for "programmers who are bad at math" and came across this blog post that I find pretty interesting, because the authors way of thinking tends to match mine and makes sense to me. Today I had to figure out a formula that didn't make any sense to me when I thought about it, or read it. But when I wrote it down and applied it to the problem at hand, it made perfect sense.

Stevey's Blog Rants: Math For Programmers

Does this apply to any programmers here? Do you agree? What else would you have to say?
 

·
Super Moderator
Joined
·
13,448 Posts
The entire reason I first learned programming when I was 10-12 years old was because I was bad at math. I learned programming and would write programs to do my homework for me. Of course, the teachers would say "Your answer is correct, but you didn't show how you got it" and would give me a C, despite every answer being correct. Later I made programs that would show me the work, so I could write that down, but then they said the work itself was really unconventional, but the answer was right. :lol:

I eventually got good enough at math to take astronomy courses in college, but I still used computer programming to solve programs faster for me.
 

·
BT
Joined
·
68 Posts
I've been programing for years. IMO the maths nerds, and believe me I've worked with many, are usually not the best programmers. They have a hard time thinking laterally. Programming is about problem solving and coming up with better ways of doing things. When ever I need an equation I go the internet and search for it but it's so rare theses days.
 

·
Party Röcker
Joined
·
1,372 Posts
abt, precisely what is it that you think math nerds do? If they're not solving problems or coming up with better ways of doing things, they're no better than accountants! The purpose of mathematics is no more to handle equations and formulas than the purpose of a writer is to assemble sentences!

I speculate that I learned math the wrong way, and I need to reteach myself in a way that works for me.
This is just about guaranteed, especially if you ever paid attention in school. As I've said before, mathematics is about regurgitating formulas and mechanically smashing through number manipulation in the same way that biology is about taking frogs apart. You need a good grasp of the sort of thing you'd get out of a discrete math text - including a good grasp of logic (I don't mean 'find stupid things in a Sarah Palin speech' logic, by the way) - and serious appreciation for many mathematical things.

EDIT: As far as the article... in the five-item list at the beginning, I'd agree with all but the first entry, and substitute 'things' for 'programs' in the third. I had the opposite problem with programming and learning mathematics... once you see enough mathematics, just about any ('real-world') program you can write is an overly-detailed mathematical explanation in a (usually) silly bunch of notation. I'd also have to disagree with the Kleene comment - it's not for everyone (apparently learning math may not always be easier after programming), but if you don't like that one I'd check out Mendelson's text. The calculus comment seems... well, as someone who has been teaching it for years and at different levels I don't think that memorization is really what's going to help. (From that comment alone I'd start to check very carefully whatever he says about learning math. My suspicions would be reinforced a few lines down with comments on exercises and reading papers.) Apart from that, I agree with many things - especially the 'osmosis' bit, for the most part, and the fact that you were most likely taught the wrong things at the wrong time in the wrong way.

Jeff
 

·
Mutes the Meat
Joined
·
10,236 Posts
Discussion Starter · #6 ·
The entire reason I first learned programming when I was 10-12 years old was because I was bad at math. I learned programming and would write programs to do my homework for me. Of course, the teachers would say "Your answer is correct, but you didn't show how you got it" and would give me a C, despite every answer being correct. Later I made programs that would show me the work, so I could write that down, but then they said the work itself was really unconventional, but the answer was right. :lol:

I eventually got good enough at math to take astronomy courses in college, but I still used computer programming to solve programs faster for me.
Neat :lol:

I do believe that learning to program will improve my math skills. In school the teachers just showed me what appeared to be a bunch of random crap, and it was never applied to anything. "Use this formula to get this answer. Why? Oh, well.....this formula gets the answer! What do you mean why and how does this formula work? IT GETS THE ANSWER!"
 

·
Registered
Joined
·
39 Posts
I would agree that maths isn't very important to be a programmer. The only time you will need to use maths at all, is when you are working on a program which has to calculate something. The language itself isn't dependent on mathematical knowledge.

Grasping object oriented concepts and having a natural interest for designing stuff in an efficient, elegant way is all you need.
 

·
Is Actually Recording
Joined
·
32,765 Posts
Just skimmed it, but in principle I agree completely, and this is how I tend to approach learning math-related things. I'm pretty bad at just memorizing long, complex formulas, but if I can figure out what the formula is DOING, then it clicks, and in a pinch I know I can derrive it backwards if I have to. For example, something I have to do relatively often is annualize returns. You link returns in the first place by multiplying the return relatives (the terminal value of one unit grown at the rate of return for the period - for 5%, that'd be 1.05) to generate a cumulative return relative for the entire series, and then convert back into return format by subtracting 1 and multiplying by 100 (i.e - 1.2301 becomes 23.01%). But, if that's a period longer than a year, you're often interested in what the average return per year is for the period in question, so you need to take the geometric average. At that point, it's a bit of logic. Because you link returns in a multiplicative manner, you need to raise them to a fractional power to calculate the average annual rate for a given number of periods. So, what's the conversion ratio? Logically, the number of periods per year divided by the total number of periods.

I think math makes much more sense once you can "see" what an equation is doing, and why. Not only does it make more sense to you when you do, but if you ever forget an equation you can usually work it out (I can never remember if it's total periods over periods per year or vice versa in the above example, but a moment to think about it and it becomes clear).

I think all subjects should be taught like this, if possible. Less of a focus on rote repetition and memorization, and more on how and why.
 

·
Oxygen to CO2 converter
Joined
·
1,957 Posts
It depends on what type of programming you will be doing. I have been doing VB/ASP programming for well over a decade and I am not that great at math. When I first got into programming the idea of referencing multi-dimensional arrays stumped me for quite a while until I started drawing boxes on paper when I needed to figure it out. Eventually I got it, but it took a while.

The other "tough" one that would bite me once in a while was order of operations.

2 + (3 × 4) <> (2 + 3) x 4

Percentages and casting variables as different types still gets me once in a while too.

You dont need to be a math wiz for most of your basic programming, but if you are going to write a program that does advanced modeling like calculating the weight of a planet in a distant solar system based on gravitational pulls and other variables, you probably need to be good at math to understand how the formula works.

For the most part you just need to be good at problem solving and working backwards from a solution. Also being good at verifying your results is very important. Especially when it comes to financials.
 

·
Slow Money
Joined
·
14,612 Posts
anything graphics-related immediately gets math heavy fast. Otherwise, it really does help, as its often just another course to learn a lot of the same skills that you need to learn math
 
1 - 10 of 10 Posts
Top