Quote:Do you need to take Calculus and higher-level math to be a good programmer?
No.
Quote:Could someone not be so good at math and still be a good programmer?
Yes.
What do you mean by "good programmer"? It depends. Programming 3D graphics engines requires a high level of mathematical knowledge. Programming databases does not necessarily.
In my opinion, a good programmer is a problem solver. A good programmer understands computer science - logic, control flow, thinking abstractly - and applies that knowledge to solve a certain problem, regardless of any particular language. Computer science concepts aren't rooted in math, but many times you'll find yourself using at least rudimentary algebra when dealing with certain situations.
Often, the best way to organize objects you're working with is to use some kind of aggregate data structure, such as an array. Arrays are helpful because objects are stored sequentially and contiguously in memory, thus, locating a particular object in that structure is done "simply" by using basic algebra. Programming physics simulations, graphics editors and the like will of course use higher mathematical concepts.
The key, however, is to what degree you can apply the knowledge you have. Good programmers can figure out solutions to problems using the tools at hand. That's computer science. Learning calculus certainly opens up more doors as to what you can
do - A.I., for example - but I would say that a good programmer is one who understands that that higher knowledge is necessary.
In short - no, higher level math isn't necessary to being a good programmer (knowing higher level math won't automatically make you a good programmer, either), but if you want to do anything interesting with your programming skills, you should at least have a good foundation in algebra, trigonometry and geometry.