Then I went to engineering school. I had taken calculus in high school but failed. I failed calculus again in college. Twice (two different courses, once each). Eventually I gutted through it all and learned it, got my degree and went on to an enlightening, but short career in a very math-heavy role - structural dynamics.
Fast forward, and I do web development for a living. Not once* have I done anything in programming that required skills beyond those that I had when I was 12.
So you tell me, am I above average in math skills or not? I haven't a clue.
* I lied. I did build a ballistics calculator once - but that is a very specialized niche of programming. I can assure you there is little to no math in CRUD apps.
Why is your math background so weak, in your opinion? If the answer is that you didn't put in the time, energy, and focus to learn it the first time around, then you have other problems beyond a weak mathematical ability. If it's that you never had good instruction, then it's worth the investment to find it.
Yea I didn't had good instructure. I also changed alot of school during childhood, that may had changed curriculum alot of times and my basic math skills were messed up. Here in India they don't teach you much. Students here are more interested in getting that piece of certificate(graduation degree) and showing it to the employer rather than thinking about what to do with the knowledge they have. Sometimes they don't even have knowledge cuz they just do rote learning without connecting the dots or understanding the concepts.
I downloaded couple of ttc lectures, and they explain these stuff in a awesome way.
That's pretty handy skill for programming.
Some people think that programming is an inherent skill - http://www.codinghorror.com/blog/2006/07/separating-programm...
Other people suggest that you just need to do it. (All those "Learn X the hard way".)
I'd be interested to know what the research says.
A lot of people get confused about the math requirement for programming. You don't need to know what 356^84 is, you just need to know how to tell the computer to calculate 356^84.
It's surprisingly easy once you get started.
However, you're ability to conceptualize, use, alter, convert, code, write modules, etc won't be effected as long as you put in the necessary effort.
If you want to program, you don't need to know much in the way of mathematics. If you want to program well, knowing advanced math will open up new possibilities for problem solving. If you want a CS degree, start taking math courses now.