3 ms·
Do you need to be "good at math" in the typical sense? Certainly not. Learning away certain mathematical concepts, however, helps. To answer your question more
by strlen 18y ago
Do you need to be "good at math" in the typical sense? Certainly not. Learning away certain mathematical concepts, however, helps.
To answer your question more precisely, I'll ask you a question: do you code in any high level language (Python, Ruby, Perl, PHP)? If so, chances are you're using 'associative arrays', 'dictionaries' or 'hashes'. How do they work under the cover? What is special and unique about them (A: hash tables and hashing functions).
Now, can you use the concept that's used by the hash-table primitives in your language, to sort an array of size N in a time proportion to N? What are you giving up to gain that speed advantage, how can you offset that by giving up slight speed advantage?
Now if someone is studying the same mathematical topics without having already programmed they won't have the same appreciation and attentiveness. To them "hash function" don't immediately click with programming techniques right away. Essentially my advice is start coding anyway, so the relevant topics in maths will "just click".
This is also a very different kind of math: it's largely discrete and even the continuous portions of it are elegant. This isn't sitting for hours and doing symbol manipulation or number crunching. You don't need to know what continuous and discrete mean: just pick up a discrete mathematics textbook and see how far you can work through it.
Attempt calculus, if only thing, just because the first elegant example SICP provides deals with a tiny function to compute a derivative of another function at a point.
http://funcall.blogspot.com/2009/03/not-lisp-again.html http://funcall.blogspot.com/2009/03/not-lisp-again.html
If you decide to pursue computer science in college (which isn't strictly required if you want to program), this book may be of help:
http://en.wikipedia.org/wiki/Concrete_Mathematics http://en.wikipedia.org/wiki/Concrete_Mathematics
Addendum: for certain applications of programming you do need certain mathematical knowledge that goes beyond abstract concepts and notation; but even with those topics, don't let "not being good at math" deter you from trying.