I've been at C++ programming for about 2 weeks now and am starting to come across some harder math concepts. My question is how much knowledge of math should I have before I seriously consider programming?
I am currently 15 and am taking Higher Algebra as my Math class right now at my High School. We are currently learning recursions. Do I have enough math knowledge or should I wait to consider programming until I hit Calculus?
Technically, you could start programming right after becoming fluent in Algebra. However, I would suggest learning about exponential functions and logarithms as well before getting yourself into the theory behind programming.
Calculus... has its uses in programming, but they aren't that many, relatively speaking. You'd be better off learning the basics of formal logic, combinatorics, and maybe a bit of statistics.
You don't really need too much math for basic programming. Graphics are another thing though, if you already get headaches from linear interpolations you should probably refine your math skills a bit before attempting anything in that direction. For general programming, it should take you quite some time to come across anything that requires more than linear algebra.
Of course, theoretical informatics (I just hate the term "computer science", sorry but I think it gives a completely false impression of what it is about) requires higher level math, but frankly you do not need to care about that as a beginner.
EDIT: You shouldn't worry too much about "easier" or "harder" languages. It's true that C++ has some trapholes for beginners, and the syntax tends to confuse people at first. But overall, people tend to exaggerate the difficulty of getting into C++ quite a bit. In the end, the concepts you deal with are what matters, and those are pretty much the same (though some introduce additional concepts) in all imperative programming languages (which means probably all you can think of at the moment).
C++ is definitely a harder language to start with, but I can't think of a similar-enough language that you could start from and not have a language shock during the transition (examples: Java, C#, C)...
Like hanst99 said, people tend to greatly exaggerate the difficulty of C++. I've also started VB.Net, and in my opinion that is actually harder than C++. I find C++ symbols easier to understand than languages that rely heavily on English.
C++ for loop:
1 2 3 4
for (int i = 0; i < number; i += 2)
{
...
}
VB.Net for loop:
1 2 3
For i As Integer = 0 To number Step 2
...
Next i
C++ integer declaration: int i;
VB.Net: Dim i As Integer
C++ output: cout << "Hello World";
VB.Net: Console.Writeline("Hello World")
C++ is so much prettier don't you think?
On the subject of math and programming, strong math backround is not necessary to be a good programmer, but it is helpful. They seem to use the same skills, so if your good at one, you're likely to be good at the other. I started programming last September/October and have used Calculus once since then. It had to do with the reflection of light on a curved surface.
P.S. Please correct my VB if it is wrong. I don't think it is, but like I said I'm not great at it.